Script di Logon Windows: Logon Script (T1037.001)

La tecnica T1037.001 sfrutta una funzionalità legittima di Windows che consente di eseguire script personalizzati al momento del logon di uno specifico utente. Il meccanismo si basa sulla chiave di registro HKCU\Environment\UserInitMprLogonScript, un valore poco documentato ma pienamente supportato dal sistema operativo, che punta a un eseguibile o a uno script lanciato automaticamente durante l'inizializzazione della sessione utente.

L'abuso ricade principalmente sulla tattica TA0003 (Persistence), poiché garantisce all'attaccante il riavvio del proprio codice ad ogni autenticazione interattiva, sopravvivendo a reboot e cambi di credenziali. In determinate configurazioni la stessa chiave permette anche TA0004 (Privilege Escalation), quando lo script viene eseguito in un contesto con privilegi superiori rispetto all'utente compromesso o quando amministratori privilegiati effettuano il logon sulla macchina persistita.

Dal punto di vista della kill chain, la tecnica si colloca dopo l'Initial Access e l'Execution, tipicamente al termine della fase di consolidamento. La superficie di impatto è significativa: i dati MITRE documentano 2 gruppi APT (APT28 e Cobalt Group) e 4 famiglie malware (JHUHUGIT, Zebrocy, Attor, KGH_SPY) che hanno adottato questo esatto pattern, tutti convergenti sulla medesima chiave di registro. La mitigazione ufficiale disponibile è M1024 (Restrict Registry Permissions), con un'unica detection consolidata (DET0072) che copre modifica e successiva esecuzione dello script in contesto di logon.

In un esercizio red team, la simulazione di T1037.001 è tra le più semplici da implementare e serve a validare le capacità di detection del blue team su una chiave di registro poco monitorata. Il payload iniziale può essere un semplice batch, un VBScript o un binario compilato che avvia il beacon C2.

La creazione della persistenza richiede una singola operazione di scrittura nel ramo HKCU, quindi non necessita di privilegi amministrativi: qualsiasi utente autenticato può persistere sul proprio profilo. Con reg.exe nativo:

reg add "HKCU\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\Users\Public\payload.bat" /f

Oppure in PowerShell, che offre migliore integrazione in loader in-memory:

Set-ItemProperty -Path "HKCU:\Environment" -Name "UserInitMprLogonScript" -Value "C:\Users\Public\payload.bat"

Dopo la scrittura, il trigger si attiva al successivo logon interattivo dell'utente. Per validare in laboratorio senza attendere, è sufficiente eseguire logoff seguito da nuovo login, oppure invocare runas /user:target cmd per simulare l'iniziazione di sessione.

Dal punto di vista dei framework offensivi, la tecnica è implementata nativamente in Atomic Red Team (open source) con l'atomic test dedicato a T1037.001, che consente esecuzione controllata e cleanup automatico. Empire e Covenant (entrambi open source) espongono moduli di persistenza che scrivono la stessa chiave, così come Metasploit Framework (open source) tramite il modulo di post-exploitation per persistenza registry-based. Chi preferisce operazioni manuali può usare SharPersist (open source), toolkit C# specificamente dedicato alla persistenza Windows, che include il modulo logonscript.

Per una catena d'attacco realistica, il payload puntato dalla chiave dovrebbe essere posizionato in una directory scrivibile dall'utente ma poco ispezionata (es. sottocartelle di AppData\Local), evitando percorsi banali come C:\Users\Public. Una variante più stealth consiste nel far puntare la chiave a uno script che a sua volta decodifica ed esegue payload in memoria via rundll32 o regsvr32, riducendo l'esposizione su disco.

Durante l'esercizio è utile combinare la persistenza con T1548 (Abuse Elevation Control Mechanism) per verificare se lo script eseguito eredita privilegi elevati quando l'utente compromesso appartiene al gruppo Administrators. Il cleanup finale deve rimuovere il valore con reg delete "HKCU\Environment" /v UserInitMprLogonScript /f e cancellare il payload dal filesystem, documentando gli IoC per il debrief con il blue team.

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.