Back to Intelligence

Mirage2FA PhaaS, Offside Wallet Theft Factory & T-Mobile Smishing: OTX Pulse Analysis — Credential Theft Detection Pack

SA
Security Arsenal Team
September 18, 2026
8 min read

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, *.info TLDs), often with subdomain prefixes like office., 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>.top hostname 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.co or *.workers.dev with 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

YAML
---
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
KQL — Microsoft Sentinel / Defender
// 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
PowerShell
# 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}\.top to 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.