Script di Logon di Rete: Network Logon Script (T1037.003)

La tecnica T1037.003 - Network Logon Script sfrutta i meccanismi di esecuzione automatica degli script assegnati agli utenti tramite Active Directory o Group Policy Objects al momento del logon. Ogni volta che un utente autentica la propria sessione contro il dominio, il sistema recupera dal Domain Controller lo script associato al suo profilo e lo esegue nel contesto di sicurezza dell'utente stesso.

Dal punto di vista tattico, questa tecnica copre due fasi della MITRE ATT&CK Matrix: TA0003 (Persistence), perché garantisce esecuzione ricorrente ad ogni sessione utente, e TA0004 (Privilege Escalation), quando lo script viene assegnato ad account con privilegi amministrativi o quando la modifica dell'oggetto GPO consente all'attaccante di eseguire codice in contesti privilegiati su più host.

L'impatto operativo è amplificato dalla natura centralizzata di Active Directory: un singolo script modificato su una GPO applicata a un'unità organizzativa può essere eseguito su decine o migliaia di endpoint ad ogni logon, trasformando una compromissione localizzata in un vettore di distribuzione di massa. Il meccanismo è particolarmente insidioso perché sfrutta funzionalità legittime dell'infrastruttura Windows, rendendo la distinzione tra amministrazione ordinaria e attività malevola non banale senza correlazione tra eventi di modifica GPO e successiva esecuzione remota.

L'esecuzione di un'operazione red team su T1037.003 parte dall'enumerazione dell'ambiente Active Directory. Il primo passo consiste nell'identificare le GPO che assegnano script di logon di rete e gli account con privilegi di scrittura sui percorsi SYSVOL. Il modulo PowerView (open source, parte di PowerSploit) fornisce cmdlet come Get-DomainGPO e Get-DomainOU per mappare le relazioni tra GPO, OU e account bersaglio.

Una sequenza operativa tipica in laboratorio prevede:

  • Enumerazione GPO con Get-DomainGPO -Properties displayname,gpcfilesyspath per identificare i percorsi SYSVOL rilevanti
  • Verifica delle ACL con Get-DomainObjectAcl -Identity 'nome-gpo' -ResolveGUIDs per individuare GPO con permessi di scrittura eccessivi
  • Enumerazione degli utenti con script di logon assegnati tramite l'attributo scriptPath dell'oggetto utente: Get-DomainUser -LDAPFilter '(scriptPath=)'*

Una volta identificato un target, la modifica dello script può avvenire tramite accesso diretto alla share SYSVOL (path tipico *\dominio\SYSVOL\dominio\scripts*) oppure modificando l'attributo scriptPath con PowerShell Active Directory module (integrato in Windows RSAT, gratuito): Set-ADUser -Identity vittima -ScriptPath 'logon.bat'.

Per scenari basati su GPO, il tool SharpGPOAbuse (open source) permette di aggiungere script di logon a una GPO esistente specificando il payload da eseguire. La sintassi tipica è SharpGPOAbuse.exe --AddUserScript --ScriptName script.bat --ScriptContents "comando" --GPOName "Nome GPO".

Su ambienti Linux integrati con dominio via SSSD o Winbind, gli script di logon possono essere veicolati attraverso i meccanismi PAM (pam_script) o tramite login shell configurate centralmente, anche se il pattern nativo è meno diffuso rispetto a Windows.

In fase di post-exploitation, l'operatore red team deve valutare la ricorrenza del payload: uno script che si riscarica ad ogni logon garantisce persistenza anche dopo bonifica parziale dell'endpoint, ma aumenta anche la superficie di rilevamento. Il payload dovrebbe quindi essere modulare, con logica di verifica per evitare esecuzioni ridondanti e telemetria eccessiva.

Per laboratori isolati, il framework BadBlood (open source) permette di popolare rapidamente un dominio Active Directory con utenti, GPO e relazioni realistiche su cui testare la catena completa senza impattare ambienti di produzione. La combinazione BloodHound (open source) più SharpHound completa la fase di ricognizione visualizzando graficamente i percorsi di attacco che portano al controllo di GPO ad alto impatto.

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.