Pass the Hash: Autenticazione con Hash Rubati (T1550.002)
Pass the Hash (PtH) è una tecnica di movimento laterale che consente a un attaccante di autenticarsi come utente legittimo senza mai conoscere la password in chiaro. Il meccanismo sfrutta un dettaglio strutturale del protocollo NTLM: l'hash della password viene utilizzato direttamente come segreto di autenticazione, rendendolo funzionalmente equivalente alla password stessa una volta estratto dalla memoria del sistema compromesso.
MITRE ATT&CK colloca la tecnica sotto due tattiche complementari, TA0005 (Defense Evasion) e TA0008 (Lateral Movement). La duplice classificazione riflette la natura dell'attacco: bypassa i controlli di autenticazione standard evitando la generazione di eventi tipici del logon interattivo, e al tempo stesso rappresenta uno dei vettori più efficaci per pivotare tra host in un dominio Active Directory.
La variante overpass-the-hash estende il concetto: l'hash NTLM viene usato per richiedere un ticket Kerberos valido (TGT), consentendo poi attacchi Pass the Ticket e integrandosi con protocolli moderni che non usano più NTLM direttamente.
I numeri MITRE parlano chiaro: 11 gruppi APT documentati, 8 famiglie di software offensivo che implementano nativamente la tecnica, la campagna Night Dragon contro settore oil & gas, e solo 4 mitigazioni riconosciute. La longevità di PtH — attiva da oltre vent'anni — ne fa un pilastro delle operazioni post-exploitation in ambienti Windows enterprise.
L'operatività su PtH parte sempre dalla disponibilità di un hash NTLM valido, ottenuto tipicamente tramite dump di LSASS, estrazione dal database SAM locale, o lettura del file NTDS.dit su un Domain Controller. Il formato utilizzabile è l'hash NT (16 byte), spesso rappresentato come stringa esadecimale di 32 caratteri; l'hash LM è deprecato ma ancora accettato da sistemi legacy.
Lo strumento di riferimento resta Mimikatz (open source), il cui modulo sekurlsa::pth spawna un processo con token modificato in cui il campo password contiene l'hash. La sintassi tipica è sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:
Per catene più orientate al post-exploitation da Linux, Impacket (open source) offre una suite completa: psexec.py, wmiexec.py, smbexec.py e atexec.py accettano tutti la sintassi -hashes LMHASH:NTHASH per autenticarsi. Un comando tipico è impacket-psexec -hashes :
CrackMapExec (open source, ora evoluto in NetExec) automatizza lo spray dell'hash su intere subnet: nxc smb 10.0.0.0/24 -u administrator -H
Cobalt Strike (a pagamento) integra PtH nativamente tramite il comando pth del Beacon, che manipola il token del processo corrente. Empire (open source) e PoshC2 (open source) offrono moduli PowerShell equivalenti, mentre Invoke-SMBExec dal toolkit Invoke-TheHash (open source) — utilizzato da Wizard Spider e FIN13 secondo MITRE — permette esecuzione remota via SMB direttamente da PowerShell senza binari esterni.
Una tecnica particolarmente insidiosa osservata in campo, e attribuita ad Aquatic Panda, consiste nell'abilitare RestrictedAdmin mode per RDP modificando la chiave HKLM\System\CurrentControlSet\Control\Lsa\DisableRestrictedAdmin a 0. Questo permette connessioni RDP autenticate con solo hash tramite mstsc.exe /restrictedadmin, aprendo il movimento laterale interattivo senza necessità di password.
In lab, testate sempre in ambienti Active Directory dedicati (GOAD, DetectionLab) per non lasciare artefatti su infrastrutture di produzione.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo