Threat Summary
Three concurrent OTX pulses paint a clear picture of the current credential-theft landscape: attackers are industrializing identity compromise at every layer of the enterprise attack surface — identity providers, browsers, and mobile devices.
Mirage2FA (attributed to LinX Coders) is a phishing-as-a-service (PhaaS) toolkit engineered to defeat multi-factor authentication on Microsoft 365 through Adversary-in-the-Middle (AiTM) session hijacking. Over 4,000 victims are confirmed in the United States — 63.7% of the observed victim pool — spanning Technology, Manufacturing, Education, Finance, Healthcare, and Telecommunications. Rather than stealing static passwords, Mirage2FA proxies the entire authentication flow and captures authenticated session cookies, rendering TOTP and push-based MFA ineffective. The kit uses HTML smuggling for payload delivery and WebSocket channels for real-time credential/session exfiltration.
The Offside Wallet Theft Factory campaign pushed 77 Firefox extensions — 40 confirmed malicious — impersonating Web3 and cryptocurrency wallet tools. These extensions exfiltrate recovery phrases, private keys, and stored credentials through a layered C2 design: Supabase-hosted remote configuration switches, Cloudflare Workers as traffic relays, and hardcoded fallback C2 domains. The use of legitimate cloud infrastructure (Supabase, Cloudflare) is a deliberate attempt to blend malicious traffic into allowlisted SaaS egress.
The T-Mobile rewards points smishing campaign has run since early May 2026, delivering urgency-driven SMS lures ("18,400 points expiring") that direct victims to rotating phishing hostnames under disposable .top TLDs following a consistent t-mobile.<random>.top pattern. While consumer-facing, these harvesters routinely collect corporate credentials and payment data, and smishing against BYOD fleets is a direct enterprise exposure.
Collectively, these pulses confirm a single strategic objective across all three operations: harvesting reusable identity material — session tokens, seed phrases, and credentials — for resale or follow-on intrusion.
Threat Actor / Malware Profile
Mirage2FA (LinX Coders)
- Distribution: Phishing emails carrying HTML attachments (HTML smuggling) that assemble the lure page client-side, bypassing email gateway inspection.
- Payload behavior: Reverse-proxy AiTM phishing pages impersonating Microsoft 365 login portals. Victim credentials and MFA responses are relayed to the real Microsoft service while the attacker captures the resulting session cookie.
- C2 communication: WebSocket-based real-time exfiltration of captured sessions to operator infrastructure hosted on lookalike domains (
*.store,*.shop,*.site,*.infoTLDs), often with subdomain prefixes likeoffice.,ver.,adp.. - Persistence: No host persistence required — the stolen session token itself is the persistence mechanism, valid until revocation or expiry.
- Anti-analysis: HTML smuggling evades static attachment scanning; rotating low-reputation domains evade URL blocklists.
Offside Wallet Theft Factory
- Distribution: Mozilla Firefox Add-ons ecosystem (or sideloaded extensions) impersonating legitimate wallet/Web3 utilities.
- Payload behavior: Reads wallet recovery phrases, private keys, and browser-stored credentials; exfiltrates via HTTPS POST.
- C2 communication: Tiered C2 — Supabase API endpoints as remote kill/config switches, Cloudflare Workers as anonymizing relays, hardcoded domains (
browser-app.com,browsify.net,e-wl.com) as fallback. - Persistence: Installs as a browser extension, surviving OS-level remediation; requires extension removal plus credential rotation.
- Anti-analysis: Malicious logic gated behind remote switches (dormant until activated), abuse of trusted cloud platforms to defeat egress filtering.
T-Mobile Smishing Kit
- Distribution: Bulk SMS with urgency lures referencing expiring rewards balances.
- Payload behavior: Credential/payment harvester pages on fast-flux hostnames.
- C2/infra pattern:
t-mobile.<6-char-random>.tophostname generation, high domain churn.
IOC Analysis
The pulses contain three operational indicator classes:
- Domains/hostnames (AiTM & smishing infrastructure): Highest-value indicators. Mirage2FA infrastructure (
sopbtech.store,verpox.shop,pslcertlive.site, etc.) should be blocked at DNS and secure web gateway layers and hunted retroactively in proxy and DNS logs. The T-Mobile hostnames share a regex-detectable pattern (t-mobile\.[a-z]{6}\.top) enabling proactive detection beyond the published list. - File hashes (SHA256, malicious extensions): 163 indicators in the extension pulse. Operationalize via EDR blocklists and retrohunts across browser extension caches and user profiles (
%APPDATA%\Mozilla\Firefox\Profiles\*\extensions). - Trusted-cloud abuse (Supabase/Cloudflare Workers): Cannot be domain-blocked. Detect via behavioral analytics — browser processes making anomalous POST requests to
*.supabase.coor*.workers.devwith high-entropy payloads.
SOC teams should ingest these IOCs into their TIP (MISP, OpenCTI, or Sentinel threat intelligence), apply aging (smishing domains burn fast — 30-day TTL), and pair indicator matching with the behavioral detections below, since AiTM kits rotate infrastructure faster than feeds update.
Detection Engineering
---
title: Mirage2FA AiTM Phishing - HTML Smuggling Attachment Execution
id: 4f2a9c1e-8b7d-4e3a-9f1c-mirage2fa001
status: experimental
description: Detects HTML smuggling delivery pattern used by Mirage2FA PhaaS - browser process spawned from email client or HTML attachment written to temp/download directories then opened
author: Security Arsenal Threat Intelligence
references:
- https://any.run/cybersecurity-blog/mirage2fa-phishing-targets-us-companies/
date: 2026/09/19
logsource:
category: process_creation
product: windows
detection:
selection_browser:
Image|endswith:
- '\msedge.exe'
- '\chrome.exe'
- '\firefox.exe'
selection_parent:
ParentImage|endswith:
- '\OUTLOOK.EXE'
- '\thunderbird.exe'
- '\explorer.exe'
selection_cmdline:
CommandLine|contains:
- '\AppData\Local\Temp\'
- '\Downloads\'
- '.htm'
condition: selection_browser and selection_parent and selection_cmdline
falsepositives:
- Legitimate HTML attachments opened from email clients
level: medium
tags:
- attack.initial_access
- attack.t1566.002
- attack.t1027.006
---
title: Malicious Firefox Extension C2 Communication - Offside Wallet Theft Factory
id: 7c3d5e2a-1f9b-4a6c-8d2e-offside7702
status: experimental
description: Detects Firefox browser connections to known Offside Wallet Theft Factory C2 domains or suspicious cloud relay infrastructure used for credential exfiltration
author: Security Arsenal Threat Intelligence
references:
- https://socket.dev/blog/firefox-crypto-wallet-theft
date: 2026/09/19
logsource:
category: network_connection
product: windows
detection:
selection_image:
Image|endswith: '\firefox.exe'
selection_c2_domains:
DestinationHostname|contains:
- 'browser-app.com'
- 'browsify.net'
- 'gemachriverdale.org'
- 'e-wl.com'
selection_cloud_relay:
DestinationHostname|endswith:
- '.supabase.co'
- '.workers.dev'
condition: selection_image and (selection_c2_domains or selection_cloud_relay)
falsepositives:
- Legitimate Web3 extensions using Supabase backends - validate against installed extension inventory
level: high
tags:
- attack.command_and_control
- attack.t1071.001
- attack.t1102
- attack.credential_access
- attack.t1555.003
---
title: Mirage2FA AiTM C2 Domain Resolution - Session Hijack Infrastructure
id: 9e1f4b8c-3a2d-4f7e-b5c9-mirage2fa003
status: experimental
description: Detects DNS resolution of known Mirage2FA phishing infrastructure domains used for Microsoft 365 AiTM session theft
author: Security Arsenal Threat Intelligence
date: 2026/09/19
logsource:
category: dns
product: windows
detection:
selection:
query|contains:
- 'galatasaraydanhaberler.com'
- 'sopbtech.store'
- 'pcvgtech.store'
- 'verpox.shop'
- 'cementslabconstruction.com'
- 'pslcertlive.site'
- 'rsxbenefits.com'
- 'vslbertlive.info'
condition: selection
falsepositives:
- Unlikely - infrastructure confirmed malicious
level: critical
tags:
- attack.command_and_control
- attack.t1071.004
- attack.credential_access
- attack.t1557
// Hunt: Mirage2FA AiTM infra + T-Mobile smishing pivot pattern + extension C2
let AiTMDomains = dynamic(["galatasaraydanhaberler.com","sopbtech.store","pcvgtech.store","verpox.shop","cementslabconstruction.com","pslcertlive.site","rsxbenefits.com","vslbertlive.info"]);
let ExtensionC2 = dynamic(["browser-app.com","browsify.net","gemachriverdale.org","e-wl.com"]);
let NetworkHits = DeviceNetworkEvents
| where TimeGenerated > ago(30d)
| extend RemoteHost = tostring(parse_url(RemoteUrl).Host)
| where RemoteHost in~ (AiTMDomains) or RemoteHost in~ (ExtensionC2)
or RemoteUrl matches regex @"t-mobile\.[a-z]{6}\.top"
or (InitiatingProcessFileName =~ "firefox.exe" and (RemoteHost endswith ".supabase.co" or RemoteHost endswith ".workers.dev"))
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessAccountName, RemoteUrl, RemoteIP, ActionType;
let BrowserProcessHits = DeviceProcessEvents
| where TimeGenerated > ago(30d)
| where FileName in~ ("msedge.exe","chrome.exe","firefox.exe")
| where InitiatingProcessFileName in~ ("OUTLOOK.EXE","explorer.exe")
| where ProcessCommandLine has_any ("\\AppData\\Local\\Temp\\","\\Downloads\\") and ProcessCommandLine has ".htm"
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, AccountName;
union NetworkHits, BrowserProcessHits
| sort by TimeGenerated desc
# Hunt Script: Offside Wallet Theft Factory extensions + Mirage2FA artifacts
# Run elevated on endpoints or via remote execution tooling (Intune/Defender Live Response)
$ExtensionHashes = @(
"08b7b064fa9a41b06774315d944ffddff705ab727222a0c3bcac64a77553bf2f",
"4d0912d575087dab5f468214a2fd259bc386472a8b2b93b6e2441cde4bd941cb",
"26427220b9965e22deca0e617657c2c65b78f750183355d1265c147818367bd7",
"252119fc48ad93b0c930d7a62fb49420cf8986716539e4e9d4d5c1bad700d435"
)
$MaliciousDomains = @("browser-app.com","browsify.net","e-wl.com","sopbtech.store","verpox.shop","pslcertlive.site")
Write-Host "=== [1] Hashing Firefox extension XPI files across user profiles ===" -ForegroundColor Cyan
Get-ChildItem "C:\Users\*\AppData\Roaming\Mozilla\Firefox\Profiles\*\extensions" -ErrorAction SilentlyContinue |
ForEach-Object {
$h = (Get-FileHash $_.FullName -Algorithm SHA256 -ErrorAction SilentlyContinue).Hash
if ($ExtensionHashes -contains $h.ToLower()) {
Write-Host "[!] MALICIOUS EXTENSION: $($_.FullName) [$h]" -ForegroundColor Red
}
}
Write-Host "=== [2] Checking DNS cache for C2/smishing infrastructure ===" -ForegroundColor Cyan
Get-DnsClientCache -ErrorAction SilentlyContinue | Where-Object {
$entry = $_.Entry
($MaliciousDomains | Where-Object { $entry -like "*$_*" }) -or
($entry -match "t-mobile\.[a-z]{6}\.top")
} | Select-Object Entry, Data | Format-Table -AutoSize
Write-Host "=== [3] Active connections to Supabase/Workers relays from browsers ===" -ForegroundColor Cyan
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue |
Where-Object { $_.OwningProcess -in (Get-Process firefox,chrome,msedge -ErrorAction SilentlyContinue).Id } |
ForEach-Object {
$rdns = ([System.Net.Dns]::GetHostEntry($_.RemoteAddress).HostName) 2>$null
if ($rdns -match "supabase\.co|workers\.dev") {
Write-Host "[!] Suspicious cloud relay: $rdns (PID $($_.OwningProcess))" -ForegroundColor Yellow
}
}
Write-Host "=== [4] Recent HTML files in Temp/Downloads (HTML smuggling check) ===" -ForegroundColor Cyan
Get-ChildItem "C:\Users\*\AppData\Local\Temp","C:\Users\*\Downloads" -Include *.htm,*.html -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-14) -and (Select-String -Path $_.FullName -Pattern "Blob|atob|createObjectURL" -Quiet -ErrorAction SilentlyContinue) } |
Select-Object FullName, LastWriteTime | Format-Table -AutoSize
Write-Host "=== Hunt complete. Escalate any [!] findings to IR immediately. ===" -ForegroundColor Green
Response Priorities
Immediate (0–24h)
- Block all listed domains/hostnames at DNS, SWG, and email gateway; add regex rule for
t-mobile\.[a-z]{6}\.topto cover smishing churn. - Deploy the three Sigma rules and run the KQL hunt across the last 30 days of telemetry.
- Audit installed browser extensions fleet-wide via software inventory; remove any matching the published SHA256 hashes.
- Flag any user who resolved Mirage2FA domains as suspected session compromise.
24 Hours
- For any user who visited AiTM infrastructure: revoke all active sessions and refresh tokens in Entra ID, force password reset, and re-register MFA. Session revocation is mandatory — password reset alone does not invalidate stolen cookies.
- Rotate any cryptocurrency wallet keys or seed phrases that may have transited a compromised browser.
- Review Conditional Access sign-in logs for anomalous session reuse (impossible travel, token replay from foreign ASN).
1 Week
- Deploy phishing-resistant MFA (FIDO2/passkeys) for privileged and high-risk users — AiTM kits cannot replay hardware-bound authenticator sessions.
- Enforce token protection / Continuous Access Evaluation where licensing permits.
- Implement an extension allowlisting policy via browser enterprise management (Firefox/Chrome policies) to block unvetted add-ons.
- Extend smishing defenses: carrier-level SMS filtering for corporate mobile plans and user awareness on rewards-points lure patterns.
Related Resources
Security Arsenal Incident Response Managed SOC & MDR Services AlertMonitor Threat Detection From The Dark Side Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.