Significante kwetsbaarheid in Microsoft Entra ID maakte kaping van bedrijfsaccounts mogelijk
Een kritieke combinatie van oude componenten had volledige toegang kunnen verschaffen tot de Microsoft Entra ID-omgeving van elk bedrijf wereldwijd.
De gevaarlijke mix bestond uit niet-gedocumenteerde tokens genaamd “actor tokens” en een kwetsbaarheid in de Azure AD Graph API (CVE-2025-55241), die deze tokens in staat stelde om met elke organisatie te werken.
Een kwaadwillende die deze fout gebruikte, kon toegang krijgen tot veel gevoelige gegevens zonder een spoor achter te laten in de logbestanden van de doelomgeving, behalve van hun eigen acties.
Microsoft Entra ID, voorheen bekend als Azure Active Directory (Azure AD), is de cloud-gebaseerde identiteits- en toegangsbeheer oplossing van Microsoft. Het biedt organisaties eenmalige aanmelding, multi-factor authenticatie en beveiligingscontroles voor apps en middelen.
Elke Entra ID-instantie vertegenwoordigt een organisatie en beheert veilige toegang tot alle gebruikte apps, zowel lokaal als in de cloud. Dit omvat Microsoft 365-diensten, op maat gemaakte en externe SaaS-producten zoals Salesforce en Dropbox, en cloud-apps van Google, Amazon of SAP.
Beveiligingsonderzoeker Dirk-jan Mollema, oprichter van Outsider Security, ontdekte een fout in tokenvalidatie die hem wereldwijde beheerderstoegang gaf tot elke Entra ID-omgeving.
Deze toegang maakt volledige compromittering van de omgeving mogelijk en geeft toegang tot elke dienst geauthenticeerd via Entra ID.
### Iemand nabootsen in de omgeving
In een technische blogpost legt Mollema uit dat actortokens worden uitgegeven door een oude dienst, genaamd Access Control Service. Deze dienst wordt gebruikt voor authenticatie met SharePoint-toepassingen en blijkbaar ook intern door Microsoft.
Hij ontdekte de tokens tijdens onderzoek naar hybride Exchange-instellingen. Hij merkte op dat Exchange deze opvraagt bij communicatie met andere diensten namens een gebruiker.
> “Het actortoken stelt het in staat om als een andere gebruiker op te treden in de omgeving bij communicatie met Exchange Online, SharePoint en, zoals blijkt, de Azure AD Graph” – Dirk-jan Mollema
Actortokens zijn niet ondertekend, waardoor ze kunnen worden gebruikt om elke gebruiker in de omgeving na te bootsen. Ze zijn 24 uur geldig zonder dat ze in die periode kunnen worden ingetrokken.
Volgens Mollema hadden actortokens nooit mogen bestaan, omdat ze essentiële beveiligingscontroles missen:
– Er zijn geen logs wanneer actortokens worden uitgegeven.
– Sinds deze diensten de niet-ondertekende nabootsingstokens kunnen maken zonder met Entra ID te praten, zijn er ook geen logs wanneer ze worden gemaakt of gebruikt.
– Ze kunnen niet worden ingetrokken binnen hun 24-uurse geldigheid.
– Ze omzeilen alle restricties geconfigureerd in Conditional Access.
– We moeten vertrouwen op logging van de resource-aanbieder om überhaupt te weten dat deze tokens in de omgeving zijn gebruikt.
Mollema geeft aan dat Microsoft intern op actortokens vertrouwt voor dienstcommunicatie en dat het bedrijf van plan is deze te verwijderen.
Microsoft noemt ze “high-privileged access (HPA)” dat een applicatie of dienst toestaat andere gebruikers na te bootsen zonder bewijs van hun context.
Tijdens tests waarbij een actortoken werd gebruikt, veranderde Mollema het tenant-ID naar een andere dan degene die het token genereerde en stuurde dit naar de verouderde Azure AD Graph API. In plaats van een “toegang geweigerd”-bericht, gaf de fout aan dat het token geldig was, maar de toegang niet geautoriseerd omdat de identiteit van de gebruiker niet in de omgeving werd gevonden.
Mollema probeerde het nogmaals met een geldig gebruikers-ID uit de doelomgeving, waarna de Azure AD Graph API de gevraagde gegevens retourneerde.
> “Ik testte dit in enkele andere testomgevingen om er zeker van te zijn dat ik niet gek was. Maar ik kon inderdaad toegang krijgen tot gegevens in andere omgevingen, zolang ik hun tenant-ID kende (wat openbare informatie is) en het netId van een gebruiker in die omgeving.”
Met hetzelfde actortoken kon de onderzoeker de rol van globale beheerder in de doelomgeving nabootsen en alle bijbehorende acties uitvoeren, zoals gebruikers beheren en aanmaken, configuraties wijzigen, wachtwoorden resetten en beheerders toevoegen.
Mollema benadrukt dat geen van de vereiste acties voor het verkrijgen van globale beheerderstoegang logs in de doelomgeving genereerde.
Vanuit een aanvallersperspectief zou het probleem in enkele stappen kunnen worden misbruikt, te beginnen met het genereren van een actortoken vanuit een omgeving onder hun controle:
– Het vinden van het tenant-ID voor de doelomgeving kan met openbare API’s op basis van de domeinnaam.
– Het verkrijgen van een geldig netId van een reguliere gebruiker in de doelomgeving.
– Het creëren van een nabootsingstoken met het actortoken van de aanvallende omgeving, gebruikmakend van het tenant-ID en netId van de gebruiker in de doelomgeving.
– Lijst van alle globale beheerders in de omgeving en hun netId verkrijgen.
– Nabootsingstoken creëren voor de globale beheerder.
– Elke lees/schrijf-actie uitvoeren via de Azure AD Graph API.
Mollema meldt dat alleen de activiteit in de laatste stap in de doelomgeving zou worden vastgelegd.
Het is belangrijk op te merken dat Microsoft vorig jaar in september begon met het uitfaseren van de Azure AD Graph API-service. Eind juni waarschuwde het bedrijf dat apps die nog steeds Azure AD Graph gebruikten vanaf begin september 2025 de API’s niet meer kunnen gebruiken.
Mollema rapporteerde de problemen aan Microsoft op 14 juli, en het bedrijf bevestigde dat het probleem negen dagen later was opgelost. Op 4 september heeft Microsoft ook CVE-2025-55241 gepatcht, die werd beschreven als een kritieke kwetsbaarheid in het verhogen van privileges in Azure Entra.
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
Opzoek naar de laatste updates uit onze securitylog?
Inhoud mede mogelijk gemaakt door OpenAI.
