<aside> ❓
Kerberoasting es una técnica de ataque después de comprometer un sistema, que consiste en descifrar contraseñas asociadas a cuentas de servicio en Microsoft Active Directory. El atacante se hace pasar por un usuario de cuenta con un nombre principal de servicio (SPN) y solicita un ticket relacionado con el servicio. Luego, descifran el hash de la contraseña vinculado a esa cuenta de servicio, inician sesión con las credenciales en texto plano y continúan el ataque.
</aside>
La meta de este ataque es de conseguir tickets TGS de servicios de los usuarios que los están ofreciendo dentro del dominio, no usuarios de “ordenadores”.
Parte de estos TGS están encriptados usando la contraseña de los usuarios que los ejecutan, como consecuencia estas credenciales podrían ser crackeadas offline.
Puedes saber que cuentas de usuario están siendo utilizadas en un servicio si la propiedad ServicePrincipalName
está activada.
La poder llevar a cabo este ataque, necesitamos una cuenta de dominio que pueda solicitar TGS, que esto se traduce en cualquiera dentro del dominio a no ser que se requiera privilegios especiales para un servicio en específico. Necesitas credenciales válidas dentro del dominio.
Voy a realizar un Kerberoasting a un DC, puedes configurarte tu propio entorno DC vulnerable utilizando este repositorio de aquí: https://github.com/safebuffer/vulnerable-AD
Vamos a crear un usuario Kerberoasteable, primero debemos crear un usuario en el panel de “Usuarios y equipos de Active Directory”.
He creado un usuario llamado SVC_SQLService
con una contraseña incluida en el rockyou.txt
Vamos a asignarles un valor SPN a este usuario.
Maravilloso, ahora podemos continuar con nuestra prueba.