Installer Hijacking: Hijack Execution Flow - Executable Installer File Permissions Weakness (T1574.005)
La manipolazione dei permessi su file eseguibili degli installer rappresenta una tecnica di compromissione che sfrutta configurazioni permissive nelle directory temporanee e nei percorsi di installazione. Gli attaccanti sostituiscono binari legittimi con payload malevoli durante il processo di installazione, ereditando i privilegi elevati del processo originale.
Questa tecnica si manifesta in tre tattiche critiche della kill chain. Nella fase di Persistence (TA0003), garantisce la permanenza sostituendo codice legittimo che viene eseguito automaticamente. Durante Privilege Escalation (TA0004), permette l'esecuzione con privilegi SYSTEM sfruttando installer che richiedono elevazione. Infine supporta Defense Evasion (TA0005) mascherando il malware all'interno di processi fidati.
Il gruppo APT Mustang Panda ha dimostrato l'efficacia operativa di questa tecnica utilizzando l'eseguibile legittimo "IRSetup.exe" di Setup Factory per rilasciare payload malevoli. La debolezza intrinseca degli installer self-extracting, che decomprimono file in sottodirectory %TEMP% con permessi inadeguati, crea opportunità di attacco sistematiche.
L'exploit di questa vulnerabilità inizia identificando installer vulnerabili che creano directory temporanee con permessi permissivi. PowerUp del framework PowerSploit automatizza questa ricerca con il comando:
Invoke-AllChecks -Verbose | Where-Object {$_.AbuseFunction -match "Install-ServiceBinary"}
Una volta identificato un installer vulnerabile, monitora il processo di installazione per catturare i percorsi temporanei utilizzati. Process Monitor di Sysinternals rivela in tempo reale dove l'installer decomprime i suoi file. Configura un filtro per il processo installer e osserva gli eventi CreateFile nelle directory %TEMP%.
La sostituzione del binario richiede tempismo preciso. Crea uno script che monitora la creazione della directory temporanea e sostituisce immediatamente l'eseguibile target:
$targetPath = "$env:TEMP\SetupTemp_*\legitimate.exe"
while (-not (Test-Path $targetPath)) { Start-Sleep -Milliseconds 100 }
Copy-Item malicious.exe $targetPath -Force
Per Linux, la tecnica si adatta agli installer che utilizzano /tmp con permessi 777. Monitora con inotifywait e sostituisci il binario appena viene estratto:
inotifywait -m /tmp -e create | while read path action file; do cp malicious.bin "$path/$file" 2>/dev/null; done
Il payload deve mantenere le funzionalità originali per evitare crash dell'installer. Usa msfvenom per generare un payload che preserva il flusso di esecuzione originale incorporando il codice malevolo.
La persistenza si ottiene targetizzando installer che vengono eseguiti durante aggiornamenti automatici o manutenzione pianificata. Identifica questi pattern analizzando le Task Schedule di Windows o i cron job di Linux che invocano processi di installazione.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo