Microsoft 365-gebruikers worden slachtoffer van een nieuwe phishingkit, GhostCode, die misbruik maakt van een zwakte in de legitieme device authorisatie flow van Microsoft. Onderzoekers van eSentire’s threat response unit ontdekten de campagne eind augustus 2026. De kit maakt gebruik van de OAuth 2.0 device authorization grant flow van Microsoft, een mechanisme bedoeld voor authenticatie van IoT-apparaten, smart-tv’s, printers en andere apparaten die geen conventionele browserlogin ondersteunen.

Deze techniek, bekend als device-code phishing, is eerder gezien in andere aanvallen. Hierbij toont het apparaat een code die de gebruiker op een ander apparaat in een browser moet invoeren om authenticatie te voltooien. GhostCode doet zich voor als zo’n apparaat, laat Microsoft’s OAuth een device code genereren en verleidt het slachtoffer deze code in te voeren op de officiële authenticatiepagina van Microsoft. De gebruiker logt in en voltooit de multifactor-authenticatie, maar deze authenticatie geldt voor het door de aanvaller gecontroleerde apparaat, waardoor de aanvaller de resulterende authenticatietokens verkrijgt.

Met deze tokens registreert de aanvaller apparaten, verkrijgt extra credentials en creëert zo blijvende toegang binnen de Microsoft-omgeving van het slachtoffer. Tijdens de door eSentire waargenomen campagne werd een social-engineeringaanpak gebruikt waarbij aanvallers zich voordeden als inkoopmedewerkers via een webformulier, waarna gesprekken werden voortgezet in een NDA-HTML-bestand dat toegang gaf tot de phishingpagina.

De gestolen tokens worden gebruikt om persistentie op te bouwen. eSentire registreerde negen succesvolle API-aanroepen binnen 78 seconden na authenticatie, waaronder Microsoft Intune Enrollment, Device Registration Service, Azure Active Directory en Microsoft Graph. Drie apparaten werden automatisch geregistreerd en het derde apparaat werd succesvol ingeschreven in Intune, de cloudgebaseerde device management service van Microsoft. Deze inschrijving bleef actief, zelfs na intrekking van tokens, totdat het apparaat handmatig werd verwijderd.

Daarnaast verkregen de aanvallers een Primary Refresh Token (PRT), een van de krachtigste credentials binnen een Microsoft-identiteitsomgeving. Hiermee hebben zij Single Sign-On-achtige toegang tot het volledige Microsoft 365-ecosysteem van het slachtoffer gedurende de levensduur van het token, standaard veertien dagen, inclusief diensten die niet expliciet beschermd zijn door Conditional Access-beleid.

De aanvallers pasten meerdere technieken toe om detectie te vermijden, zoals het verbergen en versleutelen van HTML-code, encryptie van redirects, botdetectie en het gebruik van Cloudflare Turnstile om beveiligingstools buiten de phishingpagina te houden.

Om zich te verdedigen tegen dergelijke aanvallen adviseren de onderzoekers van eSentire het beperken van Microsoft’s device-code authenticatiestroom via Conditional Access en het uitschakelen ervan voor gebruikers die het niet nodig hebben. Daarnaast is het raadzaam om de Device Registration Service te monitoren op meerdere apparaatregistraties vanuit een enkele niet-interactieve sessie en te letten op activiteit met de user agent python-requests na device-code authenticatie. Auditing van Entra ID op apparaten die passen bij het naamgevingspatroon van GhostCode en het correleren van succesvolle device-code authenticaties met Python-gebaseerde verzoeken kan helpen bij het detecteren van lopende aanvallen.