kerberoasting

Kerberoasting

Methodology

  1. Enumerate what user account running as a service account we want to kerberoast.

  2. Make sure it's not a honey pot account.

  3. Make sure is a user made account, we don't want machine accounts since they have long passwords.

  4. If OPSEC is needed kerberoast RC4-only accounts and add a delay between requesting tickets.

  5. Kerberoast the user account.

  6. Make sure we get back a RC4 hash and not an AES256 hash.

  7. Crack the ticket.

Powershell

[!INFO] Remember to follow the Powershell methodology

PowerView

Find users that have an SPN set

Get-DomainUser -SPN | select cn, serviceprincipalname

Find users that have an SPN set and are RC4-only

Request a ticket with SPN

Request a ticket with account name

Get all SPN account hashes. WARNING: EXTREMELY NOSIY!

ActiveDirectory module

Find users that have an SPN set

Binaries

[!INFO] Remember to follow the binaries methodology

Rubeus

Request a ticket

RC4-Only account (Avoids downgrade detection, skips AES supported tickets)

Get all SPN account hashes. WARNING: EXTREMELY NOISY!

Ticket Cracking

https://www.openwall.com/john/k/john-1.9.0-jumbo-1-win64.zip

Targeted Kerberoasting

If we have sufficient rights (GenericAll/GenericWrite), a target user's SPN can be set to anything (unique in the domain) instead of changing the password.

Methodology

  1. Check if we have Generic All/Generic Write over another user by checking groups it belongs to.

  2. Check if the user already has an SPN.

  3. Set the SPN.

  4. Kerberoast the user account.

  5. Make sure we get back a RC4 hash and not an AES256 hash.

  6. Crack the ticket.

Search for GenericAll/GenericWrite:

Check if the user has an SPN

Set the SPN

Request the ticket

Crack the ticket

Last updated