0Pricing
Ethical Hacking Academy · Lezione

Kerberoasting

Cracking dei ticket dei servizi

Kerberoasting è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 2 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 Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.

Che cos'è il Kerberoasting?

Il Kerberoasting è un attacco che prende di mira gli account di servizio in Active Directory. Qualsiasi utente di dominio autenticato può richiedere un ticket di servizio per un account che dispone di un Service Principal Name (SPN).

Parte di quel ticket è crittografata con l'hash della password dell'account di servizio, quindi l'attaccante può decifrarlo offline senza mai interagire con l'account.

Perché funziona

Quando un utente richiede un ticket di servizio (TGS), il KDC ne crittografa una parte con l'hash NTLM della password dell'account di servizio.

Poiché qualsiasi utente di dominio può richiedere questo ticket e non sono necessari privilegi speciali, l'attaccante raccoglie semplicemente i ticket e li decifra con calma sulla propria macchina.

Individuare gli account SPN

Per prima cosa, enumeri gli account per i quali sono impostati SPN. Di solito si tratta di account di servizio che eseguono servizi SQL, web o di altro tipo.

Gli account utente (non gli account computer) con SPN sono obiettivi ideali, perché le relative password sono spesso impostate da persone e raramente vengono cambiate.

# PowerView
Get-DomainUser -SPN | select samaccountname,serviceprincipalname

Richiedere ticket con Rubeus

Rubeus è un popolare strumento C# per l'abuso di Kerberos. Il comando kerberoast richiede ticket TGS per gli account SPN e li restituisce in un formato decifrabile.

Questo passaggio è discreto: appare come normale traffico Kerberos proveniente da un utente legittimo.

Rubeus.exe kerberoast /outfile:hashes.txt

Richiedere ticket con Impacket

Da Linux, Impacket tramite GetUserSPNs.py esegue lo stesso attacco da remoto utilizzando credenziali di dominio valide.

È utile durante incarichi esterni o di tipo assumed-breach, quando si dispone già di un set di credenziali con pochi privilegi.

GetUserSPNs.py corp.local/lowuser:Password1 -dc-ip 10.0.0.10 -request

Il formato dell'hash

Il ticket catturato viene salvato in un formato riconosciuto da Hashcat come modalità 13100 (Kerberos 5 TGS-REP etype 23, RC4).

Ogni hash inizia con $krb5tgs$23$, seguito dall'SPN, dall'account e dal blob crittografato. È questo il contenuto da fornire al cracker.

$krb5tgs$23$*svc_sql$CORP.LOCAL$MSSQL/...*$a1b2c3...

Cracking con Hashcat

Il cracking offline utilizza una wordlist (spesso con regole) sui captured hash. Poiché i ticket RC4 sono veloci da testare, le password deboli degli account di servizio vengono scoperte rapidamente.

Per questo le password degli account di servizio dovrebbero essere lunghe e casuali, idealmente gestite da Group Managed Service Accounts (gMSA).

hashcat -m 13100 hashes.txt rockyou.txt -r best64.rule

I tipi di crittografia sono importanti

Se l'account supporta RC4 (etype 23), il cracking è rapido. Se consente solo AES (etype 17/18), il cracking è molto più lento, ma comunque possibile (modalità Hashcat 19600/19700).

Gli attaccanti possono persino effettuare il downgrade del tipo di crittografia richiesto per forzare il ticket RC4, più debole.

Rilevamento e difesa

I difensori monitorano volumi insoliti di richieste TGS, soprattutto per i ticket RC4 (ID evento 4769). Le misure di mitigazione includono:

  • Password lunghe e casuali per gli account di servizio (almeno 25 caratteri).
  • L'utilizzo di account gMSA con rotazione automatica.
  • La disabilitazione di RC4 e l'imposizione di AES.

Perché gli account di servizio?

Gli account di servizio sono interessanti perché spesso appartengono a gruppi privilegiati, hanno password non aggiornate e non sono associati a una singola persona che potrebbe notare anomalie.

Comprometterne uno può fornire i privilegi di Domain Admin se l'account di servizio è stato configurato con privilegi eccessivi senza la dovuta attenzione.

Il suo ruolo in un attacco

Il Kerberoasting viene solitamente eseguito poco dopo aver ottenuto un qualsiasi punto d'appoggio nel dominio. Consiste in un'enumerazione a basso rumore seguita da cracking offline, quindi raramente attiva gli avvisi.

Un account di servizio compromesso offre spesso opportunità di movimento laterale o di escalation dei privilegi, rendendo questa tecnica una presenza standard nei pentest interni e nelle attività di red team.

Verifica rapida

Richiami il requisito fondamentale del Kerberoasting.

Riepilogo

Ora comprende il Kerberoasting:

  • Qualsiasi utente del dominio può richiedere TGS tickets per gli account con SPN.
  • I ticket sono crittografati con l'hash dell'account di servizio e sottoposti a cracking offline.
  • Strumenti: Rubeus, Impacket GetUserSPNs.py, con cracking tramite Hashcat mode 13100.
  • Si difenda con password lunghe, gMSA e crittografia esclusivamente AES.

Nel prossimo argomento riutilizzerà direttamente le credenziali con Pass-the-Hash.

Domande Frequenti

La lezione «Kerberoasting» è gratuita?

Sì — il testo completo di «Kerberoasting» è 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 Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.

Cosa imparerò in «Kerberoasting»?

Cracking dei ticket dei servizi Eserciti Ethical Hacking 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 Ethical Hacking Academy?

Non è richiesta alcuna esperienza precedente. Ethical Hacking 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 2 di 4.

Quanto tempo richiede la lezione «Kerberoasting»?

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 Ethical Hacking Academy?

Sì. Ogni lezione Ethical Hacking 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

  1. Fondamenti di AD
  2. Kerberoasting
  3. Pass-the-Hash
  4. BloodHound
← Torna a Ethical Hacking Academy