Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Kerberoasting: Cos’è, Come Funziona e dimostrazione pratica

Alessandro Molinari : 7 Dicembre 2024 08:32

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.

Che cos’è il Kerberoasting?

Vuoi diventare un Ethical Hacker?
Non perdere i nostri corsi e scrivi subito su WhatsApp al numero
375 593 1011  per richiedere informazioni dicendo che hai trovato il numero sulle pagine di Red Hot Cyber

Supporta RHC attraverso:


Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

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.

Th3R3dP1ll
Direttore di Crociera per 6 mesi all'anno, parla Italiano, Inglese, Tedesco, Francese, Spagnolo, Portoghese, Russo e sta attualmente studiando Giapponese (quest'ultima senza grandi risultati... :) ). Detiene Comptia A+ , Network+ , Security+ Pentest+ ed eJPT e sta studiando per eCCPT e PNPT. Nel tempo libero fa sport e legge/ascolta libri dai 60 ai 120 minuti al giorno. Sostiene che con grandi poteri arrivino grandi responsabilitá, come quelle di educare chi ha difficoltà a navigare il mondo digitale ed eventualmente difenderlo/a dai “pirati” e dalle entità che danneggiano il pianeta e la libertà delle persone. Sostiene inoltre che il futuro naturale della vita biologica sia la fusione ed integrazione con il digitale, transizione che tra l'altro è già iniziata con il movimento del transumanesimo del quale é sostenitore.