Home Kerberoasting
Post
Cancel

Kerberoasting

Kerberoasting

Kerberoasting is a technique that allows an attacker to steal the KRB_TGS ticket, that is encrypted with RC4, to brute force application services hash to extract its password. Kerberos uses NTLM hash of the requested Service for encrypting KRB_TGS ticket for given service principal names (SPNs). When a domain user sent a request for TGS ticket to domain controller KDC for any service that has registered SPN, the KDC generates the KRB_TGS without identifying the user authorization against the requested service. Therefore, attacker may abuse a valid Kerberos ticket-granting ticket (TGT) or sniff network traffic to obtain a ticket-granting service (TGS) ticket that may be vulnerable to brute force.

Enumeration

Impacket

To execute a Kerberoasting attack, we need to obtain the valid credential of an authenticated user, which in this case we have usman:uPassword@123. so we are going to use GetUserSPNs.py of impacket to request TGS for available spns.

kerbr

We have retrieved TGS from the domain controller and saved it in a file.

kerbr

BloodHound

We can get thesame result with bloodhound

kerbr

Exploitation

With the TGS retrieved, we can proceed to crack them using hashcat.

1
2
hashcat -a 0 -m 13100 [TGS] [wordlist]

kerbr

kerbr

Great!. We were able to crack them.

References

This post is licensed under CC BY 4.0 by the author.