Skip to main content
  1. Concetti/

Lateral Movement - Pass-the-Hash, Mimikatz e Credential Dumping

·5 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Lateral Movement - Pass-the-Hash, Mimikatz e Credential Dumping
#

Il Lateral Movement e' la fase di un attacco in cui, dopo aver compromesso un sistema iniziale, l'attaccante si sposta verso altri sistemi nella stessa rete per espandere il controllo. L'obiettivo finale varia -- dati sensibili, ransomware su piu' endpoint, accesso al Domain Controller -- ma il pattern e' sempre lo stesso: usare le credenziali o i privilegi ottenuti da un sistema compromesso per autenticarsi su altri sistemi senza essere rilevati.

wireshark-smb-cleartext-credentials.webp
pam-privileged-access-management.webp

Il pattern dell'attacco
#

In un ambiente Windows, l'autenticazione NTLM accetta l'hash della password come prova di identita' -- non verifica che il client conosca la password in chiaro. Questo significa che un attaccante che ottiene l'hash puo' autenticarsi esattamente come se avesse la password originale, senza doverla craccare.

La sequenza tipica inizia con un accesso iniziale su un sistema di basso valore (workstation utente, tramite phishing o exploit), poi il dump delle credenziali dalla memoria del sistema compromesso, e infine il riuso di quelle credenziali per raggiungere sistemi progressivamente piu' critici.

Credential Dumping con Mimikatz
#

Mimikatz e' il tool piu' noto per l'estrazione di credenziali da sistemi Windows. Agisce principalmente sul processo LSASS (Local Security Authority Subsystem Service), che Windows usa per gestire l'autenticazione e mantiene in memoria gli hash e i ticket delle sessioni attive.

Cosa estrae Mimikatz da LSASS:

  • Hash NTLM degli utenti con sessioni attive
  • Ticket Kerberos (TGT e TGS)
  • In sistemi legacy con WDigest abilitato: credenziali in chiaro

Mimikatz richiede privilegi elevati per accedere a LSASS (SeDebugPrivilege, che di default spetta agli administrator). Questo e' il motivo per cui la fase di Privilege Escalation precede spesso il credential dumping: si ottiene prima un account con privilegi sufficienti, poi si dumpano le credenziali.

Altri punti di dump:

  • SAM database (C:\Windows\System32\config\SAM) -- hash degli account locali, leggibile solo offline o con privilegi SYSTEM
  • NTDS.dit -- il database Active Directory sul Domain Controller, contiene gli hash di tutti gli account del dominio
  • LSA Secrets -- credenziali usate dai servizi Windows (service account, scheduled task)

Pass-the-Hash
#

Il Pass-the-Hash sfrutta il protocollo NTLM, che non richiede la password in chiaro ma solo il suo hash. L'attaccante estrae l'hash NTLM di un account (tipicamente un local administrator) da un sistema compromesso e lo usa direttamente per autenticarsi su altri sistemi Windows nella stessa rete.

Il problema sistemico che amplifica il PtH in ambiente enterprise e' la password admin locale condivisa: storicamente molte organizzazioni configuravano tutti i PC con lo stesso account administrator locale e la stessa password. Compromettere un PC significava avere l'hash admin valido su centinaia di macchine.

Strumenti comuni: Mimikatz (sekurlsa::pth), CrackMapExec, Responder, Impacket.

Pass-the-Ticket
#

Pass-the-Ticket e' la variante Kerberos del Pass-the-Hash. Invece di riusare un hash NTLM, l'attaccante ruba un TGT (Ticket Granting Ticket) dalla memoria di un sistema compromesso e lo importa in una sessione diversa. Il KDC non ha modo di distinguere il ticket originale da quello rubato: il ticket e' crittograficamente valido e non scaduto.

Il PtT e' particolarmente efficace perche' il TGT permette di richiedere Service Ticket per qualsiasi servizio Kerberos nel dominio senza ulteriori interazioni con il DC (fino alla scadenza del TGT, tipicamente 10 ore).

Remote Execution
#

Una volta ottenute credenziali valide, l'attaccante ha bisogno di eseguire codice sui sistemi di destinazione. I vettori piu' comuni in ambienti Windows sono:

PsExec -- strumento Sysinternals che esegue processi su sistemi remoti via SMB (porta 445). Legittimo in ambienti enterprise per amministrazione remota; ampiamente abusato per lateral movement. Crea un servizio temporaneo sul sistema di destinazione.

WMI (Windows Management Instrumentation) -- interfaccia di gestione remota di Windows, usabile via wmic.exe o PowerShell. Meno rumoroso di PsExec perche' non crea servizi visibili.

PowerShell Remoting -- via WinRM (Windows Remote Management, porta 5985/5986). Permette sessioni PowerShell interattive remote.

SMB diretto -- per copiare file eseguibili, accedere a share, o sfruttare vulnerability SMB.

Difese
#

LAPS (Local Administrator Password Solution) -- Microsoft LAPS genera e gestisce automaticamente password univoche per l'account administrator locale di ogni macchina, memorizzandole in Active Directory. Rompe la catena del Pass-the-Hash: compromettere un PC non fornisce un hash valido per nessun altro PC.

Credential Guard -- funzionalita' di Windows 10/11 Enterprise che isola LSASS in un Virtual Secure Mode (VSB) basato su hypervisor. Mimikatz non puo' accedere alla memoria protetta dal hypervisor, rendendo il credential dumping classico inefficace.

Network Segmentation -- VLAN separate per workstation, server, sistemi critici. Un attaccante che ha compromesso una workstation nella VLAN utenti non raggiunge direttamente i server nella VLAN server: il traffico SMB/WMI deve passare per un firewall che lo puo' bloccare o ispezionare.

PAM + JIT (Just-in-Time Privileged Access) -- nessun account ha privilegi permanenti: i privilegi elevati vengono assegnati su richiesta per un tempo limitato. I ticket Kerberos associati hanno vita breve. Un ticket rubato ha una finestra di utilizzo molto piu' stretta.

Monitoring comportamentale -- il lateral movement genera pattern rilevabili: connessioni SMB tra workstation (insolito in condizioni normali), logon di tipo 3 (network logon) da account che normalmente non si connettono in rete, esecuzione di PsExec o WMI da workstation. Un SIEM con regole di correlazione o un EDR con analisi comportamentale puo' rilevare questi pattern.

TecnicaProtocolloStrumentoContromisura principale
Pass-the-HashNTLMMimikatz, CrackMapExecLAPS, Credential Guard
Pass-the-TicketKerberosMimikatz, RubeusPAM JIT, monitoraggio TGT anomali
Credential Dumping--Mimikatz su LSASSCredential Guard, EDR
Remote Execution via PsExecSMBPsExec, ImpacketBlocco SMB laterale, allowlist processi
Remote Execution via WMIWMI/DCOMwmic, CrackMapExecRestrizione WMI, monitoraggio SIEM

Dev parallel: In un ambiente cloud AWS/Azure, il lateral movement equivale ad assumere ruoli IAM. Un Lambda compromesso con permessi sts:AssumeRole eccessivi puo' assumere ruoli in altri account o con privilegi piu' alti, replicando esattamente la logica del Pass-the-Ticket. Il principio del minimo privilegio applicato alle IAM role (boundary policy, permission boundary) e' l'equivalente cloud di LAPS + segmentazione VLAN.

Dev parallel: In Kubernetes, un pod compromesso che ha accesso al service account token montato automaticamente puo' chiamare l'API server Kubernetes e creare altri pod, modificare ConfigMap, o leggere Secrets -- lateral movement cloud-native. La soluzione e' disabilitare automountServiceAccountToken: false nei deployment che non ne hanno bisogno, e applicare RBAC granulare ai service account necessari.

Related