Persistenza via Form Personalizzati: Outlook Forms (T1137.003)
La tecnica T1137.003 — Outlook Forms sfrutta un meccanismo legittimo di Microsoft Outlook, i moduli personalizzati usati come template per la presentazione e la logica dei messaggi, per ottenere persistenza sul sistema compromesso. L'attaccante inserisce nella mailbox della vittima un form contenente codice VBScript malevolo; il form resta silente finché l'attaccante non invia un'email specificamente costruita che referenzia la stessa classe di messaggio, momento in cui il codice viene eseguito nel contesto di outlook.exe.
La tecnica ricade nella tattica TA0003 (Persistence) e si colloca dopo una fase di Initial Access o Credential Access, poiché richiede credenziali valide (spesso ottenute via password spraying o phishing) per accedere alla mailbox tramite protocolli come Exchange Web Services, MAPI/HTTP o Outlook Anywhere. Non richiede necessariamente esecuzione locale sull'endpoint per l'installazione: l'attaccante può iniettare il form da remoto, rendendo la tecnica particolarmente insidiosa.
L'impatto è significativo perché la persistenza sopravvive a reboot, cambio password (se il token OAuth o le credenziali restano valide) e reinstallazione del sistema operativo, dato che il form risiede lato server nella mailbox. Microsoft ha rilasciato tre patch chiave — KB3191938, KB4011091 e KB4011162 — per mitigare la superficie d'attacco, ma sistemi non aggiornati restano vulnerabili. La MITRE traccia un solo tool pubblico associato (Ruler), che ha reso la tecnica accessibile anche ad attaccanti con competenze medie.
L'esecuzione di un esercizio red team su T1137.003 ruota quasi interamente attorno a Ruler (open source), il tool sviluppato da SensePost che automatizza abuso di Outlook Forms, Rules e Home Page. Il prerequisito è disporre di credenziali valide per una mailbox Exchange, tipicamente ottenute con MailSniper (open source) per password spraying contro endpoint OWA/EWS o Autodiscover.
Un flusso operativo tipico in laboratorio inizia con la discovery dell'endpoint Autodiscover:
ruler --domain target.lab --username utente --password 'Password123' --email utente@target.lab autodiscover
Una volta confermato l'accesso alla mailbox, si procede con l'iniezione del form malevolo. Ruler fornisce un sotto-comando dedicato che accetta un payload VBScript e lo impacchetta come custom form:
ruler --email utente@target.lab form add --suffix pwn --input payload.txt --send
Il flag --send invia automaticamente il messaggio trigger che innesca l'esecuzione, evitando di dover attendere azioni della vittima. Il payload tipico è un launcher PowerShell che scarica uno stager, ad esempio un beacon Sliver (open source) o Havoc (open source); in ambiente di laboratorio autorizzato si può usare Metasploit (open source) per generare uno shellcode compatibile.
È importante distinguere tre varianti che Ruler supporta e che vale la pena testare separatamente per valutare la detection:
- Forms (T1137.003): esecuzione via classe di messaggio personalizzata
- Rules (T1137.005): regole client-side che lanciano eseguibili
- Home Page (T1137.006): abuso della property WebViewURL delle cartelle
La variante Forms è quella con maggiore probabilità di successo su sistemi non patchati contro KB4011091, che disabilita i custom form by default. In un ambiente aggiornato, occorre verificare tramite Ruler le versioni della patch installate e considerare che Outlook 2016+ richiede modifiche registry (HKCU\Software\Microsoft\Office<versione>\Outlook\Security\EnableUnsafeClientMailRules) per riabilitare la funzione, cosa che di solito indica una configurazione errata da segnalare al cliente.
Per post-exploitation e pulizia, Ruler fornisce form delete per rimuovere il form al termine dell'ingaggio. Documentare sempre gli identificatori delle classi di messaggio create (tipicamente IPM.Note.pwn o simili) per consentire al blue team di verificare la bonifica. In alternativa a Ruler, per test manuali o quando l'endpoint EWS è filtrato, si può usare Outlook stesso con VBA scripting per creare form via interfaccia grafica, utile per riprodurre lo scenario end-to-end.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo