7.4 - Kerberoasting
Kerberoasting
Kerberoasting targets service accounts with an assigned SPN. When a user requests access to a service, they receive a Service Ticket (ST) encrypted with the service account’s long-term password.
If an attacker can obtain the ST, they can attempt to crack the encryption offline to retrieve the service account password.
Kerberos Ticket Exchange for Services
3) TGS-REQ (Client -> KDC/TGS)
- TGT 🔑 Encrypted with KDC key
- Authenticator Data 🔑 Encrypted with TGS Session Key
4) TGS-REP (KDC/TGS -> Client)
- ST 🔑 Encrypted with Service key
- Service Session Key 🔑 Encrypted with TGS Session KeyUnlike AS-REP Roasting, Kerberoasting requires valid domain user credentials to request a service ticket.
Example: Exploiting Kerberoasting
Step 1: Create a User with an SPN
New-ADUser -Name "kerberoasting" -SamAccountName "kerberoasting" -UserPrincipalName "kerberoasting@dev-angelist" -AccountPassword (ConvertTo-SecureString -AsPlainText "Password123!" -Force) -Enabled $trueStep 2: Assign an SPN
Set-ADUser -Identity "kerberoasting" -ServicePrincipalNames @{Add="HTTP/kerberoasting.dev-angelist.lab"}Step 3: Verify the SPN

Step 4: Identify Kerberoastable Accounts

in this case there're two vulnerable users: 'kerberoasting' and 'angel'.
Step 5: Request Service Tickets for Kerberoasting
or using Rubeus:


Step 6: Crack the Service Ticket

Troubleshooting: Clock Skew Errors
If you encounter KRB_AP_ERR_SKEW (Clock skew too great), synchronize the clocks with:
Other Resources
Labs
Last updated