Seguridad

Tickets Kerberos – Diamond Ticket

 

Finalizando la entrega de Tickets Kerberos, damos paso a el Diamond Ticket.

Al igual que un Golden Ticket, un Diamond Ticket es un TGT que puede utilizarse para acceder a cualquier servicio como cualquier usuario.

Un Golden Ticket se crea de manera completamente offline, se cifra con el hash KRBTGT del dominio en cuestión y luego se pasa a una sesión de usuario para su uso. Debido a que los controladores de dominio no rastrean los TGT que han emitido legítimamente, aceptarán sin problemas cualquier TGT que esté cifrado con su propio hash de la cuenta KRBTGT.

Existen dos maneras habituales para detectar el uso de Golden Tickets:

  • Realizar una búsqueda de peticiones TGS-REQ que no tengan una petición AS-REQ correspondiente
  • Realizar una búsqueda de TGT que tengan valores no habituales, como una vida útil de 10 años, que establece Mimikatz por defecto


Un Diamond Ticket se genera de manera diferente, esto es, modificando los campos de un TGT legítimo emitido previamente por un DC. Esto se logra solicitando primero un TGT, descifrándolo con el hash de la cuenta KRBTGT del dominio, modificando los campos deseados del ticket y luego volviéndolo a cifrar. De este modo se evitan las dos detecciones anteriormente mencionadas para un Golden Ticket, ya que:

  • Los TGS-REQ tendrán un AS-REQ asociado
  • El TGT fue emitido por un DC, lo que significa que tendrá todos los detalles correctos de la política Kerberos del dominio. Aunque es cierto que estos detalles pueden falsificarse con precisión durante la creación de un Golden Ticket, es más complejo y está abierto a errores

Impacto:

Un Diamond Ticket, al igual que un Golden Ticket, permite acceso ilimitado y persistente a cualquier recurso dentro del dominio hasta que la clave krbtgt se cambie, lo cual puede ser un proceso complejo y disruptivo.

Explotación

Al igual que en el Golden Ticket, se parte del compromiso total del dominio

Creación del ticket

Para crear el Diamond Ticket, también vamos a hacer uso de la herramienta Rubeus, ejecutando el siguiente comando:

Rubeus.exe diamond /domain:north.sevenkingdoms.local /user:eddard.stark /password:FightP3aceAndHonor! /tickeruser:eddar.stark /ticketuserid:1111 /groups:512 /krbkey:42a38fe97bcf9c48190e5d77e48faa7d95b7fed838c8910845a86d66d78f188a /nowrap

  • Domain: Nombre del dominio 
  • User: Usuario con el que se pedirá el TGT a modificar
  • Password: Contraseña del usuario con el que se pedirá el TGT a modificar
  • Ticketuser: Usuario a impersonar
  • Ticketusersid: SID del usuario a impersonar
  • Groups: Grupos que queremos que se añadan en el ticket (512 -> Domain Admins)
  • Krbkey: Clave AES256 de la cuenta KRBTGT

Importar el ticket


Una vez obtenido el ticket, podemos comprobar que no tenemos acceso mediante SMB al Controlador de Dominio.

ls \winterfellc$

Para ganar acceso, primero importamos el ticket en nuestra sesión. Podemos hacer uso de Rubeus de nuevo para lograrlo:

Rubeus.exe createnetonly /program:C:WindowsSystem32cmd.exe /domain:NORTH /username:eddard.stark /password:PassFake /ticket: doIFvT[…]LkxPQ0FM


  • Program: Comando a ejecutar donde se inyectará el ticket
  • Domain: Nombre del dominio
  • Username: Usuario del dominio
  • Password: Contraseña del usuario. No es necesario conocer la contraseña real del usuario
  • Ticket: El ticket creado anteriormente

Una vez importado el ticket, podemos acceder al DC como podemos ver en la imagen.
ls \winterfellc$


Contramedidas:

  • Rotación de Contraseñas: Regularmente cambiar las contraseñas de las cuentas de servicio. De manera especial, asegurar que la cuenta KRBTGT esté protegida y que su contraseña sea cambiada periódicamente, aunque con cuidado debido al impacto significativo que se podría producir en el entorno.
  • Seguridad de las Cuentas de Servicio: Asegurar que las cuentas de servicio utilicen contraseñas fuertes y únicas.
  • Segmentación y Limitación de Privilegios: Aplicar el principio de privilegios mínimos y segmentar la red para limitar el alcance de cualquier posible compromiso, asegurando que el acceso a recursos críticos esté restringido y monitoreado.
  • Auditoría y Monitoreo: Configurar auditorías y monitoreo exhaustivo de la actividad de autenticación y uso de tickets Kerberos. Monitoreo y Detección Proactiva: Implementar soluciones de monitoreo y detección avanzadas que puedan identificar patrones anómalos y actividades sospechosas, incluyendo el análisis de tráfico de red, actividad de autenticación y uso de tickets Kerberos anómalos.
  • Auditorías y Revisiones Regulares: Realizar auditorías de seguridad regulares y revisiones de permisos para identificar y corregir cualquier configuración indebida o vulnerabilidad potencial.

Regresando un poco a la feria donde solemos usar muchos tickets os dejamos a modo resumen la siguiente tabla:

Característica Silver Ticket Golden Ticket Diamond Ticket
Objetivo Servicio específico Acceso a todo el dominio Acceso a todo el dominio
Credenciales necesarias Cuenta de servicio específico Administrador de dominio o KRBTGT. Administrador de dominio o KRBTGT.
Impacto Acceso limitado a un servicio Acceso ilimitado en el dominio Acceso ilimitado en el dominio
Complejidad del Ataque Moderada Alta Muy alta
Contramedidas Clave Rotación de contraseñas, monitoreo Protección de KRBTGT, monitoreo exhaustivo Protección de KRBTGT, monitoreo exhaustivo


Con esto concluimos el paseo por las diferentes atracciones. Nos vemos en la siguiente feria perdón, entrega.

Álvaro Temes, analista de ciberseguridad en Zerolynx.

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.