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.
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:
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.
Il Kerberoasting è un processo che si sviluppa in diversi step. Ecco come opera un attaccante:
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.
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.
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.
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.
Il motivo per cui il Kerberoasting è così diffuso tra gli attaccanti è che:
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:
Le password degli account di servizio dovrebbero rispettare requisiti di complessità elevati:
Inoltre, è consigliabile aggiornare periodicamente le password degli account di servizio.
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.
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.
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.
Alcuni account potrebbero avere SPN configurati erroneamente o inutilizzati. È importante fare un audit periodico degli SPN e rimuovere quelli non necessari.
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.
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.
Copyright @ 2003 – 2024 RED HOT CYBER
PIVA 16821691009