Estrazione Segreti LSA: LSA Secrets (T1003.004)
La sottotecnica T1003.004 descrive l'accesso ai Local Security Authority Secrets, un archivio della Local Security Authority di Windows dove il sistema operativo conserva credenziali particolarmente sensibili: password di service account, credenziali di scheduled task, chiavi DPAPI master key e segreti di autenticazione Auto-Logon.
Questi segreti risiedono nel ramo di registro HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets, un percorso normalmente non accessibile nemmeno agli amministratori senza elevazione a SYSTEM, oppure possono essere estratti direttamente dalla memoria del processo lsass.exe. La tecnica si colloca nella tattica TA0006 (Credential Access), tipicamente attivata dopo l'ottenimento di privilegi elevati sull'endpoint e prima della fase di lateral movement.
L'impatto è significativo: le credenziali di servizio esposte tramite LSA Secrets sono spesso associate ad account di dominio con privilegi elevati e sono raramente ruotate, aprendo la strada a compromissioni prolungate. I dati MITRE ATT&CK associano a questa tecnica 10 gruppi APT documentati, 9 famiglie di software offensivo (da Mimikatz a IceApple) e 3 mitigazioni raccomandate. La popolarità della tecnica è alimentata dalla disponibilità di strumenti open source maturi come Impacket, LaZagne, CrackMapExec e gsecdump, tutti in grado di operare sia in modalità live sia offline su copie del registro esfiltrate.
L'approccio classico in un red team engagement passa per due strade: estrazione offline dal registro oppure dumping in-memory da lsass. Entrambe richiedono privilegi SYSTEM, tipicamente ottenuti tramite abuso di token, PsExec o task pianificati.
La via offline è la più silenziosa. Con privilegi elevati si esportano i tre hive necessari:
reg save HKLM\SYSTEM %TEMP%\sys.hiv
reg save HKLM\SECURITY %TEMP%\sec.hiv
reg save HKLM\SAM %TEMP%\sam.hiv
Questa è la tecnica documentata per APT29. I file vengono poi esfiltrati e processati offline con secretsdump.py di Impacket (open source), riducendo drasticamente la superficie di detection sull'endpoint:
secretsdump.py -sam sam.hiv -security sec.hiv -system sys.hiv LOCAL
L'output include hash NTLM del SAM locale, cached domain credentials (MSCache v2) e le LSA Secrets in chiaro, incluse le password dei service account.
Per un'operazione live su target singolo, Mimikatz (open source) resta il riferimento. Il modulo dedicato si invoca con:
privilege::debug
token::elevate
lsadump::secrets
Il comando lsadump::secrets legge direttamente dai chiavi di registro protette sfruttando l'elevazione a SYSTEM. Per operazioni multi-host in un lab interno, CrackMapExec (open source, ora sostituito dal fork NetExec) automatizza il processo su interi range:
crackmapexec smb
Alternative valide viste in campagne reali includono LaZagne (open source), utilizzato da OilRig, APT33, MuddyWater e Leafminer per il recupero credenziali multi-applicazione, e gsecdump (tool storico, non più mantenuto ma ancora funzionante) impiegato da Ke3chang e Threat Group-3390. Per scenari cloud-integrated, AADInternals (open source, modulo PowerShell) offre funzionalità di dump LSA integrate con enumerazione Azure AD.
Durante un'esercitazione lab-safe, è buona pratica lavorare su snapshot di VM isolate, evitare l'esecuzione su domain controller di produzione e documentare l'orario esatto di ogni comando per correlare con la telemetria SOC durante la fase di purple teaming. Nel report finale, è utile evidenziare quali service account sono emersi con password statiche, poiché rappresentano il vero valore attaccabile in ottica lateral movement verso SQL Server, backup infrastructure o account di join dominio.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo