Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Arile! Scopri di più
Il Kerberoasting è una tecnica di Credential Access (TA0006) che sfrutta il funzionamento legittimo del protocollo Kerberos per estrarre hash di password di account di servizio, attaccabili poi offline senza generare ulteriori interazioni con il domain controller. Il meccanismo è elegante nella sua semplicità: qualsiasi utente di dominio autenticato — quindi in possesso di un Ticket Granting Ticket (TGT) valido — può richiedere un Ticket Granting Service (TGS) per qualsiasi Service Principal Name (SPN) registrato in Active Directory. Porzioni di questi ticket vengono cifrate con l'hash della password dell'account di servizio associato allo SPN.
Quando l'algoritmo di cifratura è RC4 (etype 0x17), l'hash risultante è un NTLM hash diretto, particolarmente vulnerabile al brute force offline. L'attaccante scarica il ticket, lo converte nel formato appropriato e lo sottopone a cracking con dizionari o regole. Le credenziali ottenute possono aprire la strada a Persistence, Privilege Escalation e Lateral Movement, specialmente quando gli account di servizio dispongono di privilegi elevati — situazione molto più comune di quanto dovrebbe essere.
La tecnica è documentata in 3 campagne, utilizzata da 3 gruppi APT e supportata da 6 tool offensivi noti. Il suo impatto è amplificato dal fatto che non richiede privilegi amministrativi: basta un qualsiasi account di dominio.
Il Kerberoasting è uno dei primi passi post-compromise in qualsiasi engagement Active Directory, e per buone ragioni: è silenzioso, non richiede privilegi elevati e produce risultati tangibili. La catena operativa si sviluppa in tre fasi: enumerazione degli SPN, richiesta dei TGS ticket e cracking offline degli hash.
Fase 1 — Enumerazione e richiesta ticket con Impacket (open source). Da una macchina Linux con accesso di rete al domain controller, Impacket è il punto di partenza naturale. Il modulo GetUserSPNs combina enumerazione e richiesta in un unico passaggio:
impacket-GetUserSPNs DOMINIO/utente:password -dc-ip 10.0.0.1 -request -outputfile kerberoast_hashes.txt
Questo comando si autentica al DC, enumera tutti gli account utente con SPN registrato (escludendo gli account macchina, già protetti da password complesse generate automaticamente) e richiede un TGS per ciascuno. L'output viene formattato direttamente per Hashcat o John the Ripper. Se si dispone di un TGT già ottenuto via pass-the-ticket, si può usare il flag -k -no-pass per autenticarsi via Kerberos senza password in chiaro.
Fase 2 — Approccio Windows con Rubeus (open source). Quando si opera da una sessione su un host Windows joined al dominio, Rubeus offre granularità superiore:
Rubeus.exe kerberoast /stats
Questo primo comando restituisce una panoramica degli account kerberoastable, indicando il tipo di cifratura supportato — informazione cruciale per prioritizzare i target. Gli account che supportano solo RC4 sono i più vulnerabili. Per la richiesta effettiva:
Rubeus.exe kerberoast /format:hashcat /outfile:hashes.txt
Rubeus utilizza il metodo KerberosRequestorSecurityToken.GetRequest per le richieste, integrandosi nativamente con le API Windows. Per evitare detection basate su volume, si può operare su singoli SPN con il flag /spn:MSSQLSvc/dbserver.dominio.local:1433.
Fase 3 — Alternative PowerShell. Il modulo Invoke-Kerberoast di PowerSploit (open source) — lo stesso utilizzato da Empire (open source) — offre un'opzione fileless:
Invoke-Kerberoast -OutputFormat Hashcat | Select-Object -ExpandProperty Hash
Fase 4 — Cracking offline. Con Hashcat (open source) gli hash di tipo Kerberos 5 TGS-REP etype 23 corrispondono al mode 13100:
hashcat -m 13100 hashes.txt wordlist.txt -r rules/best64.rule
Un buon dizionario combinato con regole di mutazione può spezzare password deboli in minuti. Per account di servizio configurati con password forti (25+ caratteri), il cracking diventa computazionalmente proibitivo — motivo per cui la mitigazione funziona. Brute Ratel C4 (a pagamento) offre una funzionalità integrata che decodifica i ticket Kerberos 5 e li converte direttamente in formato Hashcat, eliminando passaggi intermedi. Anche SILENTTRINITY (open source) contiene un modulo dedicato al Kerberoasting, utile come alternativa C2-native.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo