Kerberoasting
Kerberoasting is a lateral movement and privilege escalation technique used in Active Directory environments. This attack specifically targets Service Principal Name (SPN) accounts.
How It Works
Services in Active Directory run under the context of service accounts, which often have elevated privileges.
Any authenticated user can request a Kerberos ticket for these service accounts.
The ticket (TGS-REP) is encrypted using the account's NTLM hash. This allows attackers to perform a brute-force attack on the ticket to recover the cleartext password.
Requirements
To perform a Kerberoasting attack, you need one of the following:
Cleartext password or NTLM hash of an account.
A shell in the context of a domain user account.
SYSTEM-level access on a domain-joined host.
Performing the Attack
From a Non-Domain Joined Linux Host
Use valid domain user credentials.
From a Domain-Joined Linux Host
Execute commands as root after retrieving the keytab file.
From a Domain-Joined Windows Host
Authenticate as a domain user.
Use a shell in the context of a domain account.
From a Non-Domain Joined Windows Host
Use
runas /netonlywith valid domain credentials.
As SYSTEM on a Domain-Joined Windows Host
Utilize SYSTEM-level access to execute commands.
Attacking from Linux
Attacking from Windows
Using PowerView
Using Rubeus
Hashing Algorithm
Kerberoasting tools typically request
RC4 encryptionbecause it is weaker and faster to crack.RC4 hashes begin with
$krb5tgs$23$*.AES-256 encrypted hashes start with
$krb5tgs$18$*and take longer to crack.
If
msds-supportedencryptiontypesis set to 0, RC4 encryption is used. If set to 24, only AES 128/256 encryption types are supported.
Notes
Windows Server 2019: Always provides tickets encrypted with the highest supported encryption level of the target account.
Windows Server 2016 or Earlier: Attackers can request RC4 encrypted tickets even if AES is enabled.
Last updated