Proxy Execution via Regsvr32: System Binary Proxy Execution: Regsvr32 (T1218.010)

Regsvr32.exe è un binario nativo di Windows, firmato Microsoft, progettato per registrare e deregistrare controlli OLE e librerie DLL nel sistema operativo. Gli avversari ne abusano come proxy di esecuzione: invece di lanciare direttamente codice malevolo, lo fanno eseguire da un processo legittimo e trusted, aggirando così i controlli di sicurezza basati su allowlist.

La tecnica si colloca nella tattica Defense Evasion (TA0005), la fase della kill chain in cui l'attaccante cerca di operare sotto il radar delle difese. L'impatto è significativo: 11 gruppi APT, 23 software malevoli e 2 campagne documentate hanno sfruttato questo vettore.

La variante più nota è il cosiddetto Squiblydoo: regsvr32.exe carica un COM scriptlet (.sct) direttamente da un URL remoto, senza modificare il registro di sistema e senza richiedere privilegi elevati. Poiché il binario è nativamente proxy-aware, questa operazione transita normalmente attraverso la configurazione di rete del sistema, rendendo il traffico meno sospetto. Oltre all'esecuzione immediata, regsvr32.exe può essere impiegato per registrare COM Object usati nel COM Hijacking, garantendo persistenza nel tempo. L'ampiezza del suo abuso — dal cryptomining al ransomware, dalla cyber-espionage allo spear phishing — ne fa uno dei Living-off-the-Land Binary (LOLBin) più versatili nel panorama offensivo.

Il modo più diretto per simulare questa tecnica in laboratorio è replicare l'attacco Squiblydoo. Si prepara un file SCT (COM scriptlet) contenente il payload, lo si ospita su un web server controllato e si invoca regsvr32.exe con l'argomento /i in modalità silenziosa. Il comando classico è:

regsvr32 /s /n /u /i:file.sct scrobj.dll

In questa sintassi, /s sopprime le finestre di dialogo, /n evita la chiamata a DllRegisterServer, /u simula una deregistrazione e /i passa il riferimento allo scriptlet. Il file scrobj.dll è la libreria Microsoft che interpreta gli scriptlet COM. In un test offensivo reale si sostituisce file.sct con il percorso locale o remoto dello scriptlet malevolo.

Per generare un payload adeguato, Koadic (open source) è un framework C2 pensato proprio per questo scenario: il suo stager regsvr produce scriptlet pronti all'uso. In alternativa, Metasploit Framework (open source) offre il modulo exploit/windows/misc/regsvr32_applocker_bypass_server che automatizza l'intero flusso — hosting dello scriptlet, generazione del comando e gestione della sessione.

Un secondo scenario da testare è l'esecuzione diretta di una DLL malevola. Il red teamer compila una DLL con una funzione DllRegisterServer che esegue shellcode e la lancia con:

regsvr32 /s payload.dll

Questo approccio simula il comportamento di malware come QakBot, Emotet e Dridex, che distribuiscono DLL destinate proprio a regsvr32.exe. Il framework Covenant (open source) permette di generare file SCT che installano i propri agenti Grunt tramite regsvr32, offrendo un'alternativa C#-native a Koadic.

Per validare la catena in ambiente controllato, Atomic Red Team (open source) fornisce test atomici specifici per T1218.010 che eseguono sia la variante scriptlet remoto sia la variante DLL locale. Si consiglia di correlare ogni test con le regole di detection attive nel SIEM per verificarne l'efficacia.

Sul piano della persistenza, si può dimostrare il COM Hijacking registrando un oggetto COM fittizio il cui percorso punta a una DLL controllata dall'attaccante. L'aggiunta nel registro avviene in HKCU\Software\Classes\CLSID\, e regsvr32.exe verrà invocato automaticamente quando un processo legittimo tenta di istanziare quel CLSID. Questo scenario replica il pattern documentato per Derusbi e Hi-Zor, che sfruttano le Registry Run Keys in combinazione con regsvr32.exe.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo