Back to Intelligence

Operation STANDOFF + Offside Wallet Theft Factory: GitHub-Redirected C2, Stealer Loader Chains & Malicious Firefox Extensions — OTX Enterprise Detection Pack

SA
Security Arsenal Team
August 20, 2026
10 min read

Two fresh OTX pulses paint a convergent picture of the 2026 credential-theft economy: a Russian-speaking multi-operator intrusion campaign hiding command-and-control behind GitHub redirects, and a coordinated browser extension factory draining cryptocurrency wallets and harvesting credentials at scale. Both campaigns monetize the same commodity — stolen identity material — and both abuse trusted infrastructure to blend into legitimate enterprise traffic.


Threat Summary

Pulse 1 — Operation STANDOFF (VMRay Labs / AlienVault): A sophisticated Russian-speaking cybercriminal operation running a pay-per-install (PPI) loader ecosystem. A single shared infrastructure distributes a cocktail of commodity stealers and loaders — Raccoon Stealer, RedLine, Amadey, SmokeLoader, Socelars, Glupteba, and XMRig — while simultaneously enrolling victim machines into a proxy-botnet (residential proxy monetization). C2 servers hosted on Russian provider TimeWeb use GitHub redirects as dead-drop resolvers, allowing operators to rotate infrastructure without touching deployed malware. The campaign also tags Active Directory targeting, Telegram account farming, and AI-driven influence operations — indicating the intrusion set supports downstream operations beyond simple credential resale.

Pulse 2 — Offside Wallet Theft Factory (Socket / AlienVault): 77 Firefox browser extensions, 40 confirmed malicious, impersonating legitimate Web3 and wallet tools. The extensions exfiltrate recovery phrases, private keys, and stored credentials via a layered exfiltration chain: Supabase instances acting as remote kill-switch/config controllers, Cloudflare Workers as traffic relays, and hardcoded fallback C2 domains. This is software supply-chain compromise aimed directly at the identity layer — the browser.

Collective assessment: Both campaigns demonstrate the modern infostealer tradecraft playbook: (1) abuse of legitimate cloud/dev platforms (GitHub, Supabase, Cloudflare Workers) to evade domain reputation controls, (2) multi-payload monetization stacking (stealer + miner + proxy bot), and (3) rapid operationalization of stolen credentials into account farms, AD lateral movement, and crypto drainers. CVE-2021-34527 (PrintNightmare) appearing in the STANDOFF indicator set suggests privilege escalation and lateral movement tooling for AD environments.


Threat Actor / Malware Profile

Operation STANDOFF (Russian-speaking, multi-operator)

  • Distribution: Pay-per-install loader network; malvertising, cracked software, and SEO-poisoned download portals feeding a staged loader chain.
  • Payload behavior: Loader (SmokeLoader/Amadey) pulls second-stage stealers (Raccoon, RedLine, Socelars) which harvest browser credentials, cookies/session tokens, crypto wallets, FTP/VPN clients, and Telegram sessions. Glupteba provides modular backdoor capability; XMRig monetizes idle CPU via cryptomining; a proxy module enrolls hosts into a residential proxy-botnet sold to other actors.
  • C2 communication: Primary C2 hosted on TimeWeb (RU). Operators use GitHub-hosted redirect/dead-drop pages to resolve live C2 addresses — defeating static domain blocklists since the malware initially contacts github.com. API endpoints such as /api/setStats.php (e.g., wfsdragon.ru) handle victim check-in and telemetry.
  • Persistence: Registry Run keys, scheduled tasks, and (for Glupteba) WMI event subscriptions. AD targeting tags indicate follow-on privilege escalation — PrintNightmare (CVE-2021-34527) indicators suggest unpatched print spooler abuse for SYSTEM-level lateral movement.
  • Anti-analysis: Multi-stage unpacking, environment checks for sandboxes, geofencing common in Russian-speaking crews, and dynamic C2 resolution via trusted platforms.

Offside Wallet Theft Factory (unknown attribution)

  • Distribution: Mozilla Firefox Add-ons ecosystem — 77 extensions mimicking Web3 wallets, portfolio trackers, and crypto utilities.
  • Payload behavior: JavaScript-based skimming of seed phrases and private keys from wallet interfaces and clipboard; credential harvesting from browser storage and web forms.
  • C2 communication: Tiered exfiltration — Supabase REST endpoints act as remote configuration switches (enabling/damping theft behavior remotely), Cloudflare Workers proxy stolen data to obscure the final destination, and hardcoded C2 domains (e.g., browser-app.com, browsify.net) as fallback.
  • Persistence: Native browser extension persistence — survives reboots, updates silently, and inherits browser permissions.
  • Anti-analysis: Dormant-until-triggered exfiltration gated by Supabase remote switches, delaying malicious behavior until after store review and initial install periods.

IOC Analysis

The pulses contain 214 combined indicators across these types:

TypeExamplesOperationalization
Domainslistincode.com, wfsdragon.ru, topniemannpickshop.cc, browser-app.com, browsify.netBlock at DNS sinkhole, SWG/proxy, and EDR network controls. Note the .cc, .ru, .com.mx, .com.sg TLD spread — typosquatted payment/gaming lures.
URLshttp://wfsdragon.ru/api/setStats.phpMatch on URI path patterns (/api/setStats.php) in proxy logs — path-based detection survives domain rotation.
FileHash-SHA25608b7b064fa9a41b0…, 4d0912d575087d…Push to EDR block lists; retrohunt across the full extension payload corpus (164 IOCs).
CVECVE-2021-34527Not a blocking IOC — a patching and exposure signal. Audit Print Spooler status on all domain-joined systems.

Tooling: Import pulses into your TIP (OpenCTI, MISP, ThreatConnect) via the OTX DirectConnect API. Decode C2 configs from loader samples with Malcore/VMRay/ANY.RUN sandbox detonation; use Suricata/Zeek for URI-path network signatures; use urlscan.io historical search on the domains to uncover additional redirect chains. For the extension campaign, inventory installed browser extensions via your MDM/EDR software inventory and diff against the published malicious-extension list.


Detection Engineering

YAML
---
title: Operation STANDOFF Stealer Loader Execution and Run Key Persistence
id: 7c2f1a44-standoff-loader-0001
status: experimental
description: Detects execution and persistence patterns associated with Operation STANDOFF pay-per-install loaders (SmokeLoader, Amadey) dropping Raccoon/RedLine/Socelars stealers and establishing Run key persistence.
author: Security Arsenal Threat Intel
logsource:
  category: registry_set
  product: windows
detection:
  selection_runkey:
    TargetObject|contains:
      - '\Software\Microsoft\Windows\CurrentVersion\Run'
      - '\Software\Microsoft\Windows\CurrentVersion\RunOnce'
  selection_suspicious_path:
    Details|contains:
      - '\AppData\Local\Temp\'
      - '\AppData\Roaming\'
      - '\ProgramData\'
      - '\Users\Public\'
  filter_legit:
    Details|contains:
      - '\Microsoft\'
      - '\Adobe\'
  condition: selection_runkey and selection_suspicious_path and not filter_legit
falsepositives:
  - Legitimate user-installed software registering startup items from AppData
level: high
date: 2026/08/20
tags:
  - attack.persistence
  - attack.t1060
  - attack.t1547.001
  - malware.raccoon
  - malware.redline
---
title: GitHub Dead-Drop C2 Resolution Followed by Non-GitHub Inbound C2 (STANDOFF / TimeWeb)
id: 7c2f1a44-standoff-c2-0002
status: experimental
description: Detects processes performing HTTP requests to github.com (dead-drop resolver pattern) immediately followed by connections to known STANDOFF infrastructure or suspicious low-reputation domains, consistent with GitHub-redirected C2 resolution.
author: Security Arsenal Threat Intel
logsource:
  category: proxy
detection:
  selection_github:
    c-uri|contains:
      - 'raw.githubusercontent.com'
      - 'github.com'
  selection_c2_domains:
    c-uri|contains:
      - 'listincode.com'
      - 'wfsdragon.ru'
      - 'topniemannpickshop.cc'
      - 'all-mobile-pa1ments.com.mx'
      - 'buy-fantasy-gxmes.com.sg'
  selection_c2_path:
    cs-uri|contains:
      - '/api/setStats.php'
  condition: selection_c2_domains or selection_c2_path
falsepositives:
  - None expected for direct IOC matches; path match may hit unrelated PHP APIs (tune per environment)
level: critical
date: 2026/08/20
tags:
  - attack.command_and_control
  - attack.t1071.001
  - attack.t1102
  - campaign.operation_standoff
---
title: Malicious Browser Extension Exfiltration via Supabase or Cloudflare Workers (Offside Wallet Theft Factory)
id: 7c2f1a44-offside-ext-0003
status: experimental
description: Detects Firefox browser processes posting data to Supabase REST endpoints or Cloudflare Workers domains associated with malicious extension exfiltration, or connecting to known Offside campaign C2 domains.
author: Security Arsenal Threat Intel
logsource:
  category: network_connection
  product: windows
detection:
  selection_browser:
    Image|endswith:
      - '\firefox.exe'
      - '\plugin-container.exe'
  selection_ioc:
    DestinationHostname|contains:
      - 'browser-app.com'
      - 'browsify.net'
      - 'e-wl.com'
      - 'gemachriverdale.org'
  condition: selection_browser and selection_ioc
falsepositives:
  - None expected; these domains are confirmed campaign infrastructure
level: critical
date: 2026/08/20
tags:
  - attack.exfiltration
  - attack.t1041
  - attack.t1176
  - campaign.offside_wallet_theft
KQL — Microsoft Sentinel / Defender
// Security Arsenal — Operation STANDOFF + Offside Wallet Theft Factory Hunt
// Hunts network IOCs, stealer process lineage, and browser extension exfiltration
let StandoffIOCs = dynamic(["listincode.com", "www.listincode.com", "wfsdragon.ru", "topniemannpickshop.cc", "all-mobile-pa1ments.com.mx", "buy-fantasy-gxmes.com.sg"]);
let OffsideIOCs = dynamic(["browser-app.com", "browsify.net", "gemachriverdale.org", "e-wl.com"]);
let AllIOCs = array_concat(StandoffIOCs, OffsideIOCs);
let NetworkHits =
    DeviceNetworkEvents
    | where TimeGenerated > ago(14d)
    | where RemoteUrl has_any (AllIOCs) or RemoteUrl has "/api/setStats.php"
    | project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, ActionType
    | extend HuntType = "NetworkIOC";
let StealerProcess =
    DeviceProcessEvents
    | where TimeGenerated > ago(14d)
    | where FileName has_any ("raccoon", "redline", "amadey", "smokeloader", "socelars", "glupteba", "xmrig")
       or ProcessCommandLine has_any ("raccoon", "redline", "amadey", "smokeloader")
    | project TimeGenerated, DeviceName, FileName, ProcessCommandLine, FolderPath, InitiatingProcessFileName, SHA256
    | extend HuntType = "StealerProcess";
let ExtensionExfil =
    DeviceNetworkEvents
    | where TimeGenerated > ago(14d)
    | where InitiatingProcessFileName in~ ("firefox.exe", "plugin-container.exe")
    | where RemoteUrl has_any ("supabase.co", "workers.dev") and RemoteUrl has_any (OffsideIOCs)
    | project TimeGenerated, DeviceName, InitiatingProcessFileName, RemoteUrl, RemoteIP
    | extend HuntType = "ExtensionExfil";
union NetworkHits, StealerProcess, ExtensionExfil
| sort by TimeGenerated desc
PowerShell
# Security Arsenal — STANDOFF & Offside Endpoint IOC Hunt (run via EDR Live Response or GPO)
# Checks: Run key persistence, suspicious AppData binaries, extension hashes, network IOCs

$ErrorActionPreference = 'SilentlyContinue'
$report = @()

# 1. Run/RunOnce key persistence pointing to user-writable paths
$runKeys = @('HKLM:\Software\Microsoft\Windows\CurrentVersion\Run',
             'HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce',
             'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
             'HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce')
foreach ($key in $runKeys) {
    Get-ItemProperty $key | ForEach-Object {
        $_.PSObject.Properties | Where-Object {
            $_.Value -match 'AppData|ProgramData|Users\\Public|Temp' -and
            $_.Value -notmatch 'Microsoft|Adobe|OneDrive|Teams|Slack'
        } | ForEach-Object {
            $report += [PSCustomObject]@{ Check='RunKeyPersistence'; Location=$key; Name=$_.Name; Value=$_.Value }
        }
    }
}

# 2. Scheduled tasks launching from user-writable directories
Get-ScheduledTask | Where-Object {
    ($_.Actions.Execute -match 'AppData|ProgramData|Users\\Public') -and
    ($_.Actions.Execute -notmatch 'Microsoft|Adobe|Google|OneDrive')
} | ForEach-Object {
    $report += [PSCustomObject]@{ Check='ScheduledTask'; Location=$_.TaskPath; Name=$_.TaskName; Value=$_.Actions.Execute }
}

# 3. Offside extension payload hash sweep across user profiles
$badHashes = @('08b7b064fa9a41b06774315d944ffddff705ab727222a0c3bcac64a77553bf2f',
               '4d0912d575087dab5f468214a2fd259bc386472a8b2b93b6e2441cde4bd941cb',
               '26427220b9965e22deca0e617657c2c65b78f750183355d1265c147818367bd7',
               '252119fc48ad93b0c930d7a62fb49420cf8986716539e4e9d4d5c1bad700d435')
Get-ChildItem 'C:\Users\*\AppData\Roaming\Mozilla\Firefox\Profiles' -Recurse -Include *.xpi,*.js -File |
    ForEach-Object {
        $h = (Get-FileHash $_.FullName -Algorithm SHA256).Hash.ToLower()
        if ($badHashes -contains $h) {
            $report += [PSCustomObject]@{ Check='MaliciousExtensionHash'; Location=$_.FullName; Name=$_.Name; Value=$h }
        }
    }

# 4. Active/historical network connections to campaign IOCs
$iocDomains = @('listincode.com','wfsdragon.ru','topniemannpickshop.cc','browser-app.com','browsify.net','e-wl.com')
Get-NetTCPConnection | Where-Object { $_.State -eq 'Established' } | ForEach-Object {
    $proc = Get-Process -Id $_.OwningProcess
    $report += [PSCustomObject]@{ Check='ActiveConnection'; Location=$_.RemoteAddress; Name=$proc.ProcessName; Value=$_.RemotePort }
}
$dnsCache = Get-DnsClientCache | Where-Object { $d = $_.Entry; $iocDomains | Where-Object { $d -match $_ } }
$dnsCache | ForEach-Object {
    $report += [PSCustomObject]@{ Check='DNSCacheHit'; Location='DnsClientCache'; Name=$_.Entry; Value=$_.Data }
}

$report | Format-Table -AutoSize
if ($report) { $report | Export-Csv "$env:TEMP\arsenal_ioc_hunt_$(Get-Date -Format yyyyMMdd_HHmm).csv" -NoTypeInformation }

Response Priorities

Immediate (0–4 hours)

  • Push all 214 OTX indicators to DNS sinkhole, secure web gateway, and EDR block lists — prioritize the STANDOFF C2 domains and the four confirmed Offside extension C2s.
  • Deploy the Sigma rules and run the Sentinel KQL hunt across a 14-day lookback; execute the PowerShell hunt on any host showing loader or extension hits.
  • Search proxy/Zeek logs for the URI pattern /api/setStats.php and for github.com requests immediately followed by connections to low-reputation infrastructure (dead-drop pattern).
  • Audit enterprise browser extension inventories; remove any extension matching the Offside factory list and quarantine affected endpoints.

24 Hours

  • Treat any host with a stealer process hit as fully credential-compromised: force password resets for all users who authenticated from that host, revoke active sessions and OAuth tokens, and rotate any credentials stored in browsers on the device.
  • If crypto wallet extensions were present, assume seed phrase compromise — migrate wallets to new keys immediately; do not attempt to "secure" the old wallet.
  • Verify AD integrity on STANDOFF-affected hosts: review privileged group membership changes, new service accounts, and Print Spooler (CVE-2021-34527) patch status across domain controllers and print servers.
  • Check for proxy-botnet enrollment: unexpected outbound listening ports, unknown tunneling processes, and abnormal egress bandwidth patterns.

1 Week

  • Architecture hardening against the observed vectors: restrict browser extension installation via enterprise policy (allowlist-only for Firefox/Chrome); block or alert on egress to workers.dev and unsanctioned Supabase projects from endpoints; implement DNS filtering on high-risk TLDs (.cc, .ru) for general users.
  • Enforce FIDO2/phishing-resistant MFA to blunt the value of stolen credentials and session tokens.
  • Disable or constrain Print Spooler where not required; validate CVE-2021-34527 remediation fleet-wide.
  • Establish continuous OTX pulse ingestion into your TIP with automated IOC aging and enrichment so the next loader rotation is caught at the dead-drop stage, not the exfiltration stage.

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.