Midnight Blizzard vs Microsoft: a legacy test account and an over-permissioned OAuth app
What happened
In January 2024 Microsoft disclosed that the Russia-linked group Midnight Blizzard (APT29) accessed a small percentage of corporate email accounts, including senior leadership. The entry point was a legacy, non-production test tenant account that lacked multi-factor authentication. From there the attacker abused a legacy OAuth application with elevated access to Microsoft's corporate environment to grant itself mailbox permissions.
Root cause
A password spray succeeded against an old test account that had been forgotten and was not protected by MFA. The escalation then exploited OAuth application consent: an app held broad permissions that, once controlled, opened the door to mailboxes.
The identity lesson
Two classic gaps. Forgotten non-production and legacy accounts are real attack surface, not background noise, and they are exactly where MFA exceptions tend to hide. And OAuth application permissions are standing privilege: an app with broad scopes is a powerful non-human identity that attackers prize.
How to defend
- Enforce MFA with no exceptions, and actively hunt for accounts excluded from policy, especially legacy and test tenants.
- Inventory and review OAuth app consents and permissions; remove unused apps and over-broad scopes.
- Apply least privilege to applications, not just people, and alert on new high-privilege grants.
- Decommission unused tenants and accounts. An orphaned account is a liability.
Why this pattern keeps working
The OAuth half of this intrusion is the durable part, and it recurred through 2026. An application with broad delegated permissions is standing privilege that no access review looks at, because reviews are built around people. Nobody's manager attests to what an OAuth app can read.
Google Threat Intelligence Group reported in August 2026 that three suspected Russian clusters, including one overlapping with APT29, had moved further in this direction: fake "Continue with Google" pages that route through the real login and capture the resulting tokens, and device code phishing against Microsoft and WhatsApp accounts. The end state is the same as Midnight Blizzard's, an attacker holding a legitimate token rather than a password, so a reset changes nothing and the sign-in looks normal in the log.
Separately, Dirk-jan Mollema demonstrated in August 2026 that malware in a signed-in Windows session can drive a Windows Hello for Business key to obtain a Primary Refresh Token and register an attacker-controlled device, satisfying phishing-resistant conditional access along the way.
What to hunt for now
- New OAuth consent grants, especially applications requesting mail or directory scopes, and any grant to an application with no owner.
- Applications holding permissions nobody has used in 90 days, treated as entitlements to be removed rather than as configuration.
- Sign-ins with an empty device ID, which is the artifact of the Windows Hello technique, accepting that incognito sessions look the same.
- Device registrations that follow an authentication within minutes.
- Any account excluded from conditional access policy, with a dated justification. The exemption list is where the actual access model lives.
Related
Guide: what is a non-human identity. Vendors: ITDR, IGA. Glossary: password spraying, privilege escalation.
Related on Start with Identity
- BlogConsentFix: hijacking Microsoft 365 through the OAuth consent flow
ConsentFix adapts the ClickFix pattern to identity. Instead of running a command on the victim's machine, it walks them through an OAuth consent flow and asks t
- BlogKeycloak password reset flaw let anyone skip the email token and take over any account
CVE-2026-18963 is improper state validation in Keycloak's reset-credentials flow. A crafted request jumped the authentication session straight to the password-u
- BlogAbbott investigates two incidents, one starting with a vished Entra account
Abbott confirmed unauthorized access to legacy Exact Sciences systems after a mid-June vishing attack compromised a Microsoft Entra single sign-on account. Shin
- GlossaryAccount Takeover (ATO)
When an attacker gains control of a legitimate account, often via stolen credentials, phishing, or session theft. A leading cause of breaches and fraud. The dis
- RecipeAdd login to a Next.js app with OIDC
A complete, copy-paste OpenID Connect login for the Next.js App Router using authorization code flow with PKCE, server-side token exchange, and httpOnly cookies
- GlossaryBreak-Glass Account
A tightly controlled emergency account used only when normal access fails, with strong vaulting, monitoring, and alerting. Tested regularly so it works in a rea