La compromissione delle credenziali è uno dei modi più comuni con cui gli aggressori ottengono l'accesso ad Active Directory (AD). Esiste una miriade di metodi con cui gli aggressori possono rubare e sfruttare le credenziali, e molti di essi sono furtivi e consentono ai malintenzionati di accedere e muoversi senza essere scoperti attraverso il vostro sistema di identità, aumentando i privilegi e causando danni. Pass the Hash è un metodo di compromissione delle credenziali molto efficiente per ottenere un movimento laterale in AD.
Che cos'è un attacco Pass the Hash?
Pass the Hash è una tecnica in cui gli aggressori utilizzano l'hash di una password rubata per autenticarsi come utente senza conoscere la password effettiva. Invece di decifrare l'hash NT, lo passano a un altro sistema che accetta l'hash della password per l'autenticazione. In questo modo gli aggressori si muovono lateralmente in una rete, accedendo ai sistemi come utente compromesso.
Come funziona Pass the Hash?
La schermata in Figura 1 mostra l'uso del metodo pth
in Il faro di Cobalt Strike. Questo strumento sfrutta Mimikatz per creare e impersonare un token utilizzando un hash NT, un dominio e un nome utente specifici.
pth
in Cobalt Strike's Beacon utilizza Mimikatz per impersonare un token con un hash NT specifico per gli attacchi Pass the Hash.Per eseguire un attacco Pass the Hash, un utente malintenzionato deve prima rubare gli hash delle password dagli account locali o di dominio. Cobalt Strike dispone di comandi specifici per questo scopo: hashdump
è usato per recuperare gli hash degli account locali (Figura 2).
hashdump
, recuperando gli hash delle password degli account locali.Il logonpasswords
(Figura 3) viene utilizzato per estrarre gli hash delle password dagli account di dominio, che possono anche includere password in chiaro.
logonpasswords
, recuperando gli hash delle password degli account di dominio.In questo esempio, ci concentreremo sull'utilizzo di Pass the Hash con RID-500, l'account amministratore integrato memorizzato nel database SAM locale(Figura 4). Molte organizzazioni utilizzano una golden image per distribuire più workstation, il che spesso significa che la stessa password di amministratore locale viene riutilizzata in tutti i sistemi. Se da un lato il sysprepping standardizza queste configurazioni, dall'altro crea una vulnerabilità: Se gli aggressori ottengono l'hash di un sistema, possono usarlo per spostarsi lateralmente attraverso la rete e accedere ad altre macchine con le stesse credenziali.
Una volta recuperati gli hash delle password, il passo successivo consiste nell'eseguire un attacco Pass the Hash. In questo esempio, l'attaccante utilizza Mimikatz per eseguire il Pass the Hash (pth
) con l'hash rubato di un account amministratore RID-500 (Figura 5). In questo modo, l'aggressore può autenticarsi come amministratore senza bisogno della password reale.
pth
) con l'hash dell'account Administrator (RID-500) integrato per eseguire un processo PowerShell nascosto.Il steal_token
è usato per impersonare il token di sicurezza di un altro processo (Figura 6), che dà all'attaccante lo stesso livello di privilegi di quel processo. In questo caso, l'attaccante sta usando steal_token 648
per dirottare il token da un processo in esecuzione come NT AUTHORITY\SYSTEM, ottenendo privilegi completi a livello di sistema.
steal_token
per impersonare il token dal processo ID (PID) 648, ottenendo l'accesso a livello di sistema come NT AUTHORITY\SYSTEM.Dal punto di vista di un attaccante, l'esecuzione del metodo shell dir \TARGET\C$
(Figura 7) è un modo per verificare se si dispone dei diritti di amministratore locale sul sistema di destinazione. Il ritorno di un elenco di directory dalla condivisione amministrativa (C$
) conferma che l'attaccante dispone dei privilegi necessari per accedere al file system della destinazione.
shell dir \WIN8WORKSTATION\C$
per verificare il contenuto della condivisione amministrativa C$, confermando di avere i diritti di amministratore locale sul computer di destinazione.Dopo che l'attaccante ha ottenuto l'accesso a un computer, è il momento di spostarsi lateralmente attraverso la rete. Una possibilità è quella di utilizzare tecniche come wmic
, sc
, o schtasks
per controllare a distanza altri sistemi. Eseguendo comandi come wmic
(Figura 8), l'aggressore può eseguire processi dannosi sui computer di destinazione, come copiare e lanciare il loro payload.
wmic
per eseguire il payload in remoto.Il Controllo account utente (UAC) limita gli utenti locali che possono eseguire attività di amministrazione remota. Per impostazione predefinita, la chiave di registro LocalAccountTokenFilterPolicy è impostata su 0, il che significa che solo l'amministratore RID-500 integrato può eseguire attività di amministrazione remota. Impostando la chiave di registro a 1, gli altri account di amministrazione locali possono fare lo stesso. Inoltre, FilterAdministratorToken impostato su 0 consente l'accesso remoto all'amministratore integrato; se impostato su 1, questa possibilità viene bloccata.
In breve, per impostazione predefinita, solo alcuni account possono sfruttare appieno Pass the Hash:
- Account locali: L'amministratore integrato può sfruttare appieno Pass the Hash per le attività di amministrazione remota.
- Account di dominio: Tutti gli account di dominio con diritti di amministrazione locale su un computer possono utilizzare Pass the Hash per ottenere il controllo del sistema.
Gli altri account locali sono limitati a meno che non vengano modificate le impostazioni UAC specifiche.1
Come difendersi da Pass the Hash
I difensori devono adottare misure specifiche per ridurre il rischio di attacchi Pass the Hash.
- In primo luogo, limitate i diritti di amministratore locale per gli utenti regolari. I dipendenti di dipartimenti quali risorse umane, finanza, marketing e legale non dovrebbero avere privilegi di amministratore locale.
- In secondo luogo, assicurarsi che la password dell'account amministratore integrato di RID-500 sia unica e randomizzata su ogni workstation e server membro. Uno strumento gratuito come Local Administrator Password Solution (LAPS) di Microsoft può automatizzare questo processo. In alternativa, è possibile utilizzare una soluzione di Privileged Account Management (PAM) a pagamento che impedisce agli aggressori di utilizzare le stesse credenziali di amministratore locale su più sistemi in un attacco Pass the Hash.
- Terzo, capire come gestire in modo sicuro gli account di dominio e sapere quando le credenziali vengono memorizzate. L'esposizione al furto delle credenziali dipende in larga misura dal metodo di accesso utilizzato. Ad esempio, le connessioni interattive come Remote Desktop (RDP) o RUNAS memorizzano le credenziali in memoria e possono essere vulnerabili. Microsoft fornisce una guida dettagliata per gli strumenti amministrativi e i metodi di connessione più comuni.
- Infine, è necessario implementare il tiering amministrativo una volta che si è consapevoli dei rischi legati ai diversi metodi di connessione dell'amministratore e si è capito come le credenziali possono essere esposte su altri computer. Non è facile, ma una struttura di tiering, almeno per gli account di livello 0 o critici, può fare una differenza significativa nella protezione dell'ambiente.
Come rilevare un attacco Pass the Hash
È importante disporre di un buon sistema di rilevamento e risposta degli endpoint (EDR) sulle workstation e sui server. Queste soluzioni forniscono avvisi che aiutano a individuare eventuali tentativi di scaricare le credenziali da un computer(Figura 9).
I cacciatori di minacce o gli analisti SOC possono utilizzare la telemetria fornita da soluzioni EDR come Microsoft Defender for Endpoint (MDE). Utilizzando funzioni come Advanced Hunting, i difensori possono interrogare i logon degli account per identificare dove gli account ad alto privilegio potrebbero esporre le proprie credenziali(Figura 10).
Profili degli attori delle minacce
La base di conoscenze MITRE ATT&CK identifica i seguenti gruppi di minacce (insieme ad altri gruppi associati) come quelli che hanno utilizzato gli attacchi Pass the Hash in natura:
- APT41 (Gruppo G0096)2
- Ragno stregone (Gruppo G0102)3
- FIN13 (Gruppo G1016)4
- APT29 FIN13 (Gruppo G0016)5
Passare gli strumenti Hash
I seguenti strumenti, disponibili su github.com, possono essere utilizzati per eseguire un attacco Pass the Hash:
- Mimikatz
- SharpKatz
- wce
- Invoca l'hashish
- Sharp-SMBExec
Panoramica delle minacce
Tattica ATT&CK: Movimento laterale
Il 3 ottobre 2024, Cisco Talos ha segnalato che un attore minaccioso che diffonde una nuova variante di MedusaLocker, nota come BabyLockerKZ, utilizza lo strumento Checker per gestire le credenziali per il movimento laterale. Lo strumento combina gli script Remote Desktop Plus, PsExec, Mimikatz e Invoke-TheHash. Utilizzando la tecnica Pass the Hash con Invoke-TheHash, l'aggressore si è autenticato in remoto utilizzando hash NTLM, senza decifrare le password, e ha sfruttato le attività WMI e SMB per spostarsi lateralmente e aumentare i privilegi all'interno della rete compromessa.6
Nel giugno 2024, BlackPoint ha riferito che APT29 ha utilizzato Sharp-SMBExec, una conversione C# dello script PowerShell Invoke-SMBExec, per condurre attacchi Pass the Hash. Ciò ha permesso ad APT29 di utilizzare gli hash NTLM rubati per spostarsi lateralmente all'interno delle reti senza bisogno della password reale.7
Nel febbraio 2022, Mandiant ha riferito che APT41 utilizza regolarmente il Windows Credential Editor per scaricare gli hash delle password dalla memoria. Con questi hash rubati, APT41 può accedere ad altri account utente senza conoscere la password effettiva, avendo così la possibilità di spostarsi lateralmente attraverso le reti.8
Il 7 dicembre 2021, Mandiant ha riferito che FIN13 ha utilizzato il cmdlet PowerShell Invoke-SMBExec come parte dei suoi attacchi Pass the Hash. Utilizzando questa tecnica, gli aggressori sono stati in grado di eseguire movimenti laterali all'interno di ambienti compromessi senza bisogno della password effettiva, basandosi solo sugli hash NTLM rubati.9
Il 24 giugno 2020, SecureWorks ha segnalato che APT31 (noto anche come BRONZE VINEWOOD) ha utilizzato il cmdlet PowerShell Invoke-SMBExec per eseguire attacchi Pass the Hash. Utilizzando gli hash delle password NTLM rubate, APT31 è stato in grado di spostarsi lateralmente attraverso le reti compromesse, prendendo di mira le organizzazioni delle catene di fornitura della difesa e del governo.10
Istantanea Semperis
Pass the Hash è una tecnica potente con cui gli aggressori utilizzano gli hash delle password NT rubate per autenticarsi ai sistemi remoti senza bisogno della password originale. Questa tecnica consente loro di muoversi lateralmente all'interno di una rete, di accedere ad account con privilegi elevati e di mantenere il controllo sui sistemi. I difensori dovrebbero limitare i privilegi di amministrazione locali, implementare almeno il tiering amministrativo per gli account di livello 0 o equivalente e applicare soluzioni EDR e di rilevamento e risposta alle minacce di incidenti (ITDR) per rilevare tali attacchi basati sull'identità.
Per saperne di più sugli attacchi Pass the Hash
- 5 metodi comuni di attacco all'AD
- Procedure consigliate per la protezione avanzata di Active Directory
- Come la sicurezza informatica si sta evolvendo da EDR a XDR a ITDR
- Come difendersi da un attacco Pass the Ticket: Sicurezza AD 101
- Spiegazione dell'estrazione NTDS.DIT
- Passare la difesa dell'attacco Hash
Note finali
- https://www.thehacker.recipes/ad/movement/ntlm/pth
- https://attack.mitre.org/groups/G0096/
- https://attack.mitre.org/groups/G0102/
- https://attack.mitre.org/groups/G1016/
- https://attack.mitre.org/groups/G0016/
- https://blog.talosintelligence.com/threat-actor-believed-to-be-spreading-new-medusalocker-variant-since-2022/
- https://blackpointcyber.com/wp-content/uploads/2024/06/Threat-Profile-APT29_Blackpoint-Adversary-Pursuit-Group-APG_2024.pdf
- https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation
- https://cloud.google.com/blog/topics/threat-intelligence/fin13-cybercriminal-mexico/
- https://www.secureworks.com/research/bronze-vinewood-targets-supply-chains