Molti attacchi ad Active Directory iniziano con una password rubata. Tuttavia, un attacco di tipo Pass the Hash ha un approccio diverso. In questo esempio di furto di credenziali, le minacce rubano invece l'hash della password dell'utente. L'attacco è difficile da rilevare e può portare all'escalation dei privilegi e a gravi danni per l'organizzazione.
Lettura correlata: Migliori pratiche per la sicurezza di Active Directory
Che cos'è un attacco Pass the Hash?
L'attacco Pass the Hash è molto diffuso negli ambienti Windows. L'attacco sfrutta il meccanismo di autenticazione del sistema operativo Windows.
Windows, nel tentativo di evitare la memorizzazione delle password in chiaro, mantiene gli hash NTLM delle password degli utenti. Durante il processo di autenticazione, Windows confronta questi hash invece di confrontare le password in chiaro. L'attacco Pass the Hash sfrutta questo meccanismo.
Invece di rubare e utilizzare le password in chiaro, gli avversari si concentrano sull'ottenimento e sull'utilizzo degli hash per autenticarsi su varie risorse di rete. L'attacco Pass the Hash è furtivo e altamente efficiente.
Che cos'è l'hash di una password?
L'hash di una password è un processo crittografico unidirezionale. Questo processo fa passare una password in chiaro attraverso una funzione matematica (cioè una funzione hash) per creare una stringa di byte di dimensioni fisse, chiamata valore hash (o semplicemente hash). Questo hash viene quindi confrontato con l'hash memorizzato della password dell'utente. Se i due valori coincidono, l'autenticazione viene concessa. Ottenere la password originale da un hash non è fattibile, quindi questo è un buon modo per memorizzare le password in un database (come il database NTDS.DIT di Active Directory).
Come funziona un attacco Pass the Hash?
In un attacco Pass the Hash, un aggressore inizia ad accedere all'hash di un utente, spesso scaricando il contenuto del database SAM del sistema o dalla memoria, utilizzando strumenti come Mimikatz. L'attaccante può quindi riutilizzare l'hash per autenticarsi ad altri servizi o macchine della rete, aggirando la necessità di una password.
Ecco una descrizione passo passo del processo di attacco Pass the Hash:
- Compromissione iniziale. Un aggressore ottiene l'accesso iniziale a un sistema all'interno della rete. Possono essere utilizzati vari metodi, tra cui il phishing, lo sfruttamento delle vulnerabilità o persino l'accesso fisico.
- Estrazione di hash. Una volta che l'attaccante ha un punto d'appoggio, utilizza uno strumento come Mimikatz per estrarre gli hash dal sistema. Questi hash possono risiedere nella memoria (RAM) o nel database del Security Account Manager (SAM), a seconda dello stato di accesso dell'utente e del livello di accesso dell'attaccante.
- Passaggio dell'hash. Con uno o più hash in possesso, l'aggressore può ora utilizzare un hash per l'autenticazione. L'aggressore utilizza uno strumento come PsExec (o anche gli strumenti integrati di Windows) per presentare l'hash come prova di identità e accedere ai sistemi remoti. Da qui deriva il nome Pass the Hash.
- Movimento laterale. Utilizzando l'hash ottenuto, l'aggressore tenta di spostarsi lateralmente all'interno della rete. L'aggressore utilizza l'hash per accedere ad altri sistemi in cerca di privilegi elevati o di dati preziosi. Se gli utenti hanno privilegi eccessivi o se le stesse credenziali sono utilizzate su più sistemi, il movimento laterale è molto più facile da realizzare e molto più pericoloso per l'organizzazione.
- Escalation dei privilegi. Spesso, l'aggressore utilizza la tecnica Pass the Hash ripetutamente. Passa da un computer all'altro finché non trova un account con privilegi più elevati, ad esempio un amministratore di dominio.
- Obiettivo finale. Dopo aver ottenuto una sufficiente elevazione dei privilegi e degli accessi, l'attaccante può agire per raggiungere il suo obiettivo finale. L'obiettivo potrebbe essere il furto di dati, l'implementazione di ransomware o il mantenimento di una presenza persistente per lo sfruttamento futuro.
Il successo della tecnica Pass the Hash si basa su diversi aspetti critici:
- La dipendenza intrinseca di Windows dal confronto degli hash per l'autenticazione
- Errori di configurazione comuni
- Pratiche di sicurezza poco rigorose, come la concessione agli utenti di diritti di amministrazione locale su più macchine o il riutilizzo di password in tutta l'azienda.
Quali sono i rischi associati a un attacco Pass the Hash?
Questo tipo di attacco può minacciare l'organizzazione in diversi modi:
- Riutilizzo delle credenziali: se un aggressore compromette l'hash di un account che utilizza le stesse credenziali in più servizi, l'aggressore può ottenere l'accesso a tutti questi servizi.
- Movimento laterale: Una volta entrati nella rete, gli aggressori possono utilizzare Pass the Hash per spostarsi lateralmente all'interno della stessa, accedendo a diversi computer e aumentando i propri privilegi.
- Accesso a lungo termine: Con l'hash, gli aggressori possono mantenere un accesso persistente a una rete compromessa, rendendo difficile il rilevamento e la bonifica.
Le reti basate su Windows sono particolarmente vulnerabili, soprattutto quelle che:
- Si basa molto sull'autenticazione NTLM
- Reti piatte senza un'adeguata segmentazione
- Mancanza di password forti e di politiche di sicurezza
- Non monitorare o verificare regolarmente Active Directory
Come si può rilevare un attacco Pass the Hash?
Il rilevamento di un attacco Pass the Hash implica l'identificazione di modelli di comportamento o attività insolite nella rete. Monitorate Active Directory per individuare questi tipi di attività:
- Modelli di accesso anomali. Cercate schemi di accesso anomali, come ad esempio accessi a orari strani o da luoghi insoliti. Osservate anche i login rapidi da una fonte a più sistemi.
- Creazione di servizi insoliti. Un attacco Pass the Hash potrebbe comportare la creazione di servizi su sistemi remoti utilizzando strumenti come PsExec. Pertanto, il monitoraggio delle creazioni di servizi inaspettati può essere un buon indicatore di questo attacco.
- Raschiamento della memoria. Strumenti come Mimikatz operano raschiando la memoria alla ricerca di hash. Monitorate i processi che leggono grandi sezioni di memoria, in particolare da lsass.exe.
- Volume delle richieste di autenticazione. Un'impennata di richieste di autenticazione in un breve lasso di tempo può indicare un tentativo di Pass the Hash, soprattutto se molte richieste falliscono e poi improvvisamente riescono.
Le moderne soluzioni di rilevamento e risposta degli endpoint (EDR) possono anche aiutare a tracciare i modelli comportamentali e a segnalare le attività sospette spesso associate alle tecniche di attacco Pass the Hash.
Come ci si può difendere da un attacco Pass the Hast?
La mitigazione di un attacco Pass the Hash dipende dalla limitazione della capacità dell'attaccante di ottenere e utilizzare gli hash. Ecco sei passi da compiere.
- Utilizzare il tiering amministrativo. Gli amministratori di account di livello 0, altamente privilegiati, come Active Directory, non dovrebbero mai accedere alle risorse di livello 1 (server e applicazioni) o 2 (workstation degli utenti finali). Impedire questo comportamento può ridurre il rischio che gli aggressori raccolgano le credenziali dell'amministratore.
- Isolare i sistemi. Assicuratevi che i sistemi critici siano su reti isolate. Un attaccante con un hash proveniente da un sistema meno critico non dovrebbe essere in grado di accedere a uno più critico.
- Implementare Microsoft Local Administrator Password Solution (LAPS). LAPS garantisce password uniche per gli account di amministratore locale in tutta l'azienda.
- Applicare il principio del minimo privilegio. Concedete agli utenti solo i permessi necessari per svolgere le loro attività quotidiane. Ad esempio, evitate di rendere ogni utente amministratore locale del proprio computer.
- Installare Credential Guard. Sui sistemi Windows 10 e Windows Server 2016 e successivi, utilizzare Credential Guard per proteggersi da un attacco Pass the Hash isolando e indurendo il processo di archiviazione delle credenziali.
- Limitare l'uso dei protocolli legacy. Disattivare i vecchi protocolli di autenticazione, che potrebbero essere più suscettibili a un attacco Pass the Hash. Ad esempio, passare da NTLM all'autenticazione Kerberos.
Un'altra tattica di difesa vitale: mantenere una solida postura di sicurezza di Active Directory. Ecco 10 passi specifici per gli amministratori di Active Directory.
- Verificate regolarmente Active Directory. Monitorate Active Directory alla ricerca di segni di attività insolite o non autorizzate. Verificate regolarmente la presenza di account obsoleti o inutilizzati in Active Directory e rimuoveteli o disattivateli.
- Implementare l'autenticazione a più fattori (MFA). Soprattutto per gli account privilegiati, l'MFA aggiunge un ulteriore livello di sicurezza. Tuttavia, assicuratevi anche di monitorare gli indicatori di sicurezza che potrebbero indicare attacchi di tipo MFA fatigue.
- Monitoraggio delle modifiche ai gruppi. Tenete traccia delle modifiche ai gruppi sensibili di Active Directory, come gli amministratori di dominio. Le modifiche inaspettate dovrebbero essere un segnale di allarme. L'automazione dell'auditing e del remediation può aiutarvi a prevenire attacchi sofisticati e furtivi.
- Applicare le baseline di sicurezza. Implementare le linee di base della sicurezza Microsoft per Active Directory e Group Policy.
- Mantenere i sistemi aggiornati. Assicuratevi che le patch dei sistemi e del software siano tempestive.
- Separare le attività di amministrazione. Utilizzate account separati per le diverse attività amministrative ed evitate le sovrapposizioni. Per esempio, avere account diversi per le attività di amministratore di dominio, per le attività di amministratore di workstation e così via.
- Evitare l'uso di account condivisi. Gli account condivisi rendono difficile risalire alle azioni di un singolo individuo. Ogni amministratore dovrebbe avere un account individuale.
- Limitare l'accesso degli amministratori. Associato al tiering amministrativo, limita dove e quando gli account amministrativi possono accedere. Ad esempio, gli account di amministratore di dominio devono accedere solo ai controller di dominio.
- Eseguire regolarmente backup specifici per AD. Assicurate backup regolari dei controller di dominio e predisponete un piano di ripristino. La separazione dei backup di Active Directory può aiutare a evitare la reintroduzione di malware.
- Educare e formare il personale e gli utenti. Istruite costantemente il vostro team IT sulle minacce più recenti e su come riconoscerle e rispondere ad esse. Istruite gli utenti sui rischi associati ad attacchi come Pass the Hash e sulle politiche e pratiche di sicurezza della vostra organizzazione.
Difesa dagli attacchi di furto di credenziali
L'attacco Pass the Hash è una sfida temibile per molte organizzazioni. Sfruttando le modalità intrinseche con cui Windows gestisce l'autenticazione, gli aggressori possono aggirare la necessità di password in chiaro, ottenendo l'accesso non autorizzato a più sistemi. Comprendendo le sfumature di questi attacchi, i professionisti della sicurezza e dell'IT possono rafforzare le proprie difese, rendendo le reti più resistenti di fronte a sfide in continua evoluzione.
Sistemi adeguatamente configurati, formazione degli utenti e vigilanza sul monitoraggio degli endpoint e di Active Directory possono contribuire a ridurre i rischi associati a questo attacco. Iniziate a seguire le best practice per la sicurezza di Active Directory.