Kerberoasting

circle-info

Typically, Kerberoasting happens after compromising a domain user. However, according to new researcharrow-up-right, it is possible to perform this attack with an account susceptible to ASREPRoast! For an example of this attack vector check Rebound.

circle-exclamation

Kerberoasting is an attack on the Service Ticket (ST) and Service Principal Names (SPNs). SPNs are unique IDs that Kerberos uses to map a service instance, for example MySQL, to a service sign-in account, such as svc_mysql, in whose, often privileged, context the service is running. The ST is encrypted with the service's account NTLM hash, so it can potentially be cracked. Any domain user can request a ST from the DC for any SPN account.

triangle-exclamation
Figure 1: The Kerberos authentication process (image taken from herearrow-up-right).

Tools

Find and attack user accounts used as service accounts with Impacket:

If time sync errors occur, i.e., KRB_AP_ERR_SKEW(Clock skew too great):

The krb5tgs hashes can be cracked offline using Hashcat or JtR:

Targeted Kerberoast

If we have GenericWrite or GenericAll on a user object, we can set an SPN on that user account and then extract and crack the TGS.

circle-exclamation

Set a SPN for the target user (must be unique for the forest) using PowerView or the ActiveDirectory module:

Resources

Last updated

Was this helpful?