Onderzoekers van Kaspersky hebben een nieuwe kwetsbaarheid in de Windows Remote Procedure Call (RPC) architectuur onthuld, die een unieke methode voor lokale privilege-escalatie mogelijk maakt. Deze kwetsbaarheid, genaamd PhantomRPC, stelt processen met impersonatiebevoegdheden in staat om hun rechten te verhogen naar het SYSTEM-niveau, het hoogste privilege binnen Windows. Ondanks een correcte melding heeft Microsoft nog geen patch uitgebracht.

Windows Interprocess Communication (IPC) is een complexe technologie binnen het Windows-besturingssysteem, waarbij RPC een centrale rol speelt als communicatiekanaal tussen processen. RPC werkt volgens een client-servermodel waarbij een proces (de client) functies kan aanroepen die geïmplementeerd zijn in een ander proces (de server). Elke RPC-interface wordt uniek geïdentificeerd door een UUID. De communicatie verloopt via verschillende transportlagen, zoals TCP-poorten of named pipes, afhankelijk van het gebruikte protocol.

De PhantomRPC-kwetsbaarheid maakt gebruik van een architecturale zwakte in de RPC-implementatie, waardoor meerdere aanvalspaden mogelijk zijn. Kaspersky toont vijf verschillende exploitmethoden waarmee privileges kunnen worden opgehoogd vanuit diverse lokale of netwerkservicecontexten naar SYSTEM of andere hooggeprivilegieerde gebruikers. Sommige methoden vereisen gebruikersinteractie, andere maken misbruik van achtergrondservices of specifieke accounts zoals de Local Service-account.

Omdat deze kwetsbaarheid voortkomt uit een fundamenteel ontwerpprobleem, is het aantal mogelijke aanvalsvectoren onbeperkt. Elke nieuwe service of proces dat afhankelijk is van RPC kan een extra escalatiepad introduceren. Daarom beschrijven de onderzoekers ook een methodologie om dergelijke kwetsbaarheden te identificeren. Daarnaast worden detectie- en verdedigingsstrategieën besproken die kunnen helpen om misbruik te voorkomen of te beperken.