Per lanciare un attacco informatico i criminali fanno generalmente leva su vulnerabilità di sicurezza irrisolte: in molti casi l’aggressione diventa possibile perché gli amministratori IT o i semplici utenti non hanno installato patch importanti.
Un attacco informatico può tuttavia essere figlio dell’adozione di misure di sicurezza troppo blande, di errori o semplici “leggerezze” nella configurazione dei sistemi.
Cos’è l’attacco Kerberoasting
Kerberoasting è un attacco che prende di mira il protocollo di rete Kerberos, utilizzato per gestire i processi di autenticazione nelle applicazioni client-server con l’utilizzo della crittografia a chiave segreta o simmetrica.
Abbiamo visto in un altro nostro articolo cos’è Kerberos e perché Microsoft, di recente, si è affrettata a distribuire patch correttive out-of-band ovvero al di fuori dell’abituale ciclo di rilascio.
All’interno di Active Directory il protocollo Kerberos è delegato alla gestione della maggior parte delle autenticazioni, sia a livello degli utenti che dei servizi.
Come osserva Alessio Mercuri, Security Engineer di Vectra AI, Kerberoasting sfrutta il fatto che con Kerberos qualsiasi utente autenticato del dominio può richiedere un ticket per accedere a un servizio, anche se non ha il diritto di connettersi a esso. Questi ticket sono crittografati utilizzando l’hash NTLM della password dell’account di servizio.
Il controller di dominio risponde con un ticket di servizio criptato con la chiave segreta dell’account di servizio. L’aggressore può così inondare il server Kerberos con richieste TGS (Ticket Granting Service), estrarre i ticket dalla memoria e poi intentare un password cracking offline. L’algoritmo di hashing RC4 è ormai superato e vulnerabile: quando esso viene usato al posto di AES (vedere più avanti), il malintenzionato può estrapolare le credenziali dell’account di servizio con grande facilità (senza bisogno di generare ulteriori richieste) e ottenere accesso illimitato a tutti i sistemi e a tutte le risorse a cui l’account compromesso ha accesso. L’attaccante è a questo punto in grado di aumentare i suoi privilegi molto rapidamente e di effettuare movimenti laterali all’interno del sistema informatico dell’azienda.
Kerberoasting è un attacco che può essere messo in atto nella fase post-exploitation: è cioè necessario che l’aggressore abbia già guadagnato in qualche modo l’accesso alla rete aziendale disponendo di un’utenza di dominio valida. Questo aspetto rende chiaro, ancora una volta, come il problema della sicurezza dell’infrastruttura IT vada esaminato e trattato nel suo complesso, non “a compartimenti stagni”.
Mercuri evidenzia come sia potenzialmente esposta all’attacco Kerberoasting la stragrande maggioranza delle aziende, perché il 99% di esse utilizza Active Directory nella propria infrastruttura.
Come difendersi da Kerberoasting
Per proteggersi da attacchi come Kerberoasting è possibile mettere in campo diverse azioni.
In primo luogo, osserva ancora Mercuri, è consigliabile intervenire sugli account utente privilegiati in quanto sono un obiettivo prioritario per gli aggressori.
È preferibile, ove possibile, non avere account che possono eseguire servizi, se i diritti privilegiati non sono necessari. Inoltre, se l’account non è destinato a essere utilizzato al di fuori di Active Directory, è molto meglio utilizzare Managed Service Account (MSA): garantiscono che la password dell’account sia efficace e venga cambiata regolarmente e in modo automatico.
Quando un account viene utilizzato al di fuori di Active Directory è importante impostare una password composta da oltre 32 caratteri.
Infine, l’account utente deve essere configurato per supportare l’algoritmo AES accantonando definitivamente l’utilizzo dell’obsoleto RC4.
La difesa dell’infrastruttura IT aziendale passa insomma sempre più attraverso l’adozione di buone pratiche di sicurezza andando ben oltre il patching dei sistemi.