Block the Device Authorization Grant Before Your Next Passkey Comms Go Out
Every control in the chain fires correctly, which is why your MFA dashboard stays green through a tenant compromise and your runbook closes the case with the adversary still inside.
Hunt first, then write the policy
The policy change takes an afternoon. The retroactive hunt is the part with a deadline, because a refresh token issued in July is still working in September. Query your Entra sign-in logs for every device-code authentication across the full retention window, then correlate each one against later token use from a different IP, ASN or geography. Hosting-provider and VPS ASNs are the highest-signal filter here: a legitimate kiosk enrollment does not resume from a datacenter.
The persistence step is where detection gets cheap. Microsoft's account of the campaign describes attackers frequently registering an additional authentication method or device once they hold the token, converting borrowed session material into durable independent access. That maps to T1098.005, and a new FIDO2, passkey or authenticator registration shortly after a device-code sign-in is the highest-fidelity indicator in the whole chain. The complication is your own program: a passkey rollout generates thousands of legitimate registration events, so the rule has to be the correlation window, not the raw event.
| Chain stage | What your logs show | Detection you probably lack |
|---|---|---|
| Helpdesk pretext by voice or Teams | Nothing | Ticket reconciliation against auth-method changes |
| Device-code initiation | A real Microsoft-issued user code | Any alerting on device-code grant use at all |
| Victim authenticates | A clean, compliant, successful sign-in | Nothing — the control worked as designed |
| Token collection | Access plus long-lived refresh token issued | Token use from an ASN unlike the sign-in ASN |
| Auth-method registration | An ordinary enrollment event | Registration within hours of a device-code sign-in |
Your containment step does not contain
A password reset does not revoke a refresh token, and neither does re-registering MFA. If your account-compromise runbook stops at credential reset — and most do — you will close the ticket with the adversary still authenticated. Containment here requires explicit refresh-token revocation and session invalidation, plus Continuous Access Evaluation and token-protection or session-binding policies where licensing permits. Tabletop it rather than assuming the revocation propagates.
Hold that defect next to the agent research elsewhere in today's intelligence: it is the same failure at a different layer. In one case a token survives the credential reset; in the other, the researcher's agents kept working after their GPUs were switched off. Two unrelated bodies of reporting, one broken assumption — that the action you took ended the access.
Promote the service desk to a Tier-1 control
- Out-of-band callback verification for every authentication-method reset or passkey enrollment request, with manager attestation on privileged accounts.
- One blunt user message shipped alongside your rollout comms: IT will never ask you to read a code aloud, or to enter a code we provide.
- Shrink the enrollment window — scope authentication-method registration to compliant devices or trusted networks, and issue Temporary Access Passes with tight time and use limits.
Then test it. A simulated impersonation call against your own helpdesk is a two-hour exercise that tells you whether the script above is a control or a document.
One caution on the same reporting: the accompanying CISO-exodus and AI-preparedness figures are explicitly unsourced, and CSO itself flags that self-reported confidence is not a measure of security. Brief the campaign, which Microsoft has confirmed; leave the survey numbers out of the board deck. No actor is named either, so treat any specific attribution you hear as an analyst hypothesis.
Our passkey program handed attackers a credible script, our users authenticated on their behalf, and the token they walked away with survives every password reset we would have run.
What to do
Deploy a Conditional Access policy blocking the OAuth device authorization grant tenant-wide in enforce mode by Friday, with one narrowly scoped exception group for kiosk and shared-device enrollment.
Hunt Entra sign-in logs for device-code authentications across the full retention window, correlating each against later token use from a different ASN or geography.
Add refresh-token revocation and session invalidation to the account-compromise runbook, then tabletop it with the helpdesk before the next passkey communications wave goes out.