Volver al blogSeguridad

    Cómo proteger tu Active Directory de ataques de Kerberoasting

    15 de febrero de 2023CiberstormSeguridad

    ¿Qué es el Kerberoasting?

    Kerberoasting es una técnica de ataque contra Active Directory que permite a un atacante con acceso a cualquier cuenta de dominio (incluso sin privilegios) extraer hashes de contraseñas de cuentas de servicio y crackearlas offline.

    El ataque explota el funcionamiento legítimo del protocolo Kerberos: cualquier usuario autenticado puede solicitar un ticket de servicio (TGS) para cualquier SPN (Service Principal Name) registrado en el dominio. Este ticket está cifrado con el hash de la contraseña de la cuenta de servicio, y el atacante puede intentar crackearlo por fuerza bruta sin generar alertas.

    ¿Por qué es tan peligroso?

    • No requiere privilegios elevados: cualquier usuario del dominio puede ejecutar el ataque.
    • No genera alertas obvias: solicitar un ticket TGS es una operación legítima de Kerberos.
    • El cracking es offline: una vez obtenido el ticket, el atacante puede intentar millones de combinaciones sin interactuar con el dominio.
    • Las cuentas de servicio suelen tener permisos elevados: muchas son Domain Admin o tienen acceso a bases de datos, servidores de ficheros, etc.

    Cómo funciona el ataque paso a paso

    1. El atacante compromete cualquier cuenta de usuario del dominio (por ejemplo, mediante phishing).
    2. Desde esa cuenta, enumera los SPNs registrados en el dominio:
    # Con PowerShell
    Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName
    1. Solicita tickets TGS para los SPNs encontrados.
    2. Exporta los tickets y los pasa por herramientas de cracking (como Hashcat o John the Ripper).
    3. Si la contraseña de la cuenta de servicio es débil, la obtiene en minutos u horas.
    4. Usa esa cuenta (normalmente con altos privilegios) para moverse lateralmente o escalar privilegios.

    Cómo proteger tu Active Directory

    1. Usa contraseñas largas y complejas en cuentas de servicio

    Las contraseñas de cuentas de servicio deben tener al menos 25-30 caracteres, generadas aleatoriamente. Una contraseña de 30 caracteres aleatorios es prácticamente imposible de crackear incluso con hardware potente.

    2. Usa Group Managed Service Accounts (gMSA)

    Las gMSA son cuentas de servicio gestionadas automáticamente por Active Directory. La contraseña se rota automáticamente cada 30 días y tiene 240 caracteres aleatorios. Es la mejor protección contra Kerberoasting.

    # Crear una gMSA
    New-ADServiceAccount -Name "svc-SQLServer" -DNSHostName "svc-sqlserver.dominio.local" -PrincipalsAllowedToRetrieveManagedPassword "SQL-Servers-Group"

    3. Audita los SPNs registrados

    Revisa periódicamente qué cuentas tienen SPNs y elimina los que ya no sean necesarios:

    Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName, PasswordLastSet | Select Name, ServicePrincipalName, PasswordLastSet

    4. Monitoriza las solicitudes de tickets TGS

    Configura la auditoría del evento 4769 (Kerberos Service Ticket Operations) en tus controladores de dominio. Un volumen inusual de solicitudes TGS desde una misma cuenta puede indicar un ataque de Kerberoasting.

    5. Implementa AES y desactiva RC4

    Kerberoasting es más efectivo cuando los tickets usan cifrado RC4 (basado en NTLM). Fuerza el uso de AES:

    • En la cuenta de servicio, marca la opción "This account supports Kerberos AES 128/256 bit encryption" en las propiedades de la cuenta.
    • Configura la GPO Network security: Configure encryption types allowed for Kerberos para permitir solo AES.

    6. Reduce los privilegios de las cuentas de servicio

    Aplica el principio de mínimo privilegio. Una cuenta de servicio no debería ser Domain Admin. Asigna solo los permisos estrictamente necesarios para su función.

    Herramientas de detección

    • BloodHound: visualiza las relaciones de privilegios en AD e identifica cuentas vulnerables a Kerberoasting.
    • Huntress ITDR: detecta automáticamente intentos de Kerberoasting y otros ataques contra la identidad.
    • Microsoft Defender for Identity: monitoriza actividad sospechosa en los controladores de dominio.

    Kerberoasting es uno de los ataques más comunes y efectivos contra Active Directory. Proteger tus cuentas de servicio es fundamental para la seguridad de tu infraestructura.