Explícame el Kerberoasting paso a paso: cómo funciona, por qué es posible y cómo lo detienen los defensores.
Respuesta breve
Cualquier usuario autenticado del dominio puede solicitar un ticket de servicio Kerberos (TGS) para cualquier cuenta con un SPN. Ese ticket se cifra con el hash de contraseña NTLM de la cuenta de servicio, así que lo extraes y crackeas la contraseña sin conexión — sin necesidad de acceso privilegiado para empezar, y es casi silencioso.
El Kerberoasting es uno de los ataques de Active Directory más fiables porque abusa de Kerberos funcionando exactamente como fue diseñado. Solo necesita una única cuenta de dominio válida para empezar, por eso es un básico de los compromisos internos.
Cómo lo prepara Kerberos
En Kerberos, los servicios se identifican mediante un Service Principal Name (SPN). Cuando un usuario quiere usar un servicio, el Key Distribution Center emite un TGS (ticket de servicio) cifrado con el hash de la contraseña de la cuenta de servicio (su clave NTLM/RC4, o clave AES). La idea es que solo el servicio legítimo, que conoce su propia contraseña, pueda descifrar y validar el ticket.
El abuso
El fallo está en quién tiene permiso para pedir. Cualquier usuario autenticado del dominio puede solicitar un TGS para cualquier SPN — el KDC no comprueba si realmente estás autorizado a usar ese servicio. Así que un atacante:
- Enumera las cuentas con SPN (a menudo cuentas de usuario normales que ejecutan servicios — SQL, IIS, etc.) vía LDAP.
- Solicita los tickets TGS para ellas (herramientas: Rubeus, el
GetUserSPNs.pyde Impacket). - Extrae el ticket cifrado y lo crackea sin conexión con Hashcat. Si la contraseña de la cuenta de servicio es débil, cae en horas.
Lo crucial es que el crackeo ocurre sin conexión, así que no hay inicios de sesión fallidos, ni bloqueos, y un ruido mínimo. Los atacantes suelen solicitar tickets RC4 (etype 23) porque son más rápidos de crackear que AES.
Por qué las cuentas de servicio son el premio
Las cuentas de servicio frecuentemente tienen contraseñas antiguas, sin caducidad y débiles y están sobreprivilegiadas — a veces administradores del dominio. Crackea una y puedes saltar directamente a un privilegio alto.
Defensas
- Usa contraseñas largas y aleatorias (25+ caracteres) para las cuentas de servicio, o group Managed Service Accounts (gMSA) que rotan automáticamente.
- Impón AES y deshabilita RC4 donde sea posible.
- Aplica el mínimo privilegio a las cuentas de servicio.
- Detecta picos de Event ID 4769, especialmente solicitudes de tickets RC4 desde un solo usuario.
Qué buscan los entrevistadores
Que expliques por qué funciona (cualquiera puede solicitar un TGS, crackeo sin conexión = sigilo), que nombres herramientas reales, señales el ángulo de RC4 y pivotes con soltura hacia las gMSA y la monitorización del 4769 como solución.
Posibles preguntas de seguimiento
- ¿Por qué solicitar tickets cifrados en RC4 (etype 23) facilita el crackeo?
- ¿Qué hace de las cuentas de servicio objetivos tan buenos, y cómo ayudan las gMSA?
- ¿Cómo detectaría un defensor el Kerberoasting en sus registros?