Una tecnica di privilege escalation chiamata PhantomRPC sta facendo parlare di sé nel mondo della sicurezza informatica, e il motivo è piuttosto semplice: sfrutta qualcosa che in Windows esiste da sempre, ma che quasi nessuno guarda con attenzione. Si parla della comunicazione tra processi tramite RPC, acronimo di Remote Procedure Call. Non è il solito bug da manuale con corruzione della memoria o buffer overflow. Qui il discorso è più sfumato. I ricercatori di Kaspersky hanno dimostrato che un servizio locale già compromesso può sfruttare il modo in cui Windows gestisce le chiamate RPC per arrivare a ottenere privilegi SYSTEM, ovvero il livello più alto possibile su una macchina.
RPC è un meccanismo che consente a un processo di chiamare codice presente in un altro processo, quasi fosse una funzione locale. Ogni volta che un servizio, un’applicazione o una utility di sistema deve chiedere qualcosa a un altro componente, con buona probabilità sotto il cofano sta lavorando proprio RPC. Il risultato? Una superficie di attacco enorme, distribuita ovunque nel sistema operativo e spesso del tutto invisibile anche a chi con Windows lavora ogni giorno. I test condotti da Kaspersky hanno riguardato Windows Server 2022 e Windows Server 2025 aggiornati, ma il comportamento osservato suggerisce che il problema sia molto più esteso e non limitato a singole versioni.
Il dettaglio tecnico che rende tutto possibile è legato alla cosiddetta impersonificazione: il server RPC può temporaneamente assumere l’identità del client, a patto che il client lo consenta e che il server abbia il privilegio giusto, noto come SeImpersonatePrivilege. PhantomRPC entra in gioco proprio qui. Windows non verifica in modo abbastanza robusto che il server RPC con cui il client si collega sia davvero quello legittimo. Se il server vero non è disponibile, un processo malevolo può crearne uno falso con lo stesso identificatore e lo stesso endpoint. Quando il client tenta la connessione, finisce per parlare con l’attaccante. E se la chiamata RPC prevede un livello di impersonificazione elevato, il server fasullo può assumere l’identità del client. In pratica, un servizio compromesso può diventare SYSTEM.
Esempi concreti: da gpupdate a Edge fino ai servizi diagnostici
Uno degli scenari più significativi emersi dalla ricerca riguarda il comando gpupdate, quello che permette di aggiornare le policy di gruppo in Windows. Quando un amministratore esegue gpupdate /force, il servizio Group Policy, che opera come account SYSTEM, tenta di comunicare via RPC con il servizio Desktop remoto. Se quest’ultimo non è in esecuzione, la comunicazione normalmente fallisce. Tuttavia un attaccante può anticipare la mossa: avvia un server RPC malevolo che si spaccia per il servizio Desktop remoto legittimo. Il servizio di sistema si connette al server controllato dall’attaccante, che riesce così ad assumere l’identità SYSTEM. Dal punto di vista del sistema operativo, il comportamento è formalmente corretto: non è progettato per riconoscere un servizio contraffatto in questo scenario.
Ma non finisce qui. La ricerca mostra altri casi interessanti. Microsoft Edge, all’avvio, può generare chiamate RPC verso servizi non attivi: se un amministratore apre il browser, l’attaccante può intercettare quella chiamata. Il servizio diagnostico di Windows, che gira come SYSTEM, invia richieste RPC periodiche senza alcuna interazione da parte dell’utente: per l’aggressore basta letteralmente aspettare. Poi ci sono utility come ipconfig o w32tm che tentano connessioni RPC a endpoint prevedibili o addirittura inesistenti: con le tempistiche giuste, il gioco è fatto.
Microsoft ha classificato il problema alla base di PhantomRPC come di gravità “moderata”. Dal punto di vista formale ha senso: serve già un certo livello di accesso e il privilegio di impersonificazione. Ma dal punto di vista operativo la valutazione cambia parecchio, perché in molte intrusioni reali ottenere accesso a Network Service o Local Service è cosa relativamente comune. I ricercatori di Kaspersky hanno sviluppato proof of concept funzionanti senza pubblicare exploit completi pronti all’uso, ma il materiale disponibile è sufficiente per chi ha competenze offensive per replicare la tecnica. PhantomRPC non rompe le regole del sistema: le usa esattamente per come sono state progettate.
