Kerberoast
Last updated
Last updated
Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente, impulsados por las herramientas comunitarias más avanzadas del mundo. Obtén acceso hoy:
Kerberoasting se centra en la adquisición de tickets TGS, específicamente aquellos relacionados con servicios que operan bajo cuentas de usuario en Active Directory (AD), excluyendo cuentas de computadora. La encriptación de estos tickets utiliza claves que provienen de contraseñas de usuario, lo que permite la posibilidad de cracking de credenciales offline. El uso de una cuenta de usuario como servicio se indica mediante una propiedad "ServicePrincipalName" no vacía.
Para ejecutar Kerberoasting, es esencial una cuenta de dominio capaz de solicitar tickets TGS; sin embargo, este proceso no requiere privilegios especiales, lo que lo hace accesible para cualquier persona con credenciales de dominio válidas.
Kerberoasting tiene como objetivo los tickets TGS para servicios de cuentas de usuario dentro de AD.
Los tickets encriptados con claves de contraseñas de usuario pueden ser crackeados offline.
Un servicio se identifica por un ServicePrincipalName que no es nulo.
No se necesitan privilegios especiales, solo credenciales de dominio válidas.
Las herramientas de Kerberoasting normalmente solicitan RC4 encryption
al realizar el ataque e iniciar solicitudes TGS-REQ. Esto se debe a que RC4 es más débil y más fácil de crackear offline utilizando herramientas como Hashcat que otros algoritmos de encriptación como AES-128 y AES-256.
Los hashes RC4 (tipo 23) comienzan con $krb5tgs$23$*
mientras que los AES-256 (tipo 18) comienzan con $krb5tgs$18$*
`.
Herramientas multifuncionales que incluyen un volcado de usuarios kerberoastable:
Enumerar usuarios susceptibles a Kerberoast
Técnica 1: Solicitar TGS y volcarlo de la memoria
Técnica 2: Herramientas automáticas
Cuando se solicita un TGS, se genera el evento de Windows 4769 - Se solicitó un ticket de servicio Kerberos
.
Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente, impulsados por las herramientas comunitarias más avanzadas del mundo. Obtén acceso hoy:
Si tienes suficientes permisos sobre un usuario, puedes hacerlo kerberoastable:
Puedes encontrar herramientas útiles para ataques de kerberoast aquí: https://github.com/nidem/kerberoast
Si encuentras este error de Linux: Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)
es debido a tu hora local, necesitas sincronizar el host con el DC. Hay algunas opciones:
ntpdate <IP del DC>
- Obsoleto a partir de Ubuntu 16.04
rdate -n <IP del DC>
El kerberoasting se puede llevar a cabo con un alto grado de sigilo si es explotable. Para detectar esta actividad, se debe prestar atención al ID de Evento de Seguridad 4769, que indica que se ha solicitado un ticket de Kerberos. Sin embargo, debido a la alta frecuencia de este evento, se deben aplicar filtros específicos para aislar actividades sospechosas:
El nombre del servicio no debe ser krbtgt, ya que esta es una solicitud normal.
Los nombres de servicio que terminan con $ deben ser excluidos para evitar incluir cuentas de máquina utilizadas para servicios.
Las solicitudes de máquinas deben ser filtradas excluyendo nombres de cuentas formateados como machine@domain.
Solo se deben considerar las solicitudes de tickets exitosas, identificadas por un código de fallo de '0x0'.
Lo más importante, el tipo de cifrado del ticket debe ser 0x17, que a menudo se utiliza en ataques de kerberoasting.
Para mitigar el riesgo de Kerberoasting:
Asegúrese de que las contraseñas de las cuentas de servicio sean difíciles de adivinar, recomendando una longitud de más de 25 caracteres.
Utilice Cuentas de Servicio Administradas, que ofrecen beneficios como cambios automáticos de contraseña y gestión delegada del Nombre Principal de Servicio (SPN), mejorando la seguridad contra tales ataques.
Al implementar estas medidas, las organizaciones pueden reducir significativamente el riesgo asociado con Kerberoasting.
En septiembre de 2022, un nuevo método para explotar un sistema fue revelado por un investigador llamado Charlie Clark, compartido a través de su plataforma exploit.ph. Este método permite la adquisición de Tickets de Servicio (ST) a través de una solicitud KRB_AS_REQ, que notablemente no requiere control sobre ninguna cuenta de Active Directory. Esencialmente, si un principal está configurado de tal manera que no requiere pre-autenticación—un escenario similar a lo que se conoce en el ámbito de la ciberseguridad como un ataque AS-REP Roasting—esta característica puede ser aprovechada para manipular el proceso de solicitud. Específicamente, al alterar el atributo sname dentro del cuerpo de la solicitud, el sistema es engañado para emitir un ST en lugar del estándar Ticket Granting Ticket (TGT) encriptado.
La técnica se explica completamente en este artículo: Publicación en el blog de Semperis.
Debe proporcionar una lista de usuarios porque no tenemos una cuenta válida para consultar el LDAP utilizando esta técnica.
Usa Trickest para construir y automatizar flujos de trabajo fácilmente, impulsados por las herramientas comunitarias más avanzadas del mundo. Obtén acceso hoy:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)