Credenciales

Kerberoasting

Cómo un usuario de dominio normal extrae material de credenciales de cuentas de servicio y las descifra fuera de línea.

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.

Diagrama

Comandos

Enumerar cuentas con SPN registrado:

Impacket· Linux
GetUserSPNs.py <DOMAIN>/<USER>:<PASSWORD> -dc-ip <IP> -request -outputfile <FILE>

Desde una sesión ya autenticada:

PowerView· Windows
Get-DomainUser -SPN | Select-Object samaccountname,serviceprincipalname

Pedir y volcar los tickets en un paso:

Rubeus· Windows
Rubeus.exe kerberoast /outfile:<FILE>

Descifrar el hash capturado:

hashcat· Linux
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.

Siguiente

Puedes seguir leyendo aquí:

CredencialesExtraer credenciales de LSASS

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.