KERBEROASTING
Ataque que se aprovecha de la existencia de SPNs asociados a usuarios no generados por el equipo
Última actualización
Ataque que se aprovecha de la existencia de SPNs asociados a usuarios no generados por el equipo
Última actualización
Este ataque está relacionado a las malas prácticas:
2. Desactivar el Firewall de Windows.
3. Desactivar las protecciones del Antivirus de Windows Defender.
5. Asignar un SPN al usuario creado
7. Convertir un usuario en Administrador local de los clientes.
8. Generar carpetas compartidas con los administradores locales.
Vamos a explotar el siguiente esquema:
En un Directorio Activo hemos obtenido un acceso inicial con un usuario con bajos privilegios, por ejemplo, utilizando SMB Relay o NTLM Relay. (vgarcia:Password2).
Con este acceso inicial en mente vamos a tratar de crackear el Hash de un Ticket-Granting Service (TGS) expedido en nombre de un usuario que posee un SPN asociado.
En este ataque explotamos la capacidad de todos y cada uno de los usuarios autenticados de un dominio de solicitar un Ticket-Granting Service.
Recordemos que este TGS se encuentra encriptado con el secreto del servicio al que queremos acceder. Si este servicio es un usuario con un SPN asociado (un usuario que Active Directory entiende como un servicio) entonces su secreto será su contraseña y por lo tanto, el Hash obtenido se podrá crackear si la contraseña no es muy robusta.
Para entender mejor estos conceptos puede ver:
Es una herramienta de post-explotación que se aprovecha de protocolos y características propias de los entornos de Directorio Activo para obtener una gran cantidad de información sobre los mismos.
Utiliza Impacket y Powersploit Toolkit
Es una colección de clases de Python para trabajar con protocolos de red. Está pensada para obtener control a bajo nivel de los paquetes utilizados por algunos protocolos y, en algunos casos como SMBv1, la propia implementación del protocolo en sí mismo.
Concretamente para este ataque vamos a utilizar impacket-GetUserSPNs
Es una colección de scripts de Powershell orientados a ayudar a pentesters en su proceso. Éste repositorio se encuentra deprecated.
Es el crackeador de hashes más rápido del mundo actualmente. Puede aprovecharse de la pontecia de una GPU.
Vamos a comprobar el alcance de nuestros credenciales capturados.
Vamos a obtener TGS de los usuarios con SPNs asociados.
Vamos a crackear el Hash capturado en el TGS.
Vamos a comprobar el alcance de nuestros nuevos credenciales.
Vamos a entrar en el DC.
Como ya hemos dicho en la introducción, hemos conseguido unos credenciales en una fase preliminar y ya tenemos nuestro Foothold en la máquina.
vgarcia:Password2
Vamos a utilizar lo ya aprendido para comprobar el alcance de estos credenciales. Realizamos un Spraying en toda la red con estos credenciales:
cme smb RED -u 'USUARIO' -p 'PASSWORD'
Sin embargo, aunque no tenga privilegios, este usuario puede solicitar TGS igual que cualquier otro usuario del dominio.
A continuación aprovechando las funcionalidades de impacket-GetUserSPNs vamos a solicitar desde la cuenta del usuario que tenemos los TGS de los diferentes SPNs, a ver que encontramos.
sudo echo "IP_DC <tab> hackpoc <tab> hackpoc.local >> /etc/hosts
sudo impacket-GetUserSPNs -request hackpoc.local/vgarcia:Password2
A continuación tratamos de crackear el Hash utilizando Hashcat (por no utilizar siempre john).
Cogemos el Hash que hemos obtenido y lo copiamos en un archivo hash.txt
Para averiguar el modo en el que trabaja hashcat con estos hashes sacamos: hashcat --example-hashes | grep "krb5tgs" -B 2
Utilizamos hashcat para crackear el hash. hashcat -m 13100 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Los credenciales son SVC-SQLService:MYpassword123#
Volvemos a realizar el paso uno pero con los nuevos credenciales.
cme smb RED -u 'USUARIO' -p 'PASSWORD'
El usuario que hemos obtenido es un usuario administrador de dominio por lo que ahora tenemos capacidad de PSExec al DC.
impacket-psexec hackpoc/SVC-SQLService:MYpassword123#@192.168.1.100 cmd.exe
https://en.hackndo.com/kerberoasting/ https://seguridad-ofensiva.com/blog/directorio-activo/kerberoasting/ https://www.youtube.com/watch?v=KYFlvFfh-Js&list=PLlb2ZjHtNkpg2Mc3mbkdYAhEoqnMGdl2Z&index=2