Abuso SSP: Security Support Provider (T1547.005)

La tecnica T1547.005 sfrutta i Security Support Provider (SSP), componenti modulari che Windows carica dentro il processo LSASS (Local Security Authority Subsystem Service) durante l'avvio del sistema. Gli SSP implementano protocolli di autenticazione come Kerberos, NTLM e Negotiate, e proprio per questa loro posizione privilegiata hanno accesso diretto a credenziali, hash NTLM, ticket Kerberos e PIN di smart card in chiaro nella memoria di LSASS.

Un attaccante che riesce a registrare una DLL malevola come SSP ottiene contemporaneamente persistenza (TA0003), perché la libreria viene ricaricata a ogni riavvio, e privilege escalation (TA0004), perché l'esecuzione avviene nel contesto SYSTEM all'interno di un processo altamente privilegiato. La configurazione risiede in due chiavi di registro: HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages e HKLM\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\Security Packages. Modificando questi valori, o invocando l'API AddSecurityPackage, l'attaccante inietta il proprio modulo.

L'abuso rientra nella fase di Installation della kill chain di Lockheed Martin e nella sub-tecnica Boot or Logon Autostart Execution di MITRE ATT&CK. L'impatto è severo: una DLL SSP malevola può registrare in chiaro ogni autenticazione futura, esfiltrare credenziali di dominio in un ambiente Active Directory e sopravvivere a cambi di password. Tre strumenti pubblici — Mimikatz, PowerSploit ed Empire — implementano nativamente questa capacità, rendendola accessibile anche ad attori di livello intermedio.

In un ingaggio red team autorizzato, l'abuso di SSP si presta come tecnica di persistenza silenziosa post-compromissione di un endpoint con privilegi amministrativi locali. Il flusso operativo tipico parte da una shell elevata su un host Windows di laboratorio.

Il primo approccio è PowerSploit (open source), suite PowerShell offensiva ancora ampiamente referenziata in letteratura. Il modulo Install-SSP automatizza la registrazione di una DLL nel registro e la copia nel percorso C:\Windows\System32. Su un sistema di test la sequenza è:

Import-Module .\PowerSploit.psd1

Install-SSP -Path .\mimilib.dll

La libreria mimilib.dll è distribuita insieme a Mimikatz (open source) e implementa un SSP che scrive ogni credenziale intercettata in un file di log locale (kiwissp.log in System32). Dopo il riavvio della VM, LSASS caricherà la libreria e inizierà a registrare le autenticazioni interattive e di rete.

Empire (open source, mantenuto dalla community BC-Security) integra la stessa logica in un framework post-exploitation completo. Dal modulo powershell/persistence/elevated/install_ssp si automatizza la catena, includendo l'enumerazione preventiva degli SSP già registrati per verificare la presenza di soluzioni di credential guarding.

Un approccio manuale, utile per validare detection rule senza toolkit noti, consiste nel modificare direttamente la chiave di registro con reg add:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "Security Packages" /t REG_MULTI_SZ /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0evil" /f

dopo aver copiato evil.dll in System32. Un riavvio completa la persistenza.

Nei lab moderni due ostacoli sono attesi. Il primo è LSA Protection (RunAsPPL), attivabile via HKLM\SYSTEM\CurrentControlSet\Control\Lsa\RunAsPPL, che impedisce il caricamento di DLL non firmate Microsoft dentro LSASS. Il bypass richiede un driver kernel firmato o l'exploit di vulnerabilità note, entrambi fuori scope per un normale test. Il secondo è Credential Guard, che isola i segreti in un contesto virtualizzato basato su VBS: anche una DLL SSP caricata con successo non vedrà più hash NTLM o ticket TGT in chiaro.

Per validare l'esecuzione post-riavvio si può usare Process Explorer (gratuito, Sysinternals) filtrando i moduli caricati da lsass.exe e verificando la firma digitale della DLL sospetta. In alternativa, PowerShell offre Get-Process lsass | Select-Object -ExpandProperty Modules per un enumerazione rapida da riga di comando.

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.