AS-REP Roasting
AS-REPRoasting es uno de los ataques más básicos contra Kerberos y tiene como objetivo cuentas sin preautenticación habilitada. Aunque es poco común en entornos bien configurados, es uno de los pocos ataques de Kerberos que no requiere autenticación previa.
El único dato que el atacante necesita es el nombre de usuario de la víctima, algo que puede obtener mediante técnicas de enumeración. Con esta información, el atacante envía una solicitud AS_REQ (Authentication Service Request) al KDC (Key Distribution Center), haciéndose pasar por el usuario.
Dado que la preautenticación está deshabilitada, el KDC responde con un AS_REP, que incluye datos cifrados con una clave derivada de la contraseña del usuario. El atacante puede capturar este mensaje y realizar un ataque de fuerza bruta o cracking offline para recuperar la contraseña.
¿Cómo funciona?
Las solicitudes de Ticket Granting Ticket (TGT) en Kerberos están cifradas utilizando la marca de tiempo actual (timestamp) y una clave derivada de la contraseña del usuario. Cuando el Controlador de Dominio (DC) recibe esta solicitud, intenta descifrarla para verificar que la contraseña utilizada es correcta. Si la autenticación es exitosa, el KDC emite un TGT al usuario mediante un mensaje AS-REP, junto con una clave de sesión cifrada con la contraseña del usuario.
Si una cuenta tiene la preautenticación deshabilitada, un atacante puede solicitar un TGT sin necesidad de credenciales previas. En este caso, el KDC enviará un AS-REP con el TGT cifrado, que el atacante puede capturar y luego descifrar offline utilizando herramientas como Hashcat o John the Ripper para recuperar la contraseña del usuario.
En resumen, cualquier cuenta con la opción “No requiere Kerberos Preauthentication” habilitada es vulnerable a este ataque, permitiendo a un atacante obtener su TGT y descifrarlo fuera de línea.
Desde Linux
Se puede utilizar el script GetNPUsers.py de Impacket para recolectar mensajes AS_REP sin pre-autenticacin desde una máquina Linux. Los siguientes comandos permiten utilizar una lista de usuarios o dadas una credenciales, realizar una consulta LDAP para obtener usuarios sobre los que realizar el ataque:
AS-REPRoasting es similar a Kerberoasting, pero en lugar de atacar las respuestas TGS-REP, se dirige a las respuestas AS-REP.
impacket-GetNPUsers -usersfile ad_users.txt hacklab.local/ -dc-ip 192.168.56.10 -format hashcat -outputfile hashes.asreproast -no-pass
Desde Windows
Podemos usar Rubeus para llevar a cabo este ataque desde una máquina Windows:
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.asreproast
Crackeando el ASP_REP
hashcat -m 18200 --force -a 0 hashes.asreproast rockyou.txt
john --wordlist=rockyou.txt hashes.asreproast
Mitigación del ataque AS-REP Roast
-
Habilitar la preautenticación Kerberos:
- En PowerShell, podemos uitilizar el cmdlet Set-ADUser -KerberosEncryptionType None para verificar y ajustar la configuración.
- En Active Directory Users and Computers (ADUC), en la sección de propiedades del usuario, seleccionar la pestaña “Cuenta” y asegúrarse de que la opción “No requerir preautenticación Kerberos” no esté marcada.
-
Utilizar contraseñas robustas.
- Revisión de políticas de seguridad.