Esecuzione Innescata da Eventi: Event Triggered Execution (T1546)
Event Triggered Execution raggruppa tutte le tecniche in cui un attaccante abusa dei meccanismi nativi di sottoscrizione a eventi del sistema operativo o del cloud per ottenere esecuzione automatica di codice malevolo. Il principio è elegante nella sua semplicità: invece di piazzare un binario in un percorso di autorun facilmente enumerabile, l'avversario aggancia il proprio payload a un evento legittimo — un logon, l'avvio di un processo, l'upload di un oggetto su S3, l'apertura di un documento Office — trasformando l'attività normale del sistema nel proprio trigger di esecuzione.
La tecnica serve due tattiche complementari. In TA0003 Persistence garantisce accesso ripetuto attraverso reboot, cambi di credenziali e altre interruzioni, perché il meccanismo di trigger è intrinseco al funzionamento della piattaforma. In TA0004 Privilege Escalation sfrutta il fatto che molti event handler vengono eseguiti nel contesto di account privilegiati come SYSTEM, root o service account cloud, permettendo un salto di privilegio senza exploit di kernel.
La superficie è vastissima: si va da WMI Event Subscription e launchd plist fino alle Lambda function con trigger su bucket S3 e ai flow di Power Automate su Microsoft 365. La campagna KV Botnet Activity (C0035, ottobre 2022 – gennaio 2024) attribuita a Volt Typhoon ha dimostrato l'applicabilità anche a router SOHO end-of-life, dove libevent veniva usato per intercettare l'esecuzione di binari come busybox, wget o curl e terminare processi concorrenti.
Sul versante offensivo la tecnica offre un ventaglio di primitive che vale la pena esercitare in laboratorio isolato, mai contro sistemi di produzione senza autorizzazione scritta.
Su Windows il vettore classico resta la WMI Event Subscription permanente, composta da tre oggetti: un EventFilter WQL che descrive l'evento da intercettare, un EventConsumer (tipicamente CommandLineEventConsumer o ActiveScriptEventConsumer) che definisce l'azione, e un FilterToConsumerBinding che li lega. La creazione può avvenire via PowerShell con i cmdlet Set-WmiInstance del namespace root\subscription, oppure con Impacket (open source) tramite lo script wmipersist.py. Framework come SharpWMI (open source) o il modulo persistence/elevated/wmi di PowerSploit (open source, non più manutenuto attivamente) semplificano la sintassi. Un filtro tipico si aggancia a __InstanceModificationEvent su Win32_LocalTime per triggerare l'esecuzione a orari specifici.
Sempre su Windows, gli AppInit_DLL, gli Image File Execution Options (chiave Debugger) e gli Accessibility Feature (sticky keys, utilman) restano vettori documentati. Il tooling Atomic Red Team (open source) fornisce test riproducibili per ciascuna sotto-tecnica di T1546, ideali per validare la telemetria EDR.
Su Linux il territorio comprende hijack di .bashrc, .bash_profile e xdg autostart, ma anche systemd path units e timer units che reagiscono a modifiche di file. Un timer che invoca uno script in ~/.config al primo login utente offre persistenza a livello utente senza privilegi elevati. Le trap del kernel inotify possono essere abusate per triggerare eseguibili a ogni modifica di file monitorato.
Su macOS i launchd plist in ~/Library/LaunchAgents e /Library/LaunchDaemons sono lo standard, con chiavi WatchPaths o StartOnMount per legare l'esecuzione a eventi filesystem. La suite XCSSET ha mostrato una variante creativa: il modulo dfhsebxzod ricerca directory .xcodeproj nella home e inietta payload codificati nei file project.pbxproj, sfruttando la fase di build come trigger.
In ambiente cloud AWS il tool Pacu (open source) automatizza la creazione di notifiche S3 collegate a Lambda malevole e la generazione di funzioni Lambda che si attivano alla creazione di utenti, ruoli o gruppi IAM — pattern documentato nel modulo lambda__backdoor_new_users. Su Microsoft 365 i flow di Power Automate con trigger su nuova mail o file caricato realizzano l'equivalente SaaS.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo