Attacchi Kerberoasting e Golden Ticket
Scopra come il Kerberoasting estragga offline gli hash dei ticket di servizio attaccabili e come gli attacchi Golden Ticket garantiscano accesso Kerberos illimitato utilizzando un hash KRBTGT compromesso.
Attacchi Kerberoasting e Golden Ticket è una lezione Security+ Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Security+ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Security+ Academy include 4 lezioni in totale.
Architettura dei ticket di servizio Kerberos
Per comprendere gli attacchi Kerberoasting e Golden Ticket, è necessario avere un quadro chiaro dell'emissione dei ticket di servizio Kerberos. Quando un client vuole accedere a un servizio, ad esempio un server SQL, presenta il proprio Ticket Granting Ticket (TGT) al Ticket Granting Service (TGS) del controller di dominio. Il TGS emette un Service Ticket crittografato con l'hash della password dell'account di servizio. Il client presenta questo ticket al servizio, che lo decifra con il proprio hash per verificarne l'autenticità. Ciò significa che i ticket di servizio sono crittografati con la credenziale del servizio di destinazione: un dettaglio fondamentale sfruttato da Kerberoasting.
Kerberoasting: cracking offline delle password
Kerberoasting è un attacco che sfrutta il fatto che qualsiasi utente di dominio autenticato può richiedere un ticket di servizio Kerberos per qualsiasi servizio registrato con uno SPN (Service Principal Name). L'attaccante richiede ticket di servizio per gli account con SPN, cattura i dati binari crittografati dei ticket e poi tenta di effettuare il cracking della password dell'account di servizio offline, senza ulteriori interazioni con Active Directory e senza rischiare il blocco dell'account. Gli account di servizio spesso hanno password deboli, password obsolete impostate prima dell'introduzione dei moderni requisiti di complessità o password che non scadono mai, risultando quindi altamente vulnerabili al cracking offline.
# Step 1: Find accounts with SPNs (attack setup)
Get-ADUser -Filter {ServicePrincipalName -ne '$null'} -Properties ServicePrincipalName
# Step 2: Request service tickets (using Impacket GetUserSPNs.py)
# GetUserSPNs.py domain/user:password -dc-ip 192.168.1.1 -request
# Outputs $krb5tgs$ hashes ready for cracking with HashcatCracking offline dei ticket Kerberos
Gli hash dei ticket di servizio catturati tramite Kerberoasting sono crittografati per impostazione predefinita con RC4-HMAC (NTLM hash), per motivi di compatibilità; questo algoritmo è più rapido da sottoporre a cracking rispetto ai ticket Kerberos AES-256. L'attaccante inserisce gli hash $krb5tgs$23$ catturati in Hashcat o John the Ripper per eseguire attacchi offline basati su dizionario e brute force. Wordlist comuni come RockYou, insieme a set di regole, possono violare la maggior parte delle password deboli degli account di servizio in pochi minuti o alcune ore utilizzando hardware GPU consumer. Una volta violata la password, l'attaccante dispone della password in chiaro dell'account di servizio e può utilizzarla per autenticarsi direttamente.
# Crack Kerberoasted hashes with Hashcat
hashcat -m 13100 kerberoast_hashes.txt rockyou.txt \
-r best64.rule \
--force
# Mode 13100 = Kerberos 5, etype 23 (RC4-HMAC service ticket)
# Mode 19600 = Kerberos 5, etype 17 (AES-128) - slower
# Mode 19700 = Kerberos 5, etype 18 (AES-256) - slowestDifendersi da Kerberoasting
Le misure di mitigazione contro Kerberoasting riguardano tre aree: robustezza delle password — gli account di servizio dovrebbero avere password lunghe e casuali, di almeno 25 caratteri, in grado di resistere al cracking offline anche con cluster di GPU; Group Managed Service Accounts (gMSA) — Windows gestisce automaticamente le password gMSA, costituite da valori casuali di 240 caratteri e ruotate ogni 30 giorni, rendendo Kerberoasting computazionalmente impraticabile; crittografia solo AES — configuri gli account di servizio in modo che richiedano ticket AES-256 (msDS-SupportedEncryptionTypes), che sono molto più lenti da sottoporre a cracking rispetto a RC4; e rilevamento — generi avvisi in caso di volumi insoliti di richieste TGS, Event ID 4769, per account di servizio provenienti da workstation non standard.
# Create a Group Managed Service Account (gMSA) - Kerberoasting immune
New-ADServiceAccount -Name 'svc-sql' \
-DNSHostName 'sqlserver.domain.com' \
-PrincipalsAllowedToRetrieveManagedPassword 'SQLServers'
# Install on the SQL server
Install-ADServiceAccount -Identity 'svc-sql'L'account KRBTGT: il custode di Kerberos
L'account KRBTGT è un account speciale integrato in Active Directory, il cui hash della password viene utilizzato per firmare e crittografare tutti i TGT Kerberos del dominio. Il controller di dominio usa l'hash KRBTGT per creare i TGT e convalidare quelli in ingresso. Per questo motivo, l'hash KRBTGT è la credenziale di maggior valore in un ambiente Active Directory: chiunque ne sia in possesso può creare ticket Kerberos arbitrari e completamente validi per qualsiasi utente, inclusi utenti inesistenti, con qualsiasi appartenenza ai gruppi e per qualsiasi durata. In molte organizzazioni la password KRBTGT non è mai stata modificata, poiché la procedura di modifica richiede un coordinamento accurato.
# Check when KRBTGT password was last changed
Get-ADUser -Identity KRBTGT -Properties PasswordLastSet |
Select-Object Name, PasswordLastSet
# If PasswordLastSet is years ago, the domain is vulnerable to persistent Golden TicketsAttacco Golden Ticket: falsificazione dei TGT
Un attacco Golden Ticket crea un TGT Kerberos falsificato e completamente valido utilizzando l'hash della password dell'account KRBTGT compromesso. L'attaccante usa il comando kerberos::golden di Mimikatz per generare un TGT per qualsiasi utente, spesso un account fittizio simile a Administrator, con qualsiasi appartenenza ai gruppi, in genere includendo Domain Admins, e con qualsiasi periodo di validità, comunemente impostato a 10 anni. Questo ticket falsificato è indistinguibile da un ticket legittimo per il controller di dominio, poiché è crittograficamente valido: è stato firmato con l'hash KRBTGT reale. Un Golden Ticket offre un controllo completo, persistente e illimitato del dominio.
# Mimikatz Golden Ticket creation (attacker perspective - for defender awareness)
# Requires: domain name, domain SID, KRBTGT hash, target username
# mimikatz# kerberos::golden \
# /domain:corp.example.com \
# /sid:S-1-5-21-1234567890-1234567890-1234567890 \
# /krbtgt:aabbccddeeff00112233445566778899 \
# /user:GoldenTicketUser \
# /groups:512,519 \
# /ticket:golden.kirbiPerché i Golden Ticket persistono così a lungo
I Golden Ticket sono particolarmente pericolosi perché persistono anche dopo che l'attacco originario è stato scoperto e ripulito. Modificare la password dell'utente preso di mira non serve a nulla: il ticket è stato falsificato e non si basa sulle credenziali reali dell'utente. L'unica correzione consiste nel modificare due volte la password KRBTGT, una volta per invalidare i ticket esistenti e una seconda volta perché in ogni momento esistono due chiavi KRBTGT utilizzate per la rotazione. Tuttavia, la modifica della password KRBTGT richiede un coordinamento accurato: se eseguita in modo improprio, interrompe l'autenticazione Kerberos sull'intero dominio. Molte organizzazioni sono riluttanti a eseguire questa correzione e lasciano quindi validi i Golden Ticket a tempo indeterminato.
# KRBTGT password reset procedure (Microsoft New-KrbtgtKeys.ps1)
# Step 1: Reset KRBTGT password on primary DC
# Step 2: Wait for AD replication (typically 24-48 hours)
# Step 3: Reset KRBTGT password again to invalidate all old tickets
# Step 4: Verify Kerberos authentication working across all sites
# This invalidates ALL existing Kerberos tickets domain-wideAttacco Silver Ticket: falsificazione specifica per il servizio
Un Silver Ticket è simile a un Golden Ticket, ma ha un ambito più limitato. Utilizza l'hash dell'account del servizio di destinazione, anziché KRBTGT, per falsificare un ticket di servizio valido esclusivamente per quel servizio. Ad esempio, disponendo dell'hash dell'account di servizio di un server SQL, l'attaccante può falsificare un ticket di servizio che gli conceda qualsiasi accesso a quel server SQL. I Silver Ticket sono più difficili da rilevare rispetto ai Golden Ticket perché aggirano completamente il controller di dominio: il ticket falsificato passa direttamente dall'attaccante al servizio, senza contatti con il KDC. La mitigazione richiede la protezione degli hash degli account di servizio e il monitoraggio di modelli di accesso anomali ai servizi sensibili.
Ottenere l'hash KRBTGT: attacco DCSync
Gli attaccanti ottengono l'hash KRBTGT utilizzando l'attacco DCSync, che sfrutta il protocollo legittimo di replica del dominio di Active Directory. Il Directory Replication Service (DRS) consente ai controller di dominio di sincronizzare i dati di AD, inclusi gli hash delle password, tra loro. Un attaccante con privilegi DCSync, in genere Domain Admin, Enterprise Admin o qualsiasi account con autorizzazioni Replicating Directory Changes All, può impersonare un controller di dominio e richiedere la replica dell'hash di qualsiasi account. Il comando lsadump::dcsync di Mimikatz esegue questo attacco interamente tramite la rete: non è necessario eseguire codice direttamente sul DC.
# DCSync to extract KRBTGT hash (attacker perspective)
# mimikatz# lsadump::dcsync /domain:corp.example.com /user:KRBTGT
# Output includes:
# Hash NTLM: <krbtgt NT hash>
# Hash SHA1: <krbtgt SHA1 hash>
# Key: <AES-256 key>
# Detection: Event ID 4662 from a non-DC source (replication event from workstation = suspicious)Rilevare l'attività dei Golden Ticket e dei Silver Ticket
Rilevare l'utilizzo dei Golden Ticket è difficile, ma possibile analizzando le anomalie nei metadati dei ticket Kerberos: ticket con durate insolitamente lunghe, poiché la durata reale di un TGT è di 10 ore mentre i Golden Ticket sono spesso impostati a 10 anni; Event ID 4769 in cui il tipo di crittografia del ticket è RC4 (0x17), quando AES-256 (0x12) è l'impostazione predefinita del dominio; nomi di account nei ticket che non esistono in AD; e assenza di Event ID 4768, la richiesta del TGT, prima di Event ID 4769, la richiesta del ticket di servizio: i Golden Ticket saltano la fase di richiesta del TGT perché il TGT stesso è falsificato. Una regola di Microsoft Sentinel o Defender for Identity può segnalare automaticamente questi schemi.
# Detection: Golden Ticket indicator - no corresponding TGT request
# Normal flow: Event 4768 (TGT requested) -> Event 4769 (service ticket)
# Golden Ticket: Event 4769 WITHOUT preceding 4768 from same host
# Also alert on: TGT encryption type = RC4 in AES-only environments
# Splunk: index=windows EventCode=4769 TicketEncryptionType=0x17
# NOT [expected legacy systems]Prevenire gli attacchi basati su Kerberos
Una difesa a più livelli contro gli attacchi Kerberos prevede di: utilizzare gMSA per tutti gli account di servizio, rendendo impraticabile Kerberoasting; abilitare la crittografia solo AES per tutti gli account, in particolare per quelli di servizio ad alto valore, così da massimizzare la difficoltà del cracking; limitare i privilegi DCSync — verificare gli account con autorizzazioni di replica e rimuovere quelle non necessarie; abilitare Microsoft Defender for Identity, precedentemente ATA, che offre il rilevamento delle minacce basato su Kerberos, inclusi avvisi in tempo reale per Golden Ticket, Kerberoasting e DCSync; e implementare un modello di amministrazione a livelli, in modo che, anche se un account di livello 2 viene compromesso, non possa essere utilizzato per raggiungere credenziali a livello di controller di dominio.
# Audit DCSync-capable accounts (these should be very few)
Get-ADUser -Filter * -Properties 'msDS-AllowedToDelegateTo' |
Where {$_.DistinguishedName -notlike '*Domain Controllers*'}
# Check replication permission holders using PowerView:
# Get-ObjectAcl -DistinguishedName 'DC=domain,DC=com' \
# -ResolveGUIDs | \
# Where {$_.ActiveDirectoryRights -like '*ExtendedRight*'}Verifica rapida
Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che: Kerberoasting richiede ticket di servizio per account registrati con SPN e li sottopone a cracking offline — è contrastato da gMSA, password robuste e crittografia solo AES; gli attacchi Golden Ticket utilizzano l'hash KRBTGT per falsificare TGT illimitati, fornendo un controllo persistente del dominio che continua fino alla doppia reimpostazione della password KRBTGT; e gli attacchi DCSync replicano l'hash KRBTGT attraverso la rete senza eseguire codice sul DC, rendendo necessaria una rigorosa verifica dei privilegi DCSync. Prossimamente analizzeremo il framework MITRE ATT&CK per mappare le tecniche degli attaccanti alle difese.
Domande Frequenti
La lezione «Attacchi Kerberoasting e Golden Ticket» è gratuita?
Sì — il testo completo di «Attacchi Kerberoasting e Golden Ticket» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Security+ Academy, passa a CoddyKit PRO. Il corso Security+ Academy include 4 lezioni in totale.
Cosa imparerò in «Attacchi Kerberoasting e Golden Ticket»?
Scopra come il Kerberoasting estragga offline gli hash dei ticket di servizio attaccabili e come gli attacchi Golden Ticket garantiscano accesso Kerberos illimitato utilizzando un hash KRBTGT comprom… Eserciti Security+ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Security+ Academy?
Non è richiesta alcuna esperienza precedente. Security+ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Attacchi Kerberoasting e Golden Ticket»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Security+ Academy?
Sì. Ogni lezione Security+ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Ciclo di vita degli APT: dall'accesso iniziale alla persistenza
- Movimento laterale: Pass-the-Hash e Pass-the-Ticket
- Attacchi Kerberoasting e Golden Ticket
- Framework MITRE ATT&CK per rilevamento e risposta