Sean Deuby | Tecnologo principale, Americhe

Nel romanzo di Roald Dahl del 1964, *Charlie e la fabbrica di cioccolato*, l’enigmatico Willy Wonka nasconde cinque “biglietti d’oro” tra le barrette di cioccolato della sua fabbrica. Chi trova i biglietti vince il privilegio di visitare i retroscena dello stabilimento della sua azienda. Nel mondo digitale, i “biglietti d’oro” garantiscono anch’essi l’accesso, ma a qualcosa di molto più prezioso di una fabbrica misteriosa: l’ambiente IT della vostra organizzazione.

Lettura correlata

Il suo biglietto, per favore

Una breve premessa: quando un client PC si autentica a un dominio, il Kerberos Key Distribution Center (KDC) sul controller di dominio (DC) che si autentica fornisce al client un Ticket Granting Ticket (TGT). Questo TGT consente al client di richiedere al KDC un ticket di servizio per accedere a un servizio (ad esempio, un file server). Il KDC invia il ticket di servizio al client, crittografato con il valore hash della password dell'account di servizio. Il client passa il ticket al servizio, che lo decifra e gli concede l'accesso al servizio.

L'account krbtgt funziona come account di servizio per il servizio KDC. Con il controllo dell'account krbtgt, gli aggressori possono creare TGT fraudolenti per accedere a qualsiasi risorsa. Questo scenario è l'essenza di un attacco Golden Ticket. Se eseguiti con successo, gli attacchi Golden Ticket consentono agli attori delle minacce di impersonare qualsiasi utente. L'attacco è difficile da rilevare e può essere utilizzato dagli attori delle minacce per rimanere nascosti per lunghi periodi di tempo.

Per sferrare l'attacco è necessario che l'aggressore abbia già compromesso un account con privilegi elevati in grado di accedere al controller di dominio. Ogni controller di dominio nell'ambiente AD gestisce un KDC. Una volta ottenuto l'accesso al controller di dominio, l'attaccante può utilizzare uno strumento come Mimikatz per rubare l'hash NTLM dell'account krbtgt.

Con l'hash della password krbtgt in mano, l'attore delle minacce ha bisogno solo di quanto segue per creare un TGT:

  • Nome di dominio completamente qualificato (FQDN) del dominio
  • L'identificatore di sicurezza (SID) del dominio
  • Il nome utente dell'account a cui ci si rivolge.

Sebbene i TGT siano solitamente validi per 10 ore per impostazione predefinita, un utente malintenzionato può rendere il TGT valido per qualsiasi periodo di tempo, fino a 10 anni. Per questo motivo, è fondamentale disporre di una strategia per rilevare, mitigare e rimediare a questi attacchi.

Utilizzare l'igiene di base della sicurezza per proteggersi dagli attacchi Golden Ticket

La prevenzione degli attacchi Golden Ticket inizia con l'igiene della sicurezza di base. Gli avversari non possono sferrare l'attacco senza prima compromettere l'ambiente, quindi le organizzazioni possono iniziare a implementare una difesa a più livelli per ridurre la superficie di attacco e aumentare la barriera all'ingresso.

  1. Prevenzione del furto delle credenziali: il primo livello riguarda la prevenzione del furto delle credenziali. Bloccare il malware che ruba le credenziali e gli attacchi di phishing è fondamentale e dovrebbe prevedere una combinazione di formazione sulla sicurezza per i dipendenti e misure di sicurezza a livello di rete e di endpoint. Eliminare le password comuni dalla directory utilizzando un filtro personalizzato come Azure AD Password Protection ridurrà la probabilità che un attacco di tipo “password spray” abbia successo. Qualsiasi attività di Mimikatz che non sia guidata dal Red Team della vostra organizzazione o da un pen tester autorizzato è un chiaro segnale della presenza di aggressori.
  2. Garantire la sicurezza di AD: il livello successivo consiste nel rafforzare le difese attorno ad AD stesso. Poiché un attacco “Golden Ticket” richiede un accesso privilegiato a un controller di dominio, l’implementazione del principio del privilegio minimo è fondamentale per garantire la sicurezza di AD. I team AD dovrebbero ridurre al minimo il numero di account utente e di servizio con accesso ai DC. Gli account con autorizzazioni di amministratore di dominio o di “replica delle modifiche alla directory” possono essere utilizzati per lanciare attacchi DCSync, che consentono il furto dell’hash krbtgt.
  3. Individuazione dei ticket falsificati: proprio come nel caso delle banconote da un dollaro contraffatte, è possibile individuare i ticket falsificati osservando comportamenti insoliti da parte degli utenti e esaminando poi il ticket alla ricerca di segni rivelatori. Ad esempio, errori quali discrepanze tra nome utente e ID relativo (RID) o alterazioni della durata di validità del ticket potrebbero essere indicatori di attività dolosa. Inoltre, è importante monitorare Active Directory per individuare attività insolite, come le modifiche all’appartenenza ai gruppi.
  4. Prestare attenzione quando si modifica la password krbtgt: uno dei consigli più comuni per contrastare gli attacchi “Golden Ticket” è quello di modificare la password krbtgt ogni 180 giorni. Questa operazione non va eseguita con leggerezza, poiché causerà temporaneamente errori di convalida del certificato PAC (Privileged Attribute Certificate). Il metodo migliore per aggiornare la password consiste nello studiare ed eseguire lo script di reimpostazione della password dell’account krbtgt (fornito dall’MVP Microsoft Jorge de Almeida Pinto; si tratta di uno script di reimpostazione aggiornato continuamente), che consente inoltre alle organizzazioni di verificare che tutti i DC scrivibili nel dominio abbiano replicato le chiavi derivate dall’hash della nuova password. La modifica della password di krbtgt ogni 180 giorni è una best practice. Tuttavia, i team AD dovrebbero anche considerare di cambiarla ogni volta che un dipendente in grado di creare un Golden Ticket lascia l’organizzazione. Adottare questa misura riduce il rischio che un ex dipendente scontento utilizzi un ticket contraffatto per scopi malevoli. È importante ricordare che, se viene rilevato un attacco Golden Ticket, la password dovrà essere reimpostata due volte per mitigare l’attacco. Perché? Perché l’account krbtgt memorizza le due password precedenti; pertanto, è necessario reimpostare la password due volte per impedire che un altro DC utilizzi una vecchia password per replicarsi con il DC interessato. Attenzione: reimpostare la password due volte prima che questa possa replicarsi in tutto l’ambiente può interrompere l’accesso alla rete; pertanto, procedete con calma e assicuratevi che il primo aggiornamento si sia propagato a tutti i DC.

Costruire una solida difesa contro gli attacchi del Golden Ticket

Mitigare e rispondere a un attacco Golden Ticket è difficile. Tuttavia, poiché questi attacchi possono aprire la strada al furto di dati su larga scala e al ransomware, è fondamentale tenere conto degli attacchi Golden Ticket nei vostri scenari di recupero AD e di risposta agli incidenti.

Assicuratevi di aver determinato l’entità dell’attività degli aggressori prima di ricostruire i sistemi compromessi e reimpostare gli account, evitando così di far sapere all’autore dell’attacco che avete rilevato la sua attività. Assicuratevi di disporre di un backup offline e, idealmente, di una foresta ripristinata e isolata, in modo che, qualora l’autore dell’attacco attivasse il payload del ransomware, abbiate comunque a disposizione una foresta AD funzionante. Solo comprendendo appieno il danno causato, le organizzazioni possono essere certe di aver chiuso definitivamente la porta agli autori dell’attacco e di aver impedito loro di mantenere un punto d’appoggio.