In This Article
- What Microsoft Found on Hotel and Conference Wi-Fi
- Two Attack Paths, and Why the Difference Decides Your Controls
- The Part That Should Worry You: This Happens After MFA
- The Controls That Actually Map to Each Path
- Building a Travel Baseline Without Stranding Your Executives
- What an Examiner Will Ask
- Frequently Asked Questions
Your chief lending officer checks into a conference hotel, joins the guest Wi-Fi, and clicks through the little sign-in page that asks for a room number. Nothing about that is unusual. It is the single most routine thing anyone does on a business trip.
On July 31, 2026, Microsoft Threat Intelligence published research on a campaign it calls CaptiveCrunch, in which a Russian state-linked actor has been compromising exactly that sign-in page at hotels, conference centers, and other shared venues. The goal is not the room number. It is the Microsoft 365 session sitting on the laptop.
For credit unions, banks, and mortgage companies, this one deserves a closer look than the average threat headline, because it breaks an assumption most institutions have quietly built their remote-access posture on: that the danger arrives as a message someone has to fall for. Here, the danger is the network itself.
What Microsoft Found on Hotel and Conference Wi-Fi
Since early May 2026, Microsoft has observed the actor manipulating DNS and HTTP traffic on hospitality networks served by captive portals, the sign-in pages that intercept your browser when you join guest Wi-Fi. Traffic gets redirected through infrastructure the attacker controls.
Microsoft attributes the campaign to a group it tracks as Storm-2945, which it assesses to be an operational sub-cluster of Midnight Blizzard. Midnight Blizzard is the actor that the United States and United Kingdom governments have attributed to Russia's Foreign Intelligence Service, the SVR. Worth reading precisely: Microsoft says it assesses the relationship based on technical and operational overlaps. That is analytic confidence, not a courtroom finding.
From the redirected position, the attack looks like a helpful prompt. The browser runs its normal connectivity check, and the response comes back as a fake update notice: a Windows Update screen, a driver repair utility, a browser update. Microsoft's research documents eight different fake windows the operator can pick from at build time. The user is asked to paste and run something to finish the fix.
The captive portal at a hotel or conference center is under attacker control, and DNS plus HTTP traffic is redirected.
The user is shown a convincing Windows Update, driver, or browser repair screen and told to run a command to fix it.
A remote access trojan establishes persistence, and an in-memory infostealer runs alongside it.
Microsoft 365 access tokens, refresh tokens, and Web Account Manager tokens are collected and sent out.
Two pieces of malware do the work. Microsoft names them CornFlake, a Windows remote access trojan written in Go that installs itself as a service and re-creates its own persistence if a defender removes it, and ChocoShell, a PowerShell infostealer that runs entirely in memory.
ChocoShell is the one that matters for identity. Microsoft reports that it collects Microsoft 365 and Entra access tokens, refresh tokens, and Web Account Manager tokens from the Token Broker cache on the device. In Microsoft's own words, that collection lets an actor replay single sign-on sessions without browser cookies. It also grabs saved Wi-Fi credentials from the machine, which is a tidy way to make the next venue easier.
Why the Venue Vector Is Different
Every identity attack we have written about recently starts with something sent to a person: a phishing email, a malicious link, a fake login page, a QR code. Training helps, because there is a message to be suspicious of.
This one starts with a network the person had every reason to join, in a hotel their institution booked, for a conference their institution paid for. The suspicious thing is a routine software update prompt on a corporate laptop. That is a much harder judgment call to ask of a lender at the end of a travel day.
Two Attack Paths, and Why the Difference Decides Your Controls
This campaign contains two separate routes to your tenant, and conflating them is the fastest way to buy a control that does not cover what you think it covers.
The first path is the malware route described above. The second appeared later. Since July 16, 2026, Microsoft has observed some of the campaign's landing pages redirecting users into device code authentication flows. Device code is a legitimate Microsoft sign-in method built for devices that cannot show a normal login screen, like a conference room display. The abuse is simple: the attacker starts a sign-in, gets a code, and convinces you to type that code into a genuine Microsoft page. You authenticate, and the session you just approved belongs to them.
Microsoft is careful here, and so are we. Its research states plainly that the device code technique "does not appear fundamentally novel." We have covered it before in our breakdown of Microsoft 365 device code phishing and again when the FBI issued a public warning about a phishing kit built to industrialize it. What is new is the setting. A sign-in prompt that appears while you are joining a hotel network feels far more legitimate than the same prompt arriving in an unexpected email.
Path A: Malware token theft
Compromised portal, fake update prompt, malware runs on the endpoint, tokens are lifted from the device's own token cache.
Blocking device code flow does nothing here. The attacker never uses the device code grant. They take credentials that already exist on a machine they now control.
Path B: Device code phishing
Compromised portal, landing page, the user enters an attacker's code at a real Microsoft sign-in page and approves the attacker's session.
Blocking device code flow closes this door. This is the path that Microsoft's lead identity recommendation is aimed at.
If you take one thing from this article into your next security meeting, make it this distinction. Across the financial institution tenants ABT manages, the most common finding is not a missing policy. It is a policy that covers less than the person who turned it on believes it covers. Here, one policy covers one of two doors.
The Part That Should Worry You: This Happens After MFA
Multi-factor authentication is not the weak point in this story, and anyone telling you MFA is useless is overselling. MFA defeats large classes of attack, it is the single highest-value identity control most institutions deploy, and nothing here is an argument for turning it off or slowing a rollout.
But a stolen refresh token is not a password. It is the artifact Microsoft issues after you have already proven who you are. The multi-factor prompt happened. Your user passed it, correctly, on their own device. The attacker then copies the receipt.
That describes the malware path. The device code path arrives at the same place by a different road: nothing gets copied, because the user is persuaded to approve a sign-in that was never theirs to approve. Either way the end state is identical, and it is the state that matters. Someone else is holding a live session that your multi-factor prompt already blessed.
The Control Gap in One Sentence
MFA proves who is signing in. It does not govern what happens to the session token afterward, which is exactly the material this campaign is built to steal.
That is why the honest answer to "are we covered, we require MFA everywhere" is: partly, and not on this. The follow-up questions are whether your session tokens are bound to a device, whether a risky session gets revoked while it is still live, and whether a managed laptop is even permitted to join an unmanaged network in the first place.
The attacker does not need to beat your multi-factor prompt. They wait until your user passes it, and take what the prompt produced.
The Controls That Actually Map to Each Path
Microsoft published mitigation guidance alongside the research. Below is that guidance organized by which path it addresses, because a control list is only useful when you know what each item covers.
| Control | What it covers | Practical note |
|---|---|---|
| Block device code flow in Conditional Access | Path B only | Microsoft's lead identity recommendation. Allow it only where a real business need exists. |
| Token Protection session control | Path A, where supported | Binds the session token to the device, so a copied token fails elsewhere. Windows native apps only. Browser sessions are not covered. Read the limits below before you plan around it. |
| Block non-MDM Wi-Fi on managed devices | Both paths, prevention at the source | Removes the ability to join the compromised network at all. Has a real deployment catch. |
| Phishing-resistant MFA for privileged accounts | Path B, plus general hardening | Hardens the sign-in itself. It does not stop malware lifting token material after a sign-in has already succeeded, so do not count it against Path A. Scope it to admins first. |
| Restrict MFA and passkey registration to trusted locations and devices | Post-compromise, blocks persistence | Stops an attacker with a live session from quietly enrolling their own authenticator. |
| Sign-in risk policy plus Continuous Access Evaluation | Post-compromise, shortens dwell time | Revokes access mid-session on high risk instead of waiting for the token to expire naturally. |
| Endpoint detection on the traveling laptop | Path A | The malware persists as a service and disables script scanning. Someone has to be watching for that. |
The sixth row of that table, revoking a session while it is still live, is the one we automated. ABT Tokenator, the one automation Guardian owns, calls Microsoft Graph to revoke sign-in sessions on a risk detection. That invalidates the refresh tokens on Microsoft's side, so the attacker cannot keep minting new access from the stolen material and has to authenticate again. Microsoft raises the signal, and the revocation runs on its own without waiting for someone to read an alert. That combination, Microsoft's detection paired with a standing response, is what Guardian MxDR is.
Be precise about what revocation does not do, because this is where people over-trust it. It does not reach into the attacker's browser and delete a cookie, and an access token that was already issued can keep working until it expires. Continuous Access Evaluation is what shortens that window on the workloads that support it, which is why the two belong together rather than as alternatives. The other boundary is upstream: revocation depends on Microsoft flagging risk in the first place, and a quiet replay from a plausible location may never raise a signal. What the automation removes is the hours between a risk signal appearing and a human acting on it, which on a Saturday during a conference is the entire window.
The registration control deserves more attention than it usually gets. If an attacker is riding a stolen session, the natural next move is to register their own authentication method so they no longer need the stolen token. Restricting where registration can happen closes that door, and it is a policy most institutions have never configured. If your Conditional Access baseline is thinner than you would like, our guide to Conditional Access policies for financial institutions covers the foundation this builds on.
One of the seven controls above is already in the Conditional Access baseline we deploy under the M365 Guardian operating model: the device code restriction. The registration-location restriction is the one we most often add next, and this campaign is a good argument for moving it up the list. Guardian is the layer that configures Microsoft's own controls against a documented baseline across every tenant ABT manages, and then monitors for the drift that quietly reopens them. That second half is the part that matters here, because most of the seven controls above are not one-time switches. They get relaxed for a project, exempted for one executive, and never put back. Six months later the policy still exists in the portal, and the exception is what is actually running.
Token Protection is a Microsoft Entra Conditional Access session control that reduces token replay by accepting only device-bound sign-in session tokens. Microsoft's documentation puts the value plainly: a Primary Refresh Token is cryptographically bound to the registered device, so even if a threat actor steals the token, it cannot be used from another device. That is a direct answer to Path A, inside the scope Microsoft supports, and that scope is narrower than it first sounds.
Now the limits, because they decide whether this helps you. Token Protection is Generally Available on Windows, while iOS, iPadOS, and macOS are in preview. It supports native applications only, and browser-based applications are not supported. Enforcement covers Exchange Online, SharePoint Online, and Microsoft Teams, plus Azure Virtual Desktop and Windows 365 on Windows. Devices must be Entra joined, hybrid joined, or registered.
Read that as a real control with real edges. It meaningfully raises the cost of replaying a stolen token in Outlook or Teams on a Windows fleet. It does not cover the browser, which is where a great deal of Microsoft 365 work actually happens.
Building a Travel Baseline Without Stranding Your Executives
Microsoft's user-facing advice is blunt: when traveling, treat hotel, conference, airport, and other guest wireless networks as untrustworthy. Prefer a phone hotspot or cellular data over venue Wi-Fi. Never accept a software update, certificate, browser update, or network troubleshooting tool offered through a captive portal or an unexpected web prompt. Verify updates through the operating system, not a pop-up.
That is good guidance and it is free. Tell your traveling staff this week. But guidance that depends on a tired person making a good decision is the weakest control in the stack, which is why the technical version matters.
On managed Windows devices you can prevent connections to any Wi-Fi network that was not provisioned by your device management platform. The setting is a policy called AllowManualWiFiConfiguration, and it is genuinely effective, because a device that cannot join the compromised network cannot be redirected by it.
Do not flip this switch on a Friday
Microsoft's Windows configuration documentation for this policy carries an explicit warning. In Microsoft's words, if you change the setting to Block you must deploy enterprise Wi-Fi profiles to the device first, or "the device will go offline since it won't be able to connect to Wi-Fi." The same page adds that choosing to block "will delete any previously installed user-configured Wi-Fi profiles from the device, though not all non-MDM profiles will be deleted."
Think that through for a traveling lender. Set it carelessly and your chief lending officer lands in another city with a laptop that cannot join anything, including the network you expected them to use. Stage the profiles first, pilot with a small group that travels often, and have a documented fallback before it reaches the field.
A workable sequence for most institutions looks like this. The first two you can start this week without a budget conversation. The rest need a pilot group, money, or both, and the Wi-Fi restriction needs a rollback plan before it reaches anyone who travels.
- Decide which accounts travel and which of those are privileged. Start the strict controls there rather than everywhere at once.
- Turn on the device code restriction, after checking whether anything legitimate in your environment actually uses that flow.
- Pilot Token Protection on Windows for Exchange Online, SharePoint Online, and Teams, and be clear internally that browser sessions are not covered.
- Issue cellular hotspots or enable eSIM data for the people who travel most. This is the cheapest structural fix available.
- Stage enterprise Wi-Fi profiles, then pilot the managed Wi-Fi restriction with a group that travels frequently.
- Confirm someone is actually watching endpoint alerts while your people are on the road, including evenings and weekends when conferences happen.
Microsoft also lists Global Secure Access, its Security Service Edge offering, as an option for travelers. It is on the list for good reason, though it is worth being realistic: in practice the portal interaction usually has to happen first, which is the exact moment this campaign exploits, so an agent does not remove that step. It changes what an attacker can reach afterward, which is still worth having.
One thing worth thinking through before conference season. If the account whose session gets replayed is licensed for Microsoft 365 Copilot, the attacker does not simply inherit that person's mailbox. They inherit a search tool that will assemble, in a single prompt, whatever that person had permission to reach and never got around to finding. Copilot respects the permissions it is given, which is exactly the problem when the session it is running under is not the one you issued. That is an argument for tightening permissions before you widen a Copilot rollout rather than after it.
It is also worth naming who at your institution this actually targets. At a community bank or credit union, the people who travel most are lending leadership, the executive team, and the board. That is the same short list with the broadest access to loan files, board packets, and strategic plans, which is why "corporate travelers" undersells the exposure.
One more piece of hygiene that costs nothing. Microsoft advises against reusing corporate credentials on venue registration pages, and against volunteering more identifying detail than necessary when booking or registering for guest network access. Conference attendee lists are not a secret, and an actor deciding which venues to compromise is reading them too.
Before any of this, the question worth asking is whether it already happened. Microsoft published detection and hunting guidance alongside the research, so the signals exist to check: risky sign-in reports covering your recent travel dates, authentication methods registered on accounts whose owners did not register them, and file creation immediately after a device ran a network connectivity check. Pull those three for the last ninety days, and for whatever conference your executives attended most recently. If nobody at your institution is reviewing those signals, that is the finding.
Find out what a stolen session would actually reach in your tenant
M365 Guardian is how ABT configures and holds the Microsoft controls in this article across more than 750 financial institution tenants: Conditional Access against a documented baseline, the device code restriction, drift monitoring when an exception quietly reopens one, and automated session revocation on a risk detection. Start with a free Security Grade to see where your Microsoft 365 tenant stands today on device code exposure, session token binding, and registration restrictions. Then let's talk about whether anyone is watching a traveling laptop at 9 PM. You get the findings either way.
What an Examiner Will Ask
The 2021 FFIEC guidance on authentication and access defines multi-factor authentication using the NIST definition, and addresses remote users directly, noting that remote access software such as a VPN can be protected with multi-factor credentials. It is written, sensibly, around the problem of proving that the person signing in is who they claim to be.
It does not contain explicit language about session tokens or token replay. We want to be careful with that observation, because it is easy to misread in both directions. It does not mean examiners have no expectation here, and it certainly does not mean your institution has no obligation. Broader risk-management and layered-security expectations continue to apply, and an examiner is entitled to ask how you addressed a known, publicly documented attack against your environment.
What it does mean is that the control decision belongs to you. Nobody is going to hand you a citation that says "bind your refresh tokens." The defensible position is a documented one: you knew about the risk, you assessed which of your people are exposed, you selected controls, you noted the limitations of those controls, and you can show the dates. That is a far better conversation than producing a policy that says multi-factor authentication is required and hoping the question stops there.
If phishing-resistant methods are still on your roadmap rather than in production, that work now has a second justification beyond the one we wrote about in our piece on phishing-resistant MFA and examiner expectations. And if you want the endpoint side of this story, the same fake-prompt technique used here is the one we broke down in our look at ClickFix infostealers draining Microsoft 365 logins.
Conference season does not pause for a security review. The people most worth targeting at your institution are the ones who travel the most, carry the broadest access, and are the least likely to call the help desk about a strange update prompt at the end of a long day. That combination is the whole reason this campaign exists.
Frequently Asked Questions
Only partly. MFA remains essential and defeats large classes of attack, so this is not a reason to weaken it. But this campaign steals session tokens after authentication has already succeeded, and a stolen refresh token can be replayed without triggering a new multi-factor prompt. The controls that address the gap are session token binding, registration restrictions, sign-in risk policies with Continuous Access Evaluation, and endpoint detection on the traveling device.
You are protected against one of the two paths. Blocking device code flow stops the device code phishing route, which Microsoft names as its lead identity recommendation. It does not affect the malware route, where an infostealer collects tokens directly from a compromised endpoint and never uses the device code grant at all. Both paths appear in the same campaign, so both need an answer.
A VPN helps, and it is worth running, but it does not cover the moment this attack happens. A properly configured full-tunnel VPN with encrypted DNS does reduce exposure to traffic manipulation on a hostile local network once the tunnel is up. The problem is the sequence: the portal interaction generally comes first, and that is when the user is shown the fake update prompt. Once malware is running on the device, it is inside the tunnel too. Microsoft's guidance points toward preferring cellular data over venue Wi-Fi entirely, and toward preventing managed devices from joining unmanaged networks.
Token Protection is a Microsoft Entra Conditional Access session control that accepts only device-bound sign-in session tokens, so a stolen token cannot be used from another machine. Coverage has real limits worth knowing before you plan around it. It is Generally Available on Windows while iOS, iPadOS, and macOS are in preview, it supports native applications only and not browser-based applications, and enforcement applies to Exchange Online, SharePoint Online, and Microsoft Teams, plus Azure Virtual Desktop and Windows 365 on Windows.
Yes, on managed Windows devices, using the AllowManualWiFiConfiguration policy to block connections to networks not provisioned by your device management platform. Deploy it carefully. Microsoft warns that you must push your enterprise Wi-Fi profiles to the device before applying the setting, or the device will go offline because it cannot connect to any Wi-Fi, and that blocking will delete previously installed user-configured profiles. Stage the profiles, pilot with frequent travelers, and pair it with cellular hotspots so people still have a way to work.
Microsoft published detection coverage and hunting guidance alongside the research, including Defender detections for the ClickFix technique, suspicious service and scheduled task registration, script scanning tampering, and anomalous device code authentication activity. Practical starting points are reviewing risky sign-in reports for travel periods, checking for authentication method registrations that staff did not make, and hunting for file creation shortly after a device performed a network connectivity check. If nobody at your institution is reviewing those signals, that is the finding.