Path Non Quotato: Path Interception by Unquoted Path (T1574.009)

La tecnica T1574.009 sfrutta una debolezza classica ma sorprendentemente longeva della piattaforma Windows: la gestione dei percorsi eseguibili contenenti spazi ma privi di virgolette delimitatrici. Quando un servizio o uno shortcut fa riferimento a un binario come C:\Program Files\My App\service.exe senza racchiudere l'intera stringa tra doppi apici, il loader di Windows tenta di risolvere l'eseguibile spezzando il path a ogni spazio. Il risultato è che un attaccante capace di scrivere C:\Program.exe o C:\Program Files\My.exe vede il proprio payload eseguito al posto di quello legittimo.

L'inquadramento MITRE ATT&CK colloca la tecnica trasversalmente su tre tattiche: TA0003 (Persistence), perché il binario intercettato viene rilanciato a ogni avvio del servizio o esecuzione dello shortcut; TA0004 (Privilege Escalation), poiché molti servizi vulnerabili girano come SYSTEM e cedono all'attaccante lo stesso livello privilegiato; e TA0005 (Defense Evasion), in quanto l'esecuzione avviene sotto l'ombrello di un processo genitore fidato, riducendo la superficie di allarme.

Dal punto di vista della kill chain, la debolezza si manifesta nella fase post-exploitation dopo un accesso iniziale con privilegi anche limitati. La scarsa visibilità del difensore sui path di servizio combinata con la difficoltà di remediation su parchi macchine ampi rende T1574.009 una tecnica ancora oggi ricorrente in assessment interni e in campagne opportunistiche.

L'enumerazione dei servizi con path non quotati è il punto di partenza. Su un host Windows, un comando wmic ancora funzionante nelle release meno recenti restituisce rapidamente i candidati:

wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows\" | findstr /i /v "

Su sistemi moderni dove wmic è deprecato, la stessa logica si ottiene via PowerShell interrogando la classe Win32_Service e filtrando le proprietà PathName che contengono spazi ma non iniziano con virgolette. Un approccio classico è iterare su Get-CimInstance -ClassName Win32_Service e valutare via regex la presenza di spazi non protetti nella prima parte del path.

Una volta identificato un servizio candidato, occorre verificare i permessi di scrittura sulle directory intermedie del percorso. Il tool icacls (nativo Windows) risponde a questa domanda:

icacls "C:\Program Files\Vendor"

Se l'ACL espone un gruppo come BUILTIN\Users o Authenticated Users con permessi di scrittura o CreateFiles, la vulnerabilità è sfruttabile. Il payload viene collocato con il nome della prima parola del path successiva a uno spazio non quotato e con estensione .exe.

Nel mondo dei framework offensivi, PowerSploit (open source) espone il modulo PowerUp con la funzione Get-UnquotedService e la controparte automatizzata Write-ServiceBinary, che genera un binario di test e lo installa nel percorso di intercettazione. Analogamente Empire (open source, oggi mantenuto dalla community BC-Security) integra moduli privesc/powerup/write_serviceexe per la stessa catena.

Un workflow tipico di red team prevede tre fasi: prima si mappa il parco servizi vulnerabili con Invoke-AllChecks di PowerUp, poi si valida quali di questi girano con account privilegiati confrontando la colonna StartName (LocalSystem è il target ideale), infine si stagea un service binary compilato con la struttura ServiceMain corretta per non far crashare il Service Control Manager al primo avvio.

In ambiente lab è utile creare uno scenario controllato installando un servizio custom con sc.exe create TestSvc binPath= "C:\Test Folder\bin\svc.exe" start= auto, notando l'assenza di quoting attorno al path, per poi esercitare rilevazione e sfruttamento senza toccare produzione. Per gli shortcut .lnk, l'analisi con LECmd di Eric Zimmerman (open source) rivela i TargetPath vulnerabili in profili utente e cartelle Startup.

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.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.