Driver LSASS Malevoli: LSASS Driver (T1547.008)

La tecnica T1547.008 descrive l'abuso del sottosistema di sicurezza di Windows attraverso la modifica o l'aggiunta di driver e plugin caricati dal processo lsass.exe. Il Local Security Authority Subsystem Service rappresenta il cuore dell'autenticazione Windows: gestisce policy di sicurezza locali, verifica credenziali e ospita una serie di DLL che estendono le sue funzionalità tramite Security Support Provider, Authentication Package e Notification Package.

Un avversario che riesce a piazzare una libreria malevola tra quelle caricate da LSASS ottiene due risultati simultanei che spiegano il posizionamento della tecnica sotto TA0003 (Persistence) e TA0004 (Privilege Escalation): il codice viene rieseguito ad ogni avvio del sistema perché LSASS parte automaticamente, e viene eseguito nel contesto di NT AUTHORITY\SYSTEM con la possibilità di intercettare credenziali in transito, hash NTLM, ticket Kerberos e password in chiaro durante le operazioni di logon.

Nella kill chain la tecnica si colloca dopo l'ottenimento di privilegi amministrativi locali, tipicamente in fase post-exploitation, e trasforma un compromesso temporaneo in un punto d'appoggio duraturo. I dati MITRE documentano due famiglie malware che implementano varianti dell'attacco (Wingbird e Pasam) e tre mitigazioni basate su isolamento del processo, restrizioni sul caricamento delle librerie e protezione delle credenziali. L'impatto è severo perché LSASS è un processo fidato, firmato Microsoft e monitorato con cautela dagli EDR per evitare falsi positivi sui componenti legittimi di autenticazione.

In un ingaggio red team con privilegi amministrativi già ottenuti sull'endpoint, la simulazione di T1547.008 parte dalla mappatura dei punti d'estensione di LSASS. Le chiavi di registro chiave da ispezionare sono HKLM\SYSTEM\CurrentControlSet\Control\Lsa con i valori Authentication Packages, Notification Packages e Security Packages, oltre alla sottochiave OSConfig. Un semplice controllo con reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa mostra i pacchetti attualmente registrati.

La tecnica documentata da Wingbird consiste nel droppare una DLL malevola (nell'esempio storico sspisrv.dll) accanto a una copia di lsass.exe, registrando un servizio che carica la libreria come driver. Il payload risiede nella funzione di entry-point della DLL e viene eseguito prima che il servizio spoofato collassi. Per replicare il pattern in laboratorio si può utilizzare una DLL compilata ad hoc con una DllMain che scriva un marker su disco, registrarla come Security Support Provider aggiungendo il nome (senza estensione) al valore Security Packages e riavviare la macchina di test.

Strumenti utili in fase di simulazione:

  • Atomic Red Team (open source) contiene test dedicati a T1547.008 con payload dimostrativi già pronti
  • PowerSploit (open source, archiviato ma funzionante) offre moduli per manipolare chiavi di registro sensibili
  • Mimikatz (open source) implementa il modulo misc::memssp che inietta un Security Support Provider in memoria per catturare credenziali di logon senza persistenza su disco
  • SharpSSDP e utility custom in C# per interagire con le API di LSA

Il comando emblematico in Mimikatz è privilege::debug seguito da misc::memssp, che aggiunge un provider in-memory e scrive le credenziali intercettate in C:\Windows\System32\mimilsa.log. Va notato che questa variante è volatile e non persiste al reboot, ma dimostra il concetto senza modificare il registro.

Per la variante persistente stile Wingbird, il workflow lab è: compilazione della DLL non firmata, copia in System32, aggiunta al valore Security Packages tramite reg add, reboot controllato e verifica del caricamento tramite Process Explorer (gratuito, Sysinternals) filtrando sui moduli di lsass.exe. In un ambiente con RunAsPPL attivo il caricamento fallisce, ed è proprio questo il controllo che l'esercizio deve validare per il cliente. Documentare sempre nel report il fingerprint della DLL, gli hash SHA256 e i tempi esatti di caricamento per facilitare la successiva bonifica.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.