Winlogon Helper DLL: Abuso di Winlogon per Persistenza (T1547.004)

La tecnica T1547.004 sfrutta le funzionalità estensibili di Winlogon.exe, il componente di Windows responsabile delle operazioni di logon/logoff e della gestione della secure attention sequence (Ctrl-Alt-Del). Manipolando specifiche chiavi di registro sotto HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\ e la corrispondente hive utente HKCU, un attaccante può forzare Winlogon a caricare DLL o eseguibili arbitrari a ogni logon.

I sottochiavi più abusati sono tre. Notify registra pacchetti DLL che gestiscono eventi Winlogon. Userinit punta al programma di inizializzazione utente (di default userinit.exe) e accetta valori concatenati con virgola. Shell definisce la shell di sistema, tipicamente explorer.exe, e può essere sostituita o affiancata da un binario malevolo.

L'inquadramento MITRE colloca la tecnica in TA0003 (Persistence) e TA0004 (Privilege Escalation), poiché il codice iniettato eredita il contesto privilegiato dei processi di logon, spesso SYSTEM per la hive HKLM. Nella kill chain si posiziona dopo l'Initial Access e l'Execution, come meccanismo che garantisce sopravvivenza a riavvii, cambio credenziali e disconnessioni.

I dati MITRE censiscono 3 gruppi APT, 10 famiglie malware e 2 mitigazioni associate. La diffusione trasversale — da APT statuali come Turla e Tropic Trooper fino a operazioni cybercrime come Wizard Spider e ransomware moderni come LockBit 3.0 e Qilin — conferma che la tecnica resta un pilastro della persistenza Windows nonostante sia nota da oltre vent'anni.

In un esercizio red team la simulazione di T1547.004 richiede privilegi di scrittura sulla hive corretta: HKCU basta per persistenza utente, mentre HKLM richiede diritti amministrativi ma garantisce esecuzione in contesto SYSTEM. La chiave Shell è il vettore più semplice e più rumoroso; Userinit e Notify sono più stealth ma richiedono attenzione alla sintassi.

Per la variante Shell hijack in contesto utente, la sintassi replicata da Gazer e Tropic Trooper è:

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "explorer.exe, C:\Users\Public\payload.exe" /f

Il valore mantiene explorer.exe come prima voce per non rompere l'esperienza utente e concatena il payload dopo la virgola. Per la variante Userinit hijack in contesto machine (usata da Remexi e Wizard Spider):

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /t REG_SZ /d "C:\Windows\system32\userinit.exe,C:\ProgramData\loader.exe," /f

La virgola finale è parte della sintassi attesa da Winlogon. Per la variante Notify package serve una DLL che esporti le callback WlxNegotiate, meccanismo usato storicamente da varianti di Dipsind.

Sul lato tooling da laboratorio, PowerShell Empire (open source, non più mantenuto ma disponibile su GitHub in fork attivi) e Metasploit Framework (open source) includono moduli di persistence che coprono varianti Winlogon. Nishang (open source) fornisce script PowerShell per manipolazione registry. Per attività manuali, Sysinternals Autoruns (gratuito) è utile in fase di validazione: mostra esattamente quali entry Winlogon vengono processate e permette di confermare che il payload sia stato registrato correttamente.

Un workflow tipico prevede prima l'ottenimento del foothold con un loader in memoria, poi la scrittura della chiave con reg.exe o con la cmdlet PowerShell Set-ItemProperty, infine la validazione tramite logoff/logon oppure con Restart-Computer. Per operazioni stealth, evita di scrivere il binario in %TEMP% o %APPDATA% — path monitorati dalla maggior parte degli EDR — e preferisci sottodirectory di ProgramData o percorsi legittimi di applicazioni installate. La firma del binario con un certificato self-signed non aiuta contro un buon EDR ma riduce il rumore su alert basici. Come test di rilevamento post-esercizio, verifica che il SOC generi almeno un alert su modifica della chiave e un secondo su spawning anomalo da winlogon.exe o userinit.exe.

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.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.