Microsoft 365 Account Takeover: Why a Password Reset Isn’t Enough

Cover graphic on a deep navy field. The headline reads You reset the password. They’re still in. To the right, a dark card styled like a Microsoft 365 account page after a reset. The first row, Password, is marked changed. Below it, amber rows show what is still there: active sessions still valid, a registered device named DESKTOP followed by random characters, and an unknown authenticator app. The last row, outlined in red, is an inbox rule named s that hides payroll mail. An amber line on the left reads MFA was on. No password was needed.

Bottom line up front

When a Microsoft 365 account is taken over with a stolen session, changing the password is the step that matters least. In a campaign Huntress tracked across 79 organizations this summer, attackers got in without a password, past MFA, then registered their own devices and authenticator apps and set inbox rules to hide payroll mail. Huntress’s own words: “A password reset alone does not remove attacker-registered devices or MFA methods.” Evicting someone means revoking sessions, deleting what they added, and only then resetting the password.

At 17:18 UTC on 21 July, an employee at one of Huntress’s customer organizations reached a Microsoft sign-in prompt that was being relayed through a server the attacker controlled. They signed in. They approved MFA. Nothing unusual happened on their screen.

Twelve minutes later the session they had just created was being used from an address at a hosting company in Hamburg. Thirteen minutes after that, from a third. At 18:08 a new authenticator app, labelled “iPhone 13,” was activated on the account. Fifty minutes from one sign-in to an attacker holding their own second factor.

Now picture the usual response when someone in that company notices something odd a week later. IT resets the password. Maybe forces a fresh MFA prompt. Everyone relaxes. The attacker’s iPhone 13 answers that prompt just fine, because as far as Microsoft is concerned it belongs to the user.

That gap, between what a reset feels like it does and what it actually does, is what this post is about. Huntress published the campaign on 22 October, and the same week Microsoft and Huntress were both writing up a second, unrelated route past MFA through a backup vendor’s app. Between them they make the same point from two directions: on Microsoft 365, the password stopped being the thing that keeps people out some time ago.

Six things that survive a password reset

If an account was taken over through a stolen session or token, assume each of these is still in place after the password changes, until someone has checked and removed it.

  1. Sessions and tokens already issued. A refresh token or signed-in session is proof of a login that already happened. Changing the password doesn’t reach back and cancel it on its own. You have to revoke sessions explicitly, and even then an access token can keep working until it expires.
  2. A device the attacker registered. In the Huntress campaign the scripted half of the operation registered rogue devices in Entra ID, named like DESKTOP- followed by eight hex characters. Huntress counted at least 48. A registered device can be used to ask for fresh tokens later.
  3. An MFA method the attacker added. In 19 organizations the attacker wiped the user’s existing MFA methods and registered a new one within three hours of first signing in. After that, every “approve this sign-in” goes to them.
  4. Inbox rules. Rules named a single dot, “s”, “sss”, a comma. They mark mail as read and move it to folders nobody opens, such as RSS Feeds or Conversation History. One hid anything mentioning payroll, direct deposit, bank or bonus. Rules keep running whatever the password is.
  5. Apps and app credentials. An OAuth app a user consented to, or a secret added to an existing enterprise app, authenticates on its own. In the ConnectWise case below, new secrets were set to expire in 2028.
  6. Forwarding and delegated access. A forwarding address or a delegate on the mailbox will carry on quietly after a reset. It’s the oldest trick here and still one of the easiest to miss.

Definition

Token replay is a Microsoft 365 account takeover where the attacker steals the proof of a completed sign-in (a session cookie or refresh token) instead of the password, then reuses it from their own machine. MFA was satisfied when the token was issued, so nothing prompts. Changing the password doesn’t cancel it.

Figure 01 · What a password reset leaves behind
FIG. 01 / M365 ACCOUNT TAKEOVER / WHAT SURVIVESWhat a password reset leaves behind1 SESSIONS AND TOKENSSTILL THERE AFTER A RESETProof of a login that already happened. It keeps working.WHAT REMOVES ITRevoke sessions in Entra. Expect up to about an hour of tail.2 A REGISTERED DEVICESTILL THERE AFTER A RESETNamed like DESKTOP- plus eight random characters. Can ask for newtokens.WHAT REMOVES ITDelete devices the user can’t identify.3 AN MFA METHOD THEY ADDEDSTILL THERE AFTER A RESETEvery “approve this sign-in” now goes to their phone.WHAT REMOVES ITRemove every method the user can’t name.4 INBOX RULESSTILL THERE AFTER A RESETOne-letter names, mail moved to RSS Feeds. One hid payroll and bankmail.WHAT REMOVES ITDelete the rules, then read what they were hiding.5 APPS AND APP SECRETSSTILL THERE AFTER A RESETAuthenticate on their own credential. MFA doesn’t apply.WHAT REMOVES ITCheck consents and new secrets. Disable, don’t delete.6 FORWARDING AND DELEGATESSTILL THERE AFTER A RESETCopies of mail keep leaving quietly.WHAT REMOVES ITClear forwarding and mailbox permissions.None of the six depends on the password.

Items per Huntress, “Token Replay and Spray,” 22 October 2026, and Huntress on the ConnectWise app credential, 16 October 2026. Amber marks what the attacker left in place, red the point of loss, blue what removes it.

What Huntress found across 79 organizations

Huntress says it responded to related incidents at 79 organizations between 14 July and 22 September 2026. Over those ten weeks it counted 497 successful sign-ins and more than 200,000 failed ones. Help Net Security’s write-up quotes the line that sums it up: “The Microsoft accounts were compromised without the attacker ever needing a password.”

The tokens came from three places, according to Huntress:

The stolen tokens were then replayed, “sprayed” in Huntress’s phrase, from a block of addresses at a Hamburg hosting provider. There were two distinct builds. One was scripted, announced itself with a user agent of node, asked for tokens directly and registered those DESKTOP- devices. The other looked like an ordinary Chrome or Edge browser on Windows and registered nothing. The operation ran in four phases with gaps between them, and moved address and relay provider along the way. Huntress’s comment on that is worth passing to whoever runs your firewall: “Blocking any single address would have stopped one phase at most.”

Speed went up as the summer went on. On 21 July the gap between the victim reaching the MFA prompt and the attacker using the hijacked session was twelve minutes. On 22 September it was four.

What they did once inside is the part a small business should study. The inbox rules weren’t created from the hosting block at all. They came through commercial VPNs and a spread of other providers, which means a single “sign-ins from this suspicious network” alert would have caught the break-in and missed the follow-up. One mailbox sent spam to hundreds of outside recipients before Microsoft’s own risk scoring flagged it. And in one organization, the rule that hid payroll and bank mail was edited, then five minutes later a second rule was created to bury mail from the company’s outside accountant. A payroll-related email went out to that accountant from the compromised account.

That is the playbook from our payroll diversion guide, run on a mailbox the attacker had already secured against the obvious fix.

Why MFA was on and didn’t matter

I don’t want to overstate this, because MFA still stops an enormous amount of password-based attack and nobody should read this as a reason to turn it off. But ordinary MFA guards one moment: the sign-in. A code, a push approval, a number match. Every one of those can be completed by the real user on a relayed page, and once it’s completed Microsoft issues a token. The token is what the attacker wants.

Device-code phishing is the cleaner version of the same idea. The victim does everything on Microsoft’s real site, and the token goes to a device the attacker is holding. There’s no fake page to spot.

Huntress’s position is that this is preventable with configuration, and it says so plainly: “Token replay attacks can be prevented with properly implemented Conditional Access Policies.” We’ll get to what that means for a small tenant below. The short version is that the policy has to cover every user, every app and every client type, because attackers go looking for the one combination that was left out.

The same month, a second way past MFA: a vendor’s app

While the token-replay campaign was winding down, a different one came through a door most small businesses have never looked at.

On 16 October, Huntress reported that the credential behind ConnectWise Cloud Backup (the Microsoft 365 backup product formerly called SkyKick) was being used to sign in to customer tenants. By that evening it had confirmed unauthorized sign-ins in 162 tenants. A day later it had found almost 1,000 Entra tenants with sign-in activity from the attacker’s address, and more than 300 where those sign-ins succeeded. In one tenant, a ConnectWise app assigned itself Global Administrator and new secrets were added to two other applications, one of them Huntress’s own, set to expire in 2028.

On 21 October, Microsoft Threat Intelligence attributed the campaign to a group it tracks as Storm-0940, which it says used an agentic AI penetration-testing framework to “attempt to sign-in to more than 2,250 tenants.” That figure is attempts, not confirmed breaches, and a lot of the coverage has blurred the two. Microsoft also says that an affected app or a successful sign-in “does not necessarily indicate that customer data was accessed or exfiltrated,” and in the two tenants Huntress reviewed in depth it found no mailbox or file changes. Fair enough. The lesson doesn’t depend on how much was taken.

The lesson is this. An app with permissions in your tenant signs in with its own credential, and MFA doesn’t apply to it. Your staff’s passwords were irrelevant. And the cleanup trap is the same one as above. Huntress again: “Disabling M365 apps, including the abused ConnectWise apps will not remove credentials that were already added. You must review the credentials on all of your M365 applications.” Microsoft’s first instruction was not to delete anything in a hurry: “Do not delete enterprise applications as the first response. Preserve configuration and evidence before making irreversible changes.”

We made a similar point about remote-access tools in the rogue RMM post: the software you trust is only as trustworthy as whoever holds its keys this week.

How to actually evict them, in order

Order matters here more than people expect. Reset the password first and you’ve tipped off an attacker who still has a device and an authenticator, and who may add more before you get to them. This is the sequence I’d use for one compromised user. If you have an IT provider, hand them this list and ask them to confirm each step back to you in writing.

  1. Save the evidence. Export the user’s sign-in logs and the tenant audit log before you change anything. Note the IP addresses, the times, any device names and any app names. You may need this for your insurer, your bank or a lawyer.
  2. Block the account and revoke sessions. In the Entra admin center, disable the account, then choose Revoke sessions on the user’s overview page. Microsoft’s own guidance is that after this the user “can’t gain new tokens for any application,” but access tokens already issued keep working until they expire. Microsoft documents a one-hour default; Huntress cites about 90 minutes. Plan for the attacker to have that long.
  3. Remove their devices. Check the user’s registered devices and the tenant’s recent device registrations. Look for names the user doesn’t recognise, especially DESKTOP-, Device- or Work Pc plus a random string, registered from a hosting or VPN address.
  4. Remove their MFA methods. Open the user’s authentication methods and delete anything the user can’t personally identify, phone by phone. “iPhone 13” means nothing on its own. Ask them which phone they own.
  5. Clear the mailbox. Inbox rules, forwarding, delegates, and anything sent or deleted during the attacker’s window. Rules with one-character names that move mail to RSS Feeds or Conversation History are a strong tell.
  6. Check apps. Look at the user’s consented apps, and at the tenant level any app with a new secret or certificate or a role it didn’t have last month. Disable, don’t delete, until you’ve recorded what you found.
  7. Now reset the password and re-register MFA, from a clean device, with the user present or on a call to a number you already had. If you can, make the new method a passkey or security key.
  8. Re-enable and watch. Keep an eye on that account’s sign-ins and the tenant’s new device and MFA registrations for at least a few weeks. Repeat the checks on anyone the account emailed during the window.
Figure 02 · Evict first, reset last
FIG. 02 / M365 ACCOUNT TAKEOVER / THE ORDEREvict first, reset last1 SAVE THE EVIDENCEExport sign-in and audit logsIPs, times, device names, app names. Before anything changes.2 CUT THE SESSIONDisable the account, revoke sessionsIssued access tokens can run for up to about an hour.3 DEVICESDelete devices the user can’t identifyCheck recent registrations across the tenant too.4 MFA METHODSRemove methods the user can’t nameAsk which phone they own. A model name proves nothing.5 MAILBOXRules, forwarding, delegates, sent mailThen phone whoever the rules were hiding.6 APPSConsents, new secrets, new rolesDisable and record. Delete later.7 NOW RESETNew password and a passkey, from a clean deviceThen watch sign-ins and new registrations for weeks.Reset first and the attacker’s own phone approves the next prompt.

ScamDrill analysis, built from Microsoft’s “Revoke user access in Microsoft Entra ID” guidance and the Huntress and Microsoft Threat Intelligence remediation advice. Token lifetime: Microsoft documents a one-hour default; Huntress cites about 90 minutes.

Two warnings from the Huntress team that are easy to get backwards. First: “Revoke sessions and reset the password. A password reset alone does not remove attacker-registered devices or MFA methods.” Second, aimed at the people running alerts: “Do not trigger response based on spray volume, as it points at the most-sprayed, least-compromised tenants.” The noisy tenant is often the one that held. The quiet one with four successful sign-ins is the problem.

For the wider incident (who to call, what to tell staff, the 72-hour clock) our business incident response guide has the full sequence, including what to do if a business email account was used to send anything.

The part finance has to do

The technical eviction can be done perfectly and the money can still go. Rules exist to hide something, so once you’ve found them, read what they were hiding.

If the compromised mailbox belongs to someone who talks to suppliers about invoices, the vendor email compromise guide covers the callback rule worth putting in place permanently.

What stops the next one

None of this needs a big security budget. Most of it is settings that already exist in your tenant and are sitting at their defaults.

If an MSP runs your tenant

Plenty of small businesses never touch the Entra admin center. That’s fine, but then the questions above belong to your provider, and you should ask them in writing. Three I’d send this week:

A good provider will have quick answers. If the answers are slow, that tells you something too.

Where people come in

It’s tempting to read all this as a purely technical problem. Mostly it is. But look at where the token-replay campaign started: a person signing in from a link, or typing a code they were sent. The relay page and the device-code lure both arrive by email or chat, usually dressed as a shared document (sometimes a genuine one from DocuSign or Dropbox), a voicemail or a security check. That moment is trainable, and the reflex is simple. If you didn’t go looking for a sign-in, don’t complete one, and never enter a code your own screen didn’t just show you.

The other trainable moment is reporting. A user who mentions “my authenticator asked me to set up again, weirdly” on the day it happens hands you the attack at step one instead of step five. The Huntress timeline gives you about fifty minutes between those steps. A culture where people report odd sign-in moments without feeling foolish is worth more in that window than any tool.

ScamDrill for organizations runs realistic email phishing drills for exactly that moment, including document-share lures that end at a sign-in page staff shouldn’t trust, and coaches whoever clicks privately. It doesn’t replace any of the configuration above, and I’d be suspicious of anyone who told you training could. The product tour shows what a drill and its debrief look like from the admin side, and the 30-day simulation plan is a sensible first month.

What to do now

None of that makes a tenant untouchable. It does mean that the next time someone signs in from the wrong link, the cleanup takes an afternoon instead of turning into a payroll problem three weeks later.

Practise the sign-in that shouldn’t happen

ScamDrill sends your team realistic practice phishing, including document shares and security alerts that end at a sign-in page they shouldn’t trust, and coaches whoever clicks, privately. Nobody is named and nobody is graded.

Start a free trial

Frequently asked questions

Does resetting the password kick a hacker out of Microsoft 365?

Not reliably. If the attacker got in with a stolen session or token, they may already have registered their own device, added their own MFA method, created inbox rules or consented to an app, and none of those depend on the password. Huntress put it directly: a password reset alone does not remove attacker-registered devices or MFA methods. Revoke sessions and remove what they added first, then reset.

What is token replay in Microsoft 365?

Token replay is an account takeover where the attacker steals the proof of a finished sign-in, such as a session cookie or a refresh token, and reuses it from their own machine. MFA was already satisfied when the token was issued, so nothing prompts. The tokens usually come from adversary-in-the-middle relay pages or device-code phishing.

How did attackers get into Microsoft 365 accounts without a password?

In the campaign Huntress published on 22 October 2026, tokens came from relay pages that pass the real Microsoft login and MFA prompt through to the victim, from device-code phishing on Microsoft’s real sign-in page, and from social engineering during a legitimate login. Huntress responded to related incidents at 79 organizations between July and September 2026.

How long does a stolen access token keep working after I revoke sessions?

Revoking sessions stops new tokens being issued, but an access token already issued can keep working until it expires. Microsoft documents a one-hour default lifetime for access tokens; Huntress cites roughly 90 minutes in the cases it saw. Apps that support Continuous Access Evaluation can cut that short.

How do I find a device or MFA method an attacker added?

In the Microsoft Entra admin center, check the user’s registered devices and authentication methods, and the tenant’s recent device registrations. In the Huntress campaign, rogue devices had names like DESKTOP- followed by eight random characters, and new authenticators appeared within hours of the first sign-in. Anything the user cannot personally identify should go.

What happened with ConnectWise Cloud Backup in October 2026?

Huntress reported on 16 October 2026 that the credential behind the ConnectWise Cloud Backup Microsoft 365 app, formerly SkyKick, was being used to sign in to customer tenants. It later found more than 300 tenants with successful sign-ins. Microsoft attributed the campaign to a group it calls Storm-0940. Because apps sign in with their own credentials, staff MFA did not apply.

Does ScamDrill fix compromised Microsoft 365 accounts?

No. ScamDrill runs email phishing simulations and coaching for staff, which helps with the moment someone signs in from a link or enters a code they were sent. Removing an attacker from a tenant is a job for whoever administers your Microsoft 365, using the steps in this guide.