Script di Avvio e Logon: Boot or Logon Initialization Scripts (T1037)

La tecnica T1037 - Boot or Logon Initialization Scripts descrive l'abuso di script eseguiti automaticamente durante le fasi di boot del sistema operativo o al logon dell'utente per stabilire un punto d'appoggio persistente. Questi script, nati per legittime funzioni amministrative come il mount di risorse di rete, la sincronizzazione di configurazioni o l'inoltro di log a server centralizzati, diventano un vettore ideale per l'esecuzione ricorrente di codice ostile.

La tecnica copre due tattiche MITRE ATT&CK: TA0003 (Persistence), perché garantisce esecuzione automatica attraverso reboot e cambi di credenziali, e TA0004 (Privilege Escalation), poiché molti hook di inizializzazione girano con privilegi elevati (SYSTEM su Windows, root su Unix). Nella kill chain si colloca subito dopo Initial Access ed Execution, come meccanismo che consolida l'accesso ottenuto prima di procedere verso Credential Access e Lateral Movement.

I dati MITRE censiscono 4 gruppi APT che sfruttano attivamente la tecnica (APT29, APT41, Rocke, UNC3886), 2 famiglie malware (RotaJakiro, VIRTUALPITA), 1 campagna documentata (ArcaneDoor su apparati di rete) e 2 mitigazioni basate sul controllo di permessi filesystem e registry. L'impatto operativo è significativo: la persistenza tramite script d'inizializzazione sopravvive a patching parziali, cambi password e riavvii, e spesso resta invisibile ai controlli antivirus tradizionali perché si annida in artefatti testuali legittimi anziché in binari sospetti.

In un ingaggio red team, la scelta del vettore di inizializzazione dipende dalla piattaforma target e dal livello di privilegi ottenuto nella fase di Execution.

Su Windows, il punto di partenza classico è la chiave HKCU\Software\Microsoft\Windows\CurrentVersion\Run per persistenza utente, oppure HKLM...\Run con privilegi amministrativi. Un comando PowerShell tipico è:

Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "Updater" -Value "C:\Users\Public\payload.exe"

Per scenari di dominio, è interessante l'abuso di Logon Scripts distribuiti via GPO: modificando lo script assegnato tramite l'attributo scriptPath dell'oggetto utente in Active Directory, si ottiene esecuzione ad ogni logon interattivo. Il tool SharpHound (open source) mappa le GPO scrivibili, mentre PowerView (open source, parte di PowerSploit) permette di enumerare Get-NetGPO e identificare hook sfruttabili.

Su Linux, i vettori operativi ricalcano quanto osservato in campagne reali. La creazione di uno script in /etc/init.d/ seguita da update-rc.d service defaults garantisce avvio al boot su distribuzioni SysV-compatibili, esattamente come fatto da Rocke e APT41. Per sistemi Upstart legacy, un file .conf in /etc/init/ replica il comportamento di RotaJakiro. In ambienti systemd moderni la scelta si sposta su ~/.bashrc, /etc/profile.d/*.sh oppure unit file custom in /etc/systemd/system/.

Su macOS, i LaunchAgent (~/Library/LaunchAgents/) e LaunchDaemon (/Library/LaunchDaemons/) sostituiscono i vecchi login hook. Un file plist con chiave RunAtLoad impostata a true e ProgramArguments che punta al payload viene caricato da launchd al successivo logon. Il framework Mythic (open source) e l'agent Poseidon automatizzano questi impianti in scenari di simulazione.

Su ESXi, l'abuso segue il pattern di VIRTUALPITA: modifica di /etc/rc.local.d/local.sh oppure aggiunta di script init.d, sfruttando l'accesso root all'hypervisor. Su apparati di rete Cisco, la campagna ArcaneDoor ha dimostrato l'uso di boot script nella startup-config per caricare Line Runner.

Un ultimo scenario, allineato al comportamento di UNC3886, riguarda la manipolazione degli initramfs di appliance FortiGate/FortiManager: dopo aver estratto rootfs.gz con gunzip e cpio -id, si aggiungono comandi a /etc/init.d/localnet per bypassare la verifica di firma al boot, quindi si ricomprime l'archivio. Questo scenario è replicabile solo in laboratorio dedicato con firmware analysis su immagini legittimamente ottenute.

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.