Threat reportThreat IntelligenceTL-2026-1838

CaptiveCrunch: Storm-2945 (Midnight Blizzard / APT29) compromises hotel WiFi gateways globally for credential theft and malware delivery

criticalACTIVE

CaptiveCrunch (TL-2026-1838), also tracked as CaptiveCrunch, is a critical-severity tracked intrusion set, first published 2026-08-03. It is attributed to UNC2452 (Russia) with high confidence, affects Microsoft Microsoft Entra ID / Azure AD, maps to 25 MITRE ATT&CK techniques (T1027, T1036, T1053), and is covered by 9 detection rules and 22 indicators of compromise.

Severity
CRITICALAssessed severity
CVEs
0None referenced
Techniques
25MITRE ATT&CK
Actors
1UNC2452
Detection rules
9SPL · KQL · Sigma
IOCs
22Indicators of compromise

Key facts for TL-2026-1838

Threat ID
TL-2026-1838
Also known as
CaptiveCrunch
Severity
CRITICAL
Status
ACTIVE
Category
THREAT_INTEL
First published
Last reviewed
Attribution
UNC2452
Attribution confidence
HIGH
Nation-state nexus
Russia
Motivation
ESPIONAGE
Target sectors
government administration, diplomatic, ngos, it services, finance, legal, health, energy, retail, professional services, defense, education
Target regions
North America, Europe, india, saudi arabia, Middle East, Multiple countries worldwide
Detection rules
9
Indicators of compromise
22

Malware and tooling in CaptiveCrunch

Malware and tooling: Storm

How CaptiveCrunch works

Russia-linked threat actor Storm-2945, a sub-cluster of Midnight Blizzard (APT29 / Cozy Bear, SVR), has been conducting a global traffic-manipulation campaign since May 2026 targeting hotel, conference center, and airport WiFi networks. Attackers compromise captive portal gateways, manipulate DNS and HTTP traffic to redirect users to Microsoft-themed phishing sites and malware downloads via ClickFix lures. Payloads include CornFlake RAT (Go-based Windows remote access trojan), ChocoShell (PowerShell infostealer), and device-code OAuth theft for Microsoft Entra MFA bypass, operated through the FruitStone C2 panel.

CaptiveCrunch is an ongoing global cyber espionage campaign attributed to Storm-2945, an operational sub-cluster of the Russia-based threat actor Midnight Blizzard (APT29 / Cozy Bear), which is attributed by US and UK governments to the Foreign Intelligence Service of the Russian Federation (SVR). First tracked by Microsoft since February 2026 and observed in its captive-portal form since early May 2026, the campaign represents a significant evolution in adversary-in-the-middle (AitM) attacks at scale, combining physical-network compromise with sophisticated OAuth credential theft and custom malware delivery.

Attack Methodology: The threat actor gains administrative access to internet-facing captive portal gateway appliances at hotels, conference centers, and shared venues. The initial compromise vector remains under investigation, but Microsoft found notable commonalities in equipment and management systems across affected networks, suggesting potential access to shared services within the captive portal ecosystem rather than isolated compromises. ReliaQuest assesses with low-to-medium confidence that initial access likely exploited exposed management interfaces (including internet-facing SSH, SNMP, and web administration consoles) in combination with weak or reused administrative credentials. Once in control, the attackers modify DNS and HTTP traffic so that all DNS requests from guests connected to the network resolve to actor-controlled IP addresses. This approach bypasses common DNS protections because hard-coded resolvers like 8.8.8.8 still send unencrypted requests the gateway can forge, and opportunistic-mode encrypted DNS permits plaintext fallback. In approximately one-third of observed cases, the attackers also abused Web Proxy Auto-Discovery (WPAD) by controlling DHCP option 252 or DNS lookups for 'wpad', enabling deployment of malicious proxy auto-configuration (PAC) files that route application traffic through attacker proxies.

From this AitM position, the attackers redirect users through actor-controlled phishing infrastructure using ClickFix (fake verification/update pages) that present fake browser update prompts, Windows Driver Repair utilities, Google-branded verification checks, and other social engineering lures. Users are directed either to malware downloads or to device code authentication flows.

Malware Arsenal: CornFlake is a full-featured Windows remote access trojan written in Go, serving as the primary persistent implant. It uses ECDH P-256 ephemeral key exchange for C2 encryption with session keys derived via SHA-256 over a custom JSON protocol. On execution, it operates in dropper mode displaying a fake progress window, copies itself to %APPDATA%\svchost32\svchost32.exe, and establishes redundant persistence via Windows service creation (svchost32 / 'Cloud Sync Service'), Registry Run keys, and scheduled tasks with a continuous watchdog. Capabilities include raw-input keylogging, clipboard monitoring with SHA-256 deduplication, idle-triggered and on-demand screenshots, WASAPI-based microphone capture, Media Foundation-based webcam capture, ChromeKatz-derived browser credential theft (supporting Chrome ABE bypass for v127+ and Firefox NSS/SDR decryption), real-time filesystem exfiltration (throttled at 1,000 files or 500 MB per cycle), USB removable media scanning, security posture enumeration across 18 categories, and remote shell via cmd.exe or PowerShell. It also exposes a localhost HTTP API server with /upload, /reload, and /status endpoints allowing companion payloads to task file exfiltration or trigger config reloads. ChocoShell is a PowerShell-based infostealer executed entirely in-memory, targeting high-volume theft of browser session cookies, saved passwords, Microsoft 365 SSO tokens, and Wi-Fi credentials. It communicates with a hardcoded C2 at 213.145.86.112 via HTTPS beacons disguised as tracking pixels (/t/pixel.gif?m=<status>) and fetches tooling from paths like /cdn/chunks/polyfill-7e2b.min.js masquerading as JavaScript polyfills. ChocoShell disables AMSI via .NET reflection, implements timing-based sandbox detection, and uses three ordered UAC bypass techniques: SilentCleanup task hijack (HKCU\Environment\windir), wsreset.exe COM hijack (HKCU\Software\Classes), and sdclt.exe folder hijack (HKCU\Software\Classes\Folder\shell\open\command), with fallback to a visible UAC prompt. For credential extraction, it handles both modern Chrome ABE encryption (v127+, requiring SYSTEM-level DPAPI access) and legacy DPAPI-only schemes, and includes a parallel collection path using Chrome DevTools Protocol's Network.getAllCookies to bypass ABE entirely. FruitStone is a web-based C2 panel branded as 'CloudSync Console / Acuity Systems, Inc. — Cloud Infrastructure Portal v3.2.1', exposing JWT-authenticated multi-operator access, agent dashboards with SSE real-time status, geographic distribution mapping, remote shell access, filesystem browsing, collection tasking, implant configuration, and a campaign builder for configuring dropper types, evasion settings, and proxy relay management.

Device Code OAuth Theft: Since July 16, 2026, portions of CaptiveCrunch landing pages redirect users to Microsoft Entra ID device code authentication flows. This technique, previously associated with Storm-2372 (another Midnight Blizzard sub-cluster tracked since August 2024), exploits the legitimate OAuth device authorization workflow designed for input-constrained devices. The attacker generates a device code via Microsoft's OAuth endpoint, then tricks the user into entering that code at login.microsoftonline.com. When the victim authenticates with MFA, they authorize the attacker's session rather than their own, granting the attacker persistent access tokens to the victim's Microsoft 365 account. This bypasses MFA entirely because Microsoft issues valid OAuth tokens to the attacker-controlled client. Device codes expire after 15 minutes, requiring real-time coordination. Forensic traces include authenticationProtocol: deviceCode in Entra ID sign-in logs and originalTransferMethod: deviceCodeFlow in subsequent session refreshes.

Targeting Scope: Compromised gateways identified across multiple US cities, India, Saudi Arabia, and worldwide locations. Affected sectors observed in traffic include financial services, professional services, legal, healthcare, energy, retail, government, diplomatic entities, NGOs, and IT service providers. The campaign is assessed as not sector-specific but rather targeting traveling employees wherever they connect. Any captive portal operator faces similar risk, including airports, conference centers, coworking spaces, universities, and event venues. The campaign also exploits AI-augmented operations, with Microsoft noting Storm-2945 leverages AI to support a significant portion of these operations.

Microsoft Threat Intelligence has tracked Storm-2945 since February 2026, with Storm-2945 overlapping with Storm-2372, a previous Midnight Blizzard sub-cluster known for device code and OAuth code phishing tracked throughout 2025, Microsoft Graph-based email exfiltration, and social engineering via commercial messaging apps. The CaptiveCrunch campaign shares TTP overlap with the Forest Blizzard (APT28 / GRU) FrostArmada DNS hijacking campaign disclosed in April 2026 but uses distinct infrastructure, indicating separate SVR operations.

MITRE ATT&CK techniques used in TL-2026-1838

Defense Evasion

T1027 Obfuscated Files or Information; T1036 Masquerading; T1140 Deobfuscate/Decode Files or Information; T1497 Virtualization/Sandbox Evasion

Execution

T1053 Scheduled Task/Job; T1059 Command and Scripting Interpreter; T1204 User Execution

Initial Access

T1078 Valid Accounts; T1133 External Remote Services; T1190 Exploit Public-Facing Application; T1195 Supply Chain Compromise; T1199 Trusted Relationship; T1566 Phishing

command-and-control

T1090 Proxy; T1665 Hide Infrastructure

Credential Access

T1528 Steal Application Access Token; T1539 Steal Web Session Cookie; T1555 Credentials from Password Stores

Persistence

T1543 Create or Modify System Process; T1546 Event Triggered Execution; T1547 Boot or Logon Autostart Execution

Privilege Escalation

T1548 Abuse Elevation Control Mechanism

lateral-movement

T1550 Use Alternate Authentication Material

defense-impairment

T1553 Subvert Trust Controls; T1685 Disable or Modify Tools

Affected products and versions in CaptiveCrunch

  • Microsoft — Microsoft Entra ID / Azure AD
    Vulnerable versions: All versions with device code flow enabled
    Fixed in: Block device code flow via Conditional Access
  • Microsoft — Windows
    Vulnerable versions: Windows 10; Windows 11; Windows Server 2019; Windows Server 2022
    Fixed in: Up-to-date with security patches; EDR deployed
  • Google — Android
    Vulnerable versions: Android devices with captive portal access enabled
    Fixed in: APK delivery via ClickFix landings; avoid sideloading

Remediation for CaptiveCrunch

Patches

  • Ensure captive portal gateway firmware and management interfaces are patched and default credentials changed
  • Disable exposed management interfaces (SSH, SNMP, web admin) on captive portal appliances where possible

Immediate actions

  • Enforce always-on full-tunnel VPN on all enterprise-managed devices
  • Block device code authentication flow via Conditional Access in Microsoft Entra ID where not required
  • Block known IOCs (IPs: 31.57.243.154, 38.146.28.75, 38.146.28.132, 104.194.159.150, 107.189.26.194, 213.145.86.112; domains: ms365-device.com, ms365-live.com, m365-owa.com, owa-ms365.com) at network perimeter
  • Implement sign-in risk policy with automated response in Microsoft Entra ID
  • Audit proxy authentication logs for authentications from unknown hosts
  • Disable WPAD via Group Policy where not required

Workarounds

  • Never reuse corporate credentials on hotel, conference, or guest network registration pages
  • Never download software updates, certificates, or security tools from captive portal prompts
  • Use mobile hotspots, satellite, or eSIM cellular data over public Wi-Fi when traveling
  • Enterprise-managed devices: prevent Wi-Fi connections to non-MDM-provisioned networks via policy CSP
  • Minimize disclosure of employee identities, organizational affiliations, and travel details when booking

Longer-term hardening

  • Use passwordless solutions such as passkeys; implement MFA via Microsoft Authenticator
  • Conditional access policies with phishing-resistant MFA for privileged accounts
  • Use enterprise-managed travel routers with encrypted tunnels to corporate infrastructure
  • Deploy EDR with behavioral detection for AMSI tampering, UAC bypass attempts, and anomalous DPAPI access
  • Implement Global Secure Access SSE solution
  • Establish monitoring for device code authentication flow anomalies in Entra ID sign-in logs
  • Audit and eliminate DNS split-tunneling across enterprise fleet

Timeline of CaptiveCrunch

  • Storm-2372 (Midnight Blizzard sub-cluster) begins device code and OAuth code phishing campaigns targeting governments and diplomatic entities, overlapping with Storm-2945 infrastructure and TTPs
  • Microsoft Threat Intelligence begins tracking Storm-2945, observing AI-augmented device code and OAuth code phishing campaigns
  • Earliest observed AitM infrastructure IP (104.194.159.150) goes online for CaptiveCrunch campaign
  • CaptiveCrunch campaign begins: Storm-2945 observed manipulating DNS and HTTP traffic from compromised captive portal networks at hotels and conference centers worldwide
  • Doppelganger domain ms365-live.com first seen, used for device code flow abuse and AitM phishing
  • Ongoing operations observed across multiple countries; compromised gateways identified in multiple US cities, India, and Saudi Arabia
  • ChocoShell C2 IP (213.145.86.112) and AitM IP (38.146.28.75) first observed; ChocoShell PowerShell infostealer goes operational
  • CornFlake RAT SHA-256 file hash (918fa52ae45ed60ba7cc8bdc99c3cbe9ab92e0375ec31fc05d0d4513be11c593) first observed in the wild
  • ChocoShell SHA-256 file hash (be99857449d2856dd5a84e21c8a3d5e0e01456adb44062ddec5a6b4970d8d42c) first observed in the wild
  • DNS Resolver IP (38.146.28.132) first observed supporting CaptiveCrunch campaign infrastructure
  • Device code phishing integrated into CaptiveCrunch landings; OWA-ms365 domain and IP (31.57.243.154) first observed
  • m365-owa.com domain first observed hosting AitM phishing infrastructure
  • ReliaQuest publishes Threat Spotlight report identifying DNS poisoning tactics expanding to hospitality sector; ms365-device.com domain first observed
  • Microsoft publishes comprehensive CaptiveCrunch advisory detailing full attack chain, malware arsenal (CornFlake, ChocoShell, FruitStone C2), IOCs, and defensive guidance
  • Risky.Biz publishes bulletin confirming attribution to Storm-2945/Midnight Blizzard and distinguishing from separate APT28/FrostArmada operation, noting AI-augmented operations

Sources cited for CaptiveCrunch

Detection coverage for TL-2026-1838

As of 2026-08-03, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-1838 across Splunk SPL, Microsoft KQL and Sigma, covering 22 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.

9 detection rules (Splunk SPL, Microsoft KQL, Sigma) · Blue and above. Compare plans
22 indicators of compromise · Red and above. Compare plans

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Live intelligence console

Threat level
Fig. 01 · Threat weatherIndexing the archive…
1 square = 1 threat · click to open

Latest Threats