This currently just a testing/PoC repo. Eventually I will break out an actual package.
All testing is currently being conducted against GOAD, the AD lab created by Orange Cyberdefense.
- SMB + kerberos is hacky, needs testing and cleanup
- kerberos initiatior for smb may need tweaked for using TGT/ST. initContext tries to fetch an ST but we may already have one.
- auth with user/pass
- auth with user/hash
- auth with kerberos (pass/hash)
- auth with aes key
- saves TGT to a linux CCACHE file
- auth with user/pass
- auth with user/hash
- auth with kerberos (pass/hash/TGT)
- auth with aes key
- impersonation/S4U2Self/S4U2Proxy
- force forwardable
- saves ST to a linux CCACHE file
- SMB Connection
- auth with user/pass
- auth with user/hash
- auth with kerberos (pass/hash/ST/TGT)
- SMB client
- LDAP Connection
- auth with user/pass
- auth with user/hash
- auth with kerberos (pass/hash/ST/TGT)
- LDAP client
- findDelegation
- RBCD
- SMB transport (support from jfjallid/go-smb)
- breakout DCERPC funtionality so it can be used with other transports
- RPC client
- other transports (TCP/UDP)
Kerb stuff is based on forks of https://github.com/jcmturner/gokrb5, the version in this repo has added support for CCACHE files, mainly exporting and the ability to auth with an ST without a TGT.
- https://github.com/mfdooom/gokrb5 (adds Hash support)
- https://github.com/lorenz/gokrb5 (adds additional gssapi functionality for use with SMB)
SMB is currently based on:https://github.com/lorenz/go-smb2 see the newsmb branch for testing with https://github.com/jfjallid/go-smb
Other SMB projects to keep an eye on:
- https://github.com/hirochachacha/go-smb2
- https://github.com/lorenz/go-smb2
- https://github.com/stacktitan/smb
LDAP is based on a fork of https://github.com/go-ldap/ldap/v3 -> https://github.com/synzack/ldap/v3