Daniel Petri

Active Directory (AD) rimane una spina dorsale cruciale per gli ambienti IT aziendali, centralizzando l'autenticazione e l'autorizzazione di utenti e computer. Tuttavia, l'importanza di Active Directory, unita alla sua età e al debito tecnico che spesso accumula, la rende un obiettivo primario per i cyberattacchi. Una tecnica di attacco comune, chiamata Kerberoasting, sfrutta il protocollo di autenticazione Kerberos e i nomi dei principali servizi (SPN). Ecco un approfondimento su come funziona Kerberoasting e come difendersi da esso.

Che cos'è il Kerberoasting?

Kerberoasting è un metodo di attacco sofisticato. Gli aggressori utilizzano Kerberoasting per estrarre le credenziali degli account di servizio. Armati di queste credenziali, gli aggressori possono ottenere una capacità allarmante di compromettere in modo estensivo la rete.

Il fondamento di Kerberoasting è la possibilità per qualsiasi utente autenticato in un dominio AD di richiedere ticket di servizio per qualsiasi servizio. Questi ticket sono crittografati utilizzando l'hash dell'account del servizio collegato all'SPN richiesto. L'hash-RC4 o DES non è considerato forte dagli standard moderni e quindi può essere decifrato con relativa facilità.

Che cos'è Kerberos?

Kerberos è un protocollo di autenticazione di rete creato per offrire un'autenticazione sicura alle applicazioni client-server, utilizzando la crittografia a chiave segreta. Il protocollo è il protocollo di autenticazione predefinito in Active Directory e svolge un ruolo fondamentale nel garantire che gli utenti e i servizi possano fidarsi l'uno dell'altro in un ambiente di rete.

Kerberos utilizza i ticket: entità crittografiche che autenticano utenti o servizi senza inviare ripetutamente password attraverso la rete. Questi ticket sono la spina dorsale del processo di autenticazione di Kerberos.

Esistono diversi tipi di ticket Kerberos:

  • Ticket Granting Ticket (TGT): Emesso dopo l'accesso iniziale, questo ticket autorizza l'utente a richiedere ticket di servizio.
  • Ticket di servizio, noto anche come ticket TGS (Ticket Granting Service): Questo ticket consente agli utenti di accedere a servizi specifici.
  • Ticket di sessione: Dopo che un ticket di servizio è stato presentato e verificato dal servizio, viene utilizzato un ticket di sessione per autenticare il client per la durata della sessione.

Questi ticket contengono informazioni importanti sull'account dell'utente o del servizio, sul computer su cui è stata effettuata la richiesta e altro ancora. Le informazioni contenute nei ticket sono criptate e possono essere consultate solo da chi ha richiesto il ticket o ha concesso l'accesso.

Cosa sono i nomi dei principali servizi (SPN)?

Gli SPN sono utilizzati per identificare in modo univoco un servizio che si è registrato in Active Directory. Ogni SPN è associato a uno specifico account di servizio in Active Directory e descrive il tipo di servizio. Alcuni esempi di tipi di servizio:

  • Servizi web: Un server web come IIS potrebbe usare un SPN come HTTP/webserver.domain.com per autenticarsi con AD.
  • Servizi SQL: Le istanze di Microsoft SQL Server registrano un SPN come MSSQLSvc/servername.domain.com:1433 per abilitare l'autenticazione Kerberos.
  • Servizi di file: Un file server può avere un SPN come HOST/fileserver.domain.com.
  • Applicazioni personalizzate: Le aziende spesso sviluppano applicazioni interne che utilizzano AD e Kerberos per l'autenticazione. Queste applicazioni possono anche registrare i loro SPN.

Quando un utente o un servizio vuole accedere a un servizio registrato in AD, interroga il relativo SPN per richiedere il ticket di servizio necessario, che il servizio di destinazione poi convalida. Gli account di servizio in Active Directory sono fondamentali perché possono eseguire applicazioni o servizi critici e spesso hanno privilegi elevati.

Come funziona il Kerberoasting?

In un tipico attacco Kerberoasting:

  • L'attaccante enumera gli SPN e gli account di servizio associati. Gli aggressori possono utilizzare i comandi PowerShell per trovare facilmente tutti gli SPN di tipi specifici. Uno dei tipi di SPN più utili che gli aggressori cercano è SQL perché supporta SQL Server (un obiettivo popolare per l'esfiltrazione dei dati).
  • Dopo aver identificato gli SPN disponibili e gli account di servizio associati, l'aggressore richiede il ticket Kerberos per gli SPN di destinazione ed esfiltrano il ticket per decifrarlo.
  • L'attaccante lavora quindi offline per decifrare l'hash della password del biglietto, utilizzando strumenti e tecniche di forza bruta offline.
  • Dopo aver decifrato la password del ticket, l'aggressore ottiene l'accesso all'account (spesso privilegiato) associato al ticket di servizio.
  • L'attaccante utilizza l'account compromesso per eseguire l'escalation dei privilegi e quindi ottenere l'accesso non autorizzato a informazioni sensibili, per eseguire movimenti laterali o per svolgere altre attività dannose.
  • La compromissione di un account spesso consente all'aggressore di accedere ad altri account utente sul server a cui l'aggressore ha originariamente ottenuto l'accesso. L'aggressore utilizza poi la stessa tecnica per accedere ad altri account.

Quali danni può causare il Kerberoasting?

I rischi posti da Kerberoasting sono molteplici. In sostanza, l'attacco porta al furto di credenziali, mettendo nelle mani degli avversari le credenziali sensibili degli account di servizio.

Ad amplificare la minaccia sono le autorizzazioni che gli account di servizio possono avere. Un aggressore che decifra la password di un account di servizio con privilegi elevati può ottenere un accesso esteso, aprendo le porte a privilegi elevati. Armati di queste credenziali, gli aggressori possono muoversi senza problemi all'interno di una rete, accedendo a dati e risorse preziose.

Perché il Kerberoasting è un attacco così popolare?

Il kerberoasting rimane un vettore di attacco comune soprattutto perché può essere difficile da identificare e contrastare. Questo attacco è anche relativamente facile da eseguire utilizzando strumenti ben noti.

Kerberos è stato progettato per garantire sicurezza ed efficienza. Tuttavia, la sua forza si basa sulla riservatezza delle chiavi di crittografia che proteggono i ticket durante la fase di autenticazione. Se gli aggressori riescono ad acquisire queste chiavi di crittografia (password), possono creare i propri ticket e accedere alle informazioni privilegiate e alle risorse di rete.

Il successo di un exploit Kerberoasting su una rete aziendale dipendente da Kerberos potrebbe garantire all'aggressore l'accesso a una vasta gamma di dati e strumenti riservati. Questo spiega perché gli aggressori sono disposti a impegnarsi a fondo nei tentativi di Kerberoasting.

Gli aggressori possono anche orchestrare Kerberoasting da remoto, evitando l'impegno diretto con il server di autenticazione o le risorse target. Questo approccio furtivo rende difficile per i team di cybersecurity individuare e contrastare Kerberoasting nelle sue fasi iniziali.

Come ci si può difendere dal Kerberoasting?

La mitigazione dei rischi posti da Kerberoasting comporta diverse fasi:

  1. Proteggere le password degli account di servizio. Le password devono essere uniche, complesse e di lunghezza superiore a 25 caratteri. Devono essere in grado di resistere agli attacchi di forza bruta, rendendo più difficile per gli aggressori decifrare le password associate ai ticket di servizio ottenuti. Cambiate le password almeno una volta all'anno per tenere a bada gli aggressori.
  2. Se il servizio in questione lo supporta, utilizzate gli account di servizio gestiti dal gruppo (gMSA) che forniscono la gestione delle password per eliminare la necessità di gestire manualmente le password degli account di servizio e per ridurre il carico amministrativo.
  3. Monitorare Active Directory per individuare eventuali anomalie, come richieste di ticket di assistenza anomale o frequenti. Tali eventi potrebbero indicare un tentativo di Kerberoasting in corso.
  4. Adottare il principio del minimo privilegio per gli account di servizio. Per garantire che le applicazioni funzionino come ci si aspetta, questi account sono spesso dotati di privilegi eccessivi al momento della loro creazione. Limitando i diritti e le autorizzazioni, è possibile ridurre al minimo i danni potenziali in caso di compromissione di un account.
  5. Considerate la possibilità di disabilitare l'RC4 come tipo di crittografia. Questa operazione può richiedere del tempo, perché bisogna assicurarsi che le applicazioni e i sistemi di livello inferiore possano continuare a funzionare. Tuttavia, questo passo vale la pena per garantire che le password non utilizzino più questo protocollo per l'hash.

Un'altra difesa emergente contro il Kerberoasting è la distribuzione e il monitoraggio dei token di miele. In sostanza, questi token sono account esca dotati di SPN, lasciati come esca per gli aggressori. Poiché questi account sono falsi e non hanno alcuno scopo legittimo, qualsiasi attività che li riguarda è un chiaro segno di intento malevolo. Con un monitoraggio adeguato, possono avvisare il team di sicurezza di un potenziale attacco Kerberoasting, consentendo di difendersi e di ridurre al minimo i danni.

Come Semperis può aiutarvi a combattere il cherubinaggio

L'evoluzione del panorama delle minacce informatiche richiede strumenti in grado di tenere il passo. Le soluzioni avanzate di rilevamento delle minacce, come Semperis Directory Services Protector ( DSP), sono in grado di monitorare, rilevare e segnalare attivamente gli schemi coerenti con Kerberoasting e altri attacchi basati su Active Directory. L'impiego di tali strumenti amplifica la difesa, rendendo l'ambiente AD più resistente alle violazioni.

Il kerberoasting è una potente tecnica di attacco. Tuttavia, è possibile contrastarla efficacemente con le conoscenze e gli strumenti giusti. Comprendendo i suoi meccanismi, rimanendo vigili e implementando misure di sicurezza avanzate, le aziende possono salvaguardare i loro ambienti Active Directory e il tesoro di dati di cui detengono le chiavi.