Golden Ticket
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Un attacco Golden Ticket consiste nella creazione di un Ticket Granting Ticket (TGT) legittimo 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 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 impiegati 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 eseguita utilizzando strumenti come il modulo lsadump::dcsync in Mimikatz o lo script secretsdump.py di Impacket. È importante sottolineare che per intraprendere queste operazioni, sono tipicamente richiesti privilegi di amministratore di dominio o un livello di accesso simile.
Sebbene l'hash NTLM serva come metodo valido per questo scopo, è fortemente raccomandato di forgiare ticket utilizzando le chiavi Kerberos Advanced Encryption Standard (AES) (AES128 e AES256) per motivi di sicurezza operativa.
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 puoi ottenere una shell tramite winrm).
I modi più frequenti per rilevare un golden ticket sono ispezionando il traffico Kerberos sulla rete. Per impostazione predefinita, Mimikatz firma il TGT per 10 anni, il che risalterà come 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 inizio, la durata e il numero massimo di rinnovi (tutti in minuti).
Sfortunatamente, la durata del TGT non è registrata nei 4769, quindi non troverai queste informazioni nei registri eventi di Windows. Tuttavia, ciò che puoi correlare è vedere i 4769 senza un precedente 4768. Non è possibile richiedere un TGS senza un TGT, e se non c'è traccia di un TGT emesso, possiamo dedurre che è stato falsificato offline.
Per bypassare questo controllo di rilevamento, controlla i diamond tickets:
Diamond Ticket4624: Accesso all'account
4672: Accesso come amministratore
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4672} -MaxEvents 1 | Format-List –Property
Altri piccoli trucchi che i difensori possono fare è allertare sui 4769 per utenti sensibili come l'account amministratore di dominio predefinito.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)