Cos'e un Golden Ticket?
Un Golden Ticket e un Ticket Granting Ticket (TGT) Kerberos contraffatto che concede a un attaccante accesso illimitato e persistente a tutte le risorse di un dominio Active Directory, senza bisogno della password di alcun utente.
L'attacco sfrutta l'account KRBTGT, il cui hash viene utilizzato per firmare ogni TGT emesso nel dominio. Se un attaccante ottiene questo hash, puo creare TGT validi per qualsiasi utente, inclusi gli Amministratori di Dominio, con qualsiasi appartenenza a gruppi e qualsiasi data di scadenza.
⚠️ Critico: Un Golden Ticket rimane valido finche la password di KRBTGT non viene ruotata due volte. Reimpostare tutte le altre account del dominio non ha alcun effetto.
Come Funziona
L'autenticazione Kerberos si basa su una terza parte fidata: il Key Distribution Center (KDC), che viene eseguito su ogni Domain Controller.
Flusso normale:
- Un utente si autentica presso il KDC e riceve un TGT, firmato con l'hash di KRBTGT.
- L'utente presenta il TGT per ottenere Service Ticket (TGS) per risorse specifiche.
- I servizi validano il TGS e concedono l'accesso.
Nessun servizio convalida i TGT direttamente con il KDC al momento dell'utilizzo: si fidano della firma. Un TGT contraffatto, firmato con l'hash reale di KRBTGT, e indistinguibile da uno legittimo.
La Catena di Attacco
Fase 1 - Ottenere Privilegi di Domain Admin
L'attaccante ha bisogno di privilegi sufficienti per estrarre l'hash di KRBTGT, tipicamente compromettendo un Domain Controller o abusando dei diritti DCSync.
Fase 2 - Estrarre l'Hash di KRBTGT via DCSync
# Mimikatz
lsadump::dcsync /domain:corp.local /user:krbtgt
# Impacket (da Linux)
impacket-secretsdump -just-dc-user krbtgt corp.local/admin:[email protected]
Fase 3 - Contraffare il Golden Ticket
kerberos::golden /user:Administrator /domain:corp.local /sid:S-1-5-21-XXXXXXXXXX /krbtgt:HASH /ptt
| Parametro | Descrizione |
|---|---|
/user | Qualsiasi nome utente, reale o fittizio |
/sid | SID del dominio (dall'output DCSync) |
/krbtgt | Hash NTLM dell'account KRBTGT |
/endin | Durata del ticket in minuti — gli attaccanti usano spesso 87600 (10 anni) |
/ptt | Pass-the-ticket: iniettare direttamente nella sessione corrente |
Fase 4 - Accesso Totale e Persistenza
Il TGT contraffatto viene accettato da tutti i servizi nel dominio. L'attaccante puo accedere a qualsiasi condivisione, sessione RDP, creare account backdoor e distribuire GPO malevole.
Rilevamento
Event ID di Windows
| Event ID | Fonte | Cosa osservare |
|---|---|---|
| 4768 | DC - Security | Richieste TGT da IP insoliti o in orari anomali |
| 4769 | DC - Security | Cifratura RC4 (0x17) quando AES e lo standard |
| 4672 | DC - Security | Privilegi speciali assegnati ad account inattesi |
| 4624 | Workstation/Server | Accesso di rete (Tipo 3) da account senza attivita precedente |
Query SIEM (Elastic KQL)
event.code: "4769" AND
winlog.event_data.TicketEncryptionType: "0x17" AND
NOT winlog.event_data.ServiceName: ("krbtgt" OR "*$")
💡 Suggerimento: Applica la cifratura AES esclusiva nel tuo dominio. Qualsiasi traffico RC4 diventa immediatamente un avviso ad alta affidabilita.
Rimedio
⚠️ Prerequisito: Identifica e contieni il vettore di compromissione prima di ruotare KRBTGT.
Azioni Immediate
Ruotare la password di KRBTGT due volte, con un intervallo tra le rotazioni pari alla durata massima dei ticket (predefinito: 10 ore):
# https://github.com/microsoft/New-KrbtgtKeys.ps1
.\New-KrbtgtKeys.ps1 -Mode ModeSingle
# Attendere almeno 10 ore
.\New-KrbtgtKeys.ps1 -Mode ModeSingle
Hardening
| Controllo | Descrizione |
|---|---|
| Privileged Access Workstations (PAW) | Limitare gli accessi Domain Admin a workstation dedicate |
| Modello di Amministrazione a Livelli | Evitare l'esposizione delle credenziali Tier 0 nei sistemi Tier 1/2 |
| Gruppo Protected Users | Disabilita RC4, NTLM e il caching delle credenziali |
| Applicare AES | Impostare msDS-SupportedEncryptionTypes = 24 su KRBTGT |
| Audit diritti DCSync | Avvisare su account non-DC con DS-Replication-Get-Changes-All |
Come EtcSec Rileva Questo
EtcSec verifica le condizioni che rendono possibili gli attacchi Golden Ticket nel tuo ambiente.
Il rilevamento GOLDEN_TICKET_RISK segnala gli ambienti in cui la password dell'account KRBTGT non e stata ruotata di recente.
Controlli correlati:
- WEAK_KERBEROS_POLICY - impostazioni permissive ampliano la finestra di esposizione
- KERBEROS_RC4_FALLBACK - RC4 ancora consentito facilita la contraffazione e complica il rilevamento
- UNCONSTRAINED_DELEGATION - precursore comune degli attacchi Golden Ticket
ℹ️ Nota: EtcSec verifica automaticamente queste vulnerabilita in ogni audit AD. Esegui un audit gratuito per verificare se il tuo ambiente e esposto.
