Dirottamento del PATH: Path Interception by PATH Environment Variable (T1574.007)

La tecnica T1574.007 sfrutta un meccanismo tanto banale quanto insidioso: la variabile d'ambiente PATH, che il sistema operativo consulta in sequenza per risolvere il percorso di un eseguibile chiamato senza qualifica completa. Un attaccante che riesca a collocare un binario malevolo in una directory presente nel PATH prima di quella legittima ottiene esecuzione trasparente ogni volta che l'utente o uno script invoca il nome del comando.

L'esempio canonico su Windows è la creazione di un falso net.exe in una cartella come C:\example path che precede C:\Windows\system32 nell'ordine di ricerca. Su Linux e macOS lo stesso principio si applica alla variabile $PATH (e talvolta $HOME), modificabile tramite shell, launchctl, file di configurazione della shell o la cartella /etc/paths.d.

MITRE colloca la tecnica in tre tattiche: TA0003 Persistence perché il dirottamento sopravvive ai riavvii, TA0004 Privilege Escalation quando il binario intercettato viene eseguito con privilegi superiori (servizi, task pianificati), e TA0005 Defense Evasion perché l'esecuzione appare legittima ai controlli di superficie. Nel kill chain si posiziona tipicamente dopo l'accesso iniziale, come amplificatore di persistenza e movimento laterale silenzioso.

I dati MITRE contano 3 software che sfruttano o abilitano la tecnica (PowerSploit, Empire, DarkGate) e 3 mitigazioni ufficiali. Nessun gruppo APT è formalmente mappato, segno che il vettore è più uno strumento generico che una firma di specifici attori.

Per un red teamer, T1574.007 è uno dei modi più eleganti per stabilire persistenza a bassa detection su un host già compromesso. La logica è sempre la stessa: identificare una directory scrivibile presente nel PATH prima delle directory di sistema, poi collocarvi un binario con nome identico a un comando frequentemente invocato.

Su Windows, la prima fase è enumerare il PATH e verificare le ACL di ogni directory. Da PowerShell: $env:PATH -split ';' per l'elenco, poi icacls su ciascuna cartella per identificare quelle con permessi di scrittura per utenti non privilegiati. Il framework PowerSploit (open source, archiviato ma ancora funzionante) automatizza il lavoro con il modulo PowerUp: la funzione Invoke-AllChecks include controlli specifici per path interception e restituisce le opportunità sfruttabili. Anche Empire (open source, il fork BC-Security è attivo) integra moduli equivalenti derivati da PowerUp.

Un payload tipico è un piccolo eseguibile che invoca il binario legittimo passando gli argomenti originali, per non insospettire l'utente, e in parallelo lancia il beacon. Il nome ideale è quello di un tool invocato da task pianificati o servizi che girano come SYSTEM: net.exe, cmd.exe, tracert.exe sono classici, ma vale la pena controllare i log di Sysmon per vedere quali binari senza path assoluto vengono richiamati da processi privilegiati.

Su Linux, il vettore più immediato è la manipolazione di ~/.bashrc, ~/.profile o ~/.bash_profile aggiungendo una directory controllata in testa a $PATH, ad esempio export PATH=$HOME/.local/bin:$PATH. Se l'utente target è root o esegue sudo con env_reset disabilitato, il dirottamento colpisce anche i comandi elevati. Un classico è creare un finto ls o sudo che logga le credenziali digitate.

Su macOS, oltre ai file di shell, si può aggiungere un file in /etc/paths.d/ (richiede scrittura in area privilegiata) oppure agire su launchctl setenv PATH per modificare l'ambiente globale. La variabile $HOME può essere ridiretta per far caricare configurazioni malevole.

In scenari ESXi o container il vettore è meno rilevante, ma nei container Docker che eseguono script con PATH ereditato dal Dockerfile una directory scrivibile in testa può abilitare escape del processo. Per lab controllati, DarkGate (documentato, non distribuito) mostra una variante interessante: sovrascrive la variabile %windir% via registry (HKCU\Environment\windir) per dirottare il task pianificato DiskCleanup.

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.