Salta al contenuto principale


Kerberoasting: Cos’è, Come Funziona e dimostrazione pratica


Quando si parla di sicurezza informatica, uno degli obiettivi principali degli attaccanti è compromettere le credenziali di sistema. Tra le tecniche di attacco più avanzate utilizzate su reti Windows basate su Active Directory c’è il Kerberoasting.

Questo attacco sfrutta una vulnerabilità inerente al protocollo di autenticazione Kerberos per ottenere hash delle password di account privilegiati e tentare di decifrarli offline. In questo articolo vedremo cos’è il Kerberoasting, come funziona passo dopo passo e quali strategie implementare per proteggere la rete aziendale.

Prenderemo inoltre in esame una dimostrazione pratica effettuata sul laboratorio creato in precedenza.
27451848

Che cos’è il Kerberoasting?


Il Kerberoasting è una tecnica di attacco che prende di mira i Service Principal Names (SPN) utilizzati dal protocollo Kerberos per autenticare i servizi su un dominio Active Directory. Gli SPN rappresentano identificatori unici dei servizi di rete, ad esempio un database SQL o un server web, associati a specifici account di servizio.

Gli attaccanti sfruttano questa tecnica per richiedere e ottenere ticket di servizio (Ticket Granting Service – TGS) legittimi dagli SPN. Ogni ticket viene crittografato con la password hash dell’account del servizio associato e, una volta ottenuto, può essere sottoposto ad attacchi di forza bruta offline per decifrare l’hash della password.

In poche parole:

  1. L’attaccante ottiene i TGS emessi per un account di servizio.
  2. Utilizza questi ticket per estrarre l’hash crittografato della password.
  3. Esegue un attacco offline (forza bruta o attacco a dizionario) per tentare di decifrare la password dell’account del servizio.

Se l’attacco ha successo, l’attaccante ottiene accesso agli account privilegiati collegati ai servizi di rete, che spesso hanno credenziali elevate o addirittura amministrative.

Come Funziona il Kerberoasting?


Il Kerberoasting è un processo che si sviluppa in diversi step. Ecco come opera un attaccante:

Enumerazione degli SPN


L’attaccante, una volta ottenuto accesso a un dominio Active Directory, interroga il server Kerberos per una lista di SPN associati agli account di servizio. Ciò è possibile perché le informazioni sugli SPN sono facilmente accessibili da qualsiasi computer collegato al dominio, usando strumenti come PowerShell o tool di attacco già pronti come impacket, Rubeus o SetSPN.

Ad esempio, un comando PowerShell molto comune è:

Get-AdUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName

Questo comando elenca tutti gli utenti con un SPN associato.

Richiesta di Ticket TGS


Dopo aver identificato gli SPN, l’attaccante richiede al server Kerberos un ticket TGS associato a uno di questi servizi. La richiesta può essere fatta utilizzando un account legittimo all’interno del dominio (ad esempio un utente con credenziali valide ma con privilegi bassi).

Il ticket TGS restituito dal server Kerberos è crittografato con l’hash della password dell’account di servizio.

Estrazione dell’Hash


Una volta ricevuto il ticket TGS, l’attaccante usa tool di hacking come Rubeus, Impacket o Mimikatz per estrarre l’hash crittografico associato al ticket. Poiché l’hash è crittografato con la password dell’account di servizio, l’attaccante può ora tentare di decifrarlo.

Attacco di Decifrazione Offline


L’hash ottenuto viene sottoposto ad attacchi di forza bruta o a dizionario. Strumenti come Hashcat o John the Ripper vengono usati per decifrare la password. La sfida sta nella robustezza della password: più è complessa, più tempo ci vorrà per decifrarla.

Una volta decifrata, l’attaccante ottiene la password dell’account di servizio. Questo può portare all’escalation di privilegi, poiché molti account di servizio hanno privilegi elevati o accedono a risorse critiche della rete.

Perché il Kerberoasting è così efficace?


Il motivo per cui il Kerberoasting è così diffuso tra gli attaccanti è che:

  • Non richiede privilegi elevati iniziali: Anche un utente con privilegi bassi può richiedere TGS per la maggior parte degli SPN.
  • Le password di servizio sono spesso deboli: È comune che gli account di servizio abbiano password datate, riutilizzate o non aggiornate, agevolando la decifrazione dell’hash.
  • L’attacco avviene offline: Una volta ottenuto il ticket TGS, l’intero processo di decifrazione può essere eseguito offline, senza alcun rischio che l’attività venga rilevata in tempo reale.


Come Proteggersi dal Kerberoasting


Per difendere la propria rete da attacchi di tipo Kerberoasting è fondamentale adottare una serie di contromisure tecniche e gestionali. Ecco alcune delle strategie più efficaci:

Password Sicure per gli Account di Servizio


Le password degli account di servizio dovrebbero rispettare requisiti di complessità elevati:

  • Lunghezza minima di almeno 25 caratteri.
  • Uso di combinazioni di lettere maiuscole, minuscole, numeri e simboli.
  • Valutare l’utilizzo di password generate in modo casuale.

Inoltre, è consigliabile aggiornare periodicamente le password degli account di servizio.

Utilizzo di Managed Service Accounts (MSAs)


Gli account di servizio gestiti (MSA) di Windows e i group-managed service accounts (gMSA) automatizzano la gestione delle password degli account di servizio, rendendole di fatto non decifrabili. Questo elimina una delle vulnerabilità principali sfruttate dal Kerberoasting.

Limitare i Privilegi degli Account di Servizio


Gli account di servizio dovrebbero essere configurati seguendo il principio del minimo privilegio necessario. Questo significa che gli account di servizio non dovrebbero mai avere privilegi amministrativi, a meno che non siano assolutamente necessari.

Monitoraggio e Rilevamento di Attività Sospette


Implementare sistemi di monitoraggio (SIEM) che rilevino comportamenti sospetti nel dominio, come un numero insolitamente elevato di richieste TGS o richieste mirate a determinati SPN.

Disabilitare SPN Non Necessari


Alcuni account potrebbero avere SPN configurati erroneamente o inutilizzati. È importante fare un audit periodico degli SPN e rimuovere quelli non necessari.

Abilitare la Protezione AES


Kerberos supporta diversi tipi di cifratura, tra cui RC4 e AES. Configurare i domain controller per utilizzare esclusivamente AES encryption per proteggere i ticket TGS può ridurre notevolmente il rischio di attacchi Kerberoasting.

Conclusione


Il Kerberoasting è una tecnica avanzata ma relativamente comune tra gli attaccanti mirati a reti Windows. La sua efficacia deriva dalla possibilità di sfruttare informazioni disponibili pubblicamente sul dominio Active Directory e di condurre il cracking delle password offline, senza rischiare di essere rilevati immediatamente. Tuttavia, seguendo le pratiche di sicurezza consigliate, come password robuste, utilizzo di MSAs, monitoraggio continuo e limitazione dei privilegi, è possibile ridurre drasticamente il rischio di subire questo tipo di attacco.

L'articolo Kerberoasting: Cos’è, Come Funziona e dimostrazione pratica proviene da il blog della sicurezza informatica.