Filtri Password Malevoli: Password Filter DLL (T1556.002)
La registrazione di DLL malevole come filtri password rappresenta una tecnica sofisticata per intercettare credenziali in chiaro durante il processo di autenticazione Windows. I filtri password sono meccanismi di enforcement delle policy che intervengono quando utenti locali o di dominio cambiano le proprie credenziali.
Il Local Security Authority (LSA) richiede validazione da ogni filtro registrato prima di memorizzare nuove password nel Security Accounts Manager (SAM). Durante questa validazione, i filtri ricevono le credenziali in chiaro - una caratteristica che gli attaccanti sfruttano posizionando DLL malevole nel processo di autenticazione.
Questa tecnica si manifesta in tre tattiche della kill chain: TA0003 (Persistence) per mantenere l'accesso dopo riavvii, TA0005 (Defense Evasion) operando come componente apparentemente legittimo, e TA0006 (Credential Access) per l'harvesting sistematico di password. Con 2 gruppi APT documentati che la utilizzano, rappresenta una minaccia concreta per domini enterprise.
Sviluppare un password filter malevolo richiede comprensione dell'architettura LSA. Il filtro viene implementato come DLL che esporta tre funzioni obbligatorie: InitializeChangeNotify, PasswordFilter e PasswordChangeNotify.
La funzione PasswordFilter riceve username e password in chiaro ad ogni cambio credenziali. Un attaccante può salvare queste informazioni in un file locale o esiltratrle via rete. Il deployment richiede privilegi amministrativi sul domain controller o sulla macchina target.
Per registrare il filtro, modifica il registry key: reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "Notification Packages" /t REG_MULTI_SZ /d "rassfm\0scecli\0malicious_filter" /f
La DLL deve essere posizionata in _C:\Windows\System32_ con lo stesso nome specificato nel registry. Il sistema carica automaticamente il filtro al prossimo boot o cambio password.
Strider ha perfezionato questa tecnica registrando moduli di persistenza direttamente sui domain controller. Ogni login o cambio password di amministratori, utenti locali o di dominio viene intercettato. OilRig utilizza varianti che combinano credential harvesting con drop di ulteriore malware.
Per testing in laboratorio, implementa logging delle credenziali in un file nascosto: echo %date% %time% %username% %password% >> C:\Windows\Temp\debug.log
Verifica il caricamento del modulo con Process Monitor filtrando per operazioni LSASS su Notification Packages. Il software Remsec dimostra implementazioni avanzate che operano esclusivamente in memoria, complicando la detection forense.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo