Een onderzoeker heeft een kwetsbaarheid ontdekt met de naam PhantomRPC, die Microsoft niet beschouwt als een kwetsbaarheid waarvoor het een patch wil uitbrengen.
PhantomRPC maakt gebruik van Windows Procedure Call (RPC), de kern van de communicatie tussen Windows . Door deze kwetsbaarheid kan een proces met imitatierechten zijn rechten uitbreiden tot het SYSTEM-niveau door zich voor te doen als clients met hoge rechten die verbinding maken met een valse RPC-server.
De onderzoeker presenteerde een gedetailleerd technisch rapport waarin vijf aanvalsroutes werden beschreven, waaronder dwang, gebruikersinteractie of achtergronddiensten. Hij waarschuwde dat de mogelijke aanvalsvectoren „in feite onbeperkt“ zijn, omdat het kernprobleem van architecturale aard is.
Microsoft heeft het probleem echter als „matig“ aangemerkt, een beloning geweigerd, afgezien van het toekennen van een CVE (een vermelding in de lijst van Common Vulnerabilities and Exposures) en de zaak gesloten zonder verdere opvolging. Het bedrijf stelt dat de techniek een reeds gecompromitteerde computer vereist en geen toegang zonder authenticatie of op afstand mogelijk maakt.
Deskundigen waren het niet eens met de beoordeling van Microsoft. Zij vrezen dat Microsoft een systematische techniek voor het uitbreiden van lokale rechten bagatelliseert die in alle ondersteunde Windows voorkomt.
Het probleem
De kern van dit probleem is dat de Windows onvoldoende controleert of de server waarmee een client met uitgebreide rechten verbinding maakt, wel degelijk het beoogde legitieme eindpunt is.
Als een legitieme RPC-server niet bereikbaar is (bijvoorbeeld omdat de service is gestopt, verkeerd is geconfigureerd, niet is geïnstalleerd of vanwege een race condition), kan een aanvaller met SeImpersonatePrivilege een valse RPC-server opzetten die ‘het gat opvult’ met behulp van dezelfde interface en hetzelfde eindpunt.
Wanneer een SYSTEM-account of een gebruiker met uitgebreide rechten verbinding maakt met deze nep-server, met een imitatie-niveau waarmee de server zich kan voordoen als de gebruiker, kan de aanvaller het volgende aanroepen RpcImpersonateClient en hun rechten onmiddellijk uitbreiden naar SYSTEM.
Vanuit het oogpunt van Microsoft valt de mogelijkheid om op deze manier een malafide RPC-server te draaien onder de categorie „reeds gecompromitteerd“.
SeImpersonatePrivilege
Om dit beter te begrijpen, moeten we eens nader bekijken wat SeImpersonatePrivilege precies doet.
Kort gezegd is SeImpersonatePrivilege de Windows waarmee een programma zich kan „voordoen als jou“ nadat je bent ingelogd, zodat het namens jou acties kan uitvoeren met jouw toegangsrechten.
Dit is nodig omdat veel systeemservices en servertoepassingen (bestandsdeling, RPC-servers, COM-servers, webtoepassingen) namens een gebruiker acties moeten uitvoeren, zoals het lezen van zijn bestanden of het toepassen van groepsbeleid.
Als een aanvaller deze rechten weet te verkrijgen, kan hij een valse dienst of server opzetten en wachten tot een account met meer rechten hiermee verbinding maakt. Zodra die dienst met uitgebreide rechten verbinding maakt, kan de aanvaller het beveiligingstoken van die dienst bemachtigen en zich voordoen als die dienst, waardoor hij in feite van een account met beperkte rechten opschuift naar volledige SYSTEM-beheersing op die machine.
Bescherming
Een woordvoerder van Microsoft heeft de volgende verklaring afgegeven:
“Deze techniek vereist een computer die al is gehackt en biedt geen toegang zonder authenticatie of op afstand. Bij elke update zoeken we een evenwicht tussen bestaande compatibiliteit en het risico voor de klant, en we blijven ons inzetten om onze producten voortdurend te beveiligen. We raden klanten aan om de beste praktijken op het gebied van beveiliging te volgen, waaronder het beperken van beheerdersrechten en het toepassen van het principe van minimale rechten.”
Naar onze mening zou een adequate aanpak van PhantomRPC ingrijpende wijzigingen in de RPC-architectuur vereisen, wat bij bestaande Windows moeilijk te realiseren is zonder de compatibiliteit in gevaar te brengen. Gezien de omvang van de benodigde aanpassingen is dit wellicht iets wat we in toekomstige versies zullen zien.
Wat je kunt doen:
- Aangezien PhantomRPC deel uitmaakt van een groter geheel, blijft het van groot belang om Windows te houden.
- Gebruik je beheerdersaccount spaarzaam en alleen voor taken waarvoor dergelijke rechten nodig zijn.
- Gebruik een up-to-date, realtime anti-malwareoplossing die verdachte activiteiten gericht op het uitbreiden van rechten kan detecteren en blokkeren.
- Vermijd het blindelings uitschakelen of ‘beveiligen’ van services, aangezien er dan een kwaadaardige service in de plaats zou kunnen komen.
Om de vraag in de titel te beantwoorden: het lijkt een „functie“ te zijn die op allerlei manieren kan worden misbruikt; een functie die zijn oorspronkelijke dreigingsmodel inmiddels heeft ontgroeid. Beveiligingsbeheerders moeten deze functies beschouwen als blijvende risico’s, in plaats van als eenmalige CVE’s.
“Een van de beste cyberbeveiligingspakketten ter wereld.”
Volgens CNET.Lees hun recensie →





