Four concurrent OTX pulses paint a single picture: credential and secret theft is industrializing across every delivery channel — fake CAPTCHAs, phishing-as-a-service panels, poisoned browser extensions, and now ransomware purpose-built to destroy AI infrastructure. This briefing synthesizes live pulse data into detection engineering for enterprise SOC teams.
Threat Summary
The four pulses in this collection are technically distinct but strategically convergent: every campaign's endgame is credential, session, or secret material theft — the raw currency of dark web marketplaces.
1. ClickFix Evolution (DeerStealer / Vidar) — The most operationally significant pulse. The ClickFix social-engineering technique (fake CAPTCHA pages instructing victims to paste malicious commands into the Windows Run dialog) has matured from cleartext PowerShell droppers into server-side polymorphic, fileless execution chains using XOR encryption and Base64 compression. Nearly 4,500 indicators — mostly compromised legitimate websites hosting the lure pages — indicate mass-scale infrastructure rotation. Payloads are DeerStealer and Vidar infostealers, which harvest browser credentials, cookies, crypto wallets, and session tokens for resale.
2. JADEPUFFER / ENCFORGE — An advanced actor exploiting CVE-2025-3248 (Langflow RCE) to breach AI/ML infrastructure, then autonomously chaining reconnaissance, credential harvesting, and lateral movement before deploying ENCFORGE — a Go-compiled ransomware targeting ~180 file extensions specific to machine learning models, training data, and checkpoints. Stolen credentials precede encryption, enabling double extortion.
3. Balonx Sistema PhaaS — A Mexico-based Phishing-as-a-Service operation targeting 20+ financial institutions with tiered criminal subscriptions. It defeats MFA via real-time WebSocket session hijacking and distributes the Spyroid Android RAT through fake banking security alerts. 1,100+ credential sets harvested since October 2025, monetized via cryptocurrency — feeding directly into dark web banking-fraud ecosystems.
4. Offside Wallet Theft Factory — 77 Firefox extensions (40 confirmed malicious) stealing cryptocurrency recovery phrases, private keys, and credentials, exfiltrating through Supabase remote-config switches, Cloudflare Workers, and hardcoded C2 — abusing legitimate SaaS infrastructure to blend with normal traffic.
Collective objective: bulk credential/session/wallet harvesting for resale and direct fraud, with one actor (JADEPUFFER) escalating to destructive extortion against high-value AI assets.
Threat Actor / Malware Profile
ClickFix → DeerStealer / Vidar
- Distribution: Fake CAPTCHA/verification pages on compromised legitimate domains (see IOC list:
www.fidestrento.com,game-corp.net, etc.). Victim is socially engineered to press Win+R and paste a clipboard-injected command. - Payload behavior: Initial cleartext PowerShell downloaded batch scripts dropping DeerStealer. Current variants are fileless: XOR-encrypted or Base64-compressed payloads decoded and executed entirely in memory via
powershell.exe,mshta.exe, orwscript.exechild processes. - C2: Infostealer traffic over HTTPS to rotating infrastructure; server-side polymorphism means each page load serves a uniquely obfuscated payload, defeating hash and static-signature detection.
- Persistence: Registry Run keys and scheduled tasks established post-theft for loader callbacks.
- Anti-analysis: Server-side polymorphism, XOR/Base64 layering, in-memory execution only — no disk artifacts for AV to scan.
JADEPUFFER / ENCFORGE
- Distribution: Exploitation of CVE-2025-3248 in internet-facing Langflow instances.
- Payload behavior: Agentic/autonomous post-exploitation: recon → credential harvesting (LSASS, config files, cloud metadata) → lateral movement → container escape → ENCFORGE deployment. Go binary encrypting ~180 ML-specific extensions (model weights, checkpoints, training datasets).
- C2: Go-based beacons; three SHA256 hashes published for the compiled binary variants.
- Persistence: Container escape to host-level persistence; cron/systemd on Linux AI workloads.
- Anti-analysis: Compiled Go (large binaries, stripped symbols), autonomous operation reducing observable operator C2 sessions.
Balonx Sistema / Spyroid
- Distribution: Fake bank security alerts (SMS/vishing — "AI vishing" noted in tags) pushing Spyroid Android RAT APKs; panel infrastructure at
panelbalonxfs.xyzwith exposed GraphQL/REST admin APIs. - Payload behavior: Android RAT capturing credentials and intercepting OTPs; WebSocket session hijacking defeats MFA in real time by relaying authenticated sessions to the operator panel.
- C2:
196.251.84.11,balonx.online,callbalonx.info,soporte-aclaracion.xyz; cryptocurrency payment rails for subscriptions. - Persistence: Android Accessibility Service abuse — survives reboots and resists uninstall.
Offside Wallet Theft Factory
- Distribution: 77 Firefox add-ons impersonating Web3 wallets/tools.
- Payload behavior: Hooks wallet interfaces to harvest recovery phrases, private keys, and credentials; remote kill/enable switches via Supabase let operators stay dormant during review periods.
- C2: Supabase instances, Cloudflare Workers proxies, hardcoded fallback C2 domains (
browser-app.com,browsify.net,e-wl.com). - Anti-analysis: Legitimate cloud service abuse makes network detection without TLS inspection/context difficult; dormant-by-default behavior evades sandbox detonation.
IOC Analysis
Indicator composition across pulses:
| Type | Volume | Primary Pulse | Operationalization |
|---|---|---|---|
| Domains/hostnames | ~4,490+ | ClickFix | Block at DNS/proxy; most are compromised legitimate sites — prefer URL-path blocking or category alerting over blunt domain blocks where business impact exists |
| SHA256 hashes | ~166 | Firefox extensions, ENCFORGE | Load into EDR blocklists; hash-pivot in VirusTotal/MISP for variant discovery |
| IPv4 | 1+ | Balonx | Block at egress firewall; retro-hunt NetFlow/proxy logs for 30–90 days |
| URLs | 3+ | Balonx | The /admin/api/api/{gql,rest,token} paths are panel fingerprints — alerting on these URI patterns finds other PhaaS panels, not just this one |
| CVE | 1 | JADEPUFFER | CVE-2025-3248 — immediate attack-surface scan for Langflow exposure |
Tooling: Ingest pulses via the OTX DirectConnect API or TAXII into your SIEM/TIP (MISP, OpenCTI, Anomali). Decode ClickFix payloads with CyberChef (XOR/Base64 recipes) and any.run/joesandbox for detonation. Pivot domains through passive DNS (RiskIQ/Validin) to map infrastructure rotation.
Detection Engineering
Sigma Rules
---
title: ClickFix Fake CAPTCHA Fileless PowerShell Execution
id: 8f3a2c1e-9d4b-4e5a-a7c6-2f1d8e9b3a44
status: experimental
description: Detects ClickFix social-engineering execution pattern — encoded/compressed PowerShell spawned from Run dialog (explorer) or browser, consistent with DeerStealer/Vidar fileless delivery via XOR or Base64 obfuscation.
author: Security Arsenal Threat Intel
date: 2026/08/20
references:
- https://www.menlosecurity.com/blog/the-evolution-of-clickfix-from-cleartext-to-server-side-polymorphism
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\explorer.exe'
- '\msedge.exe'
- '\chrome.exe'
- '\firefox.exe'
selection_img:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
- '\mshta.exe'
selection_flags:
CommandLine|contains:
- ' -enc '
- ' -e '
- 'FromBase64String'
- 'IEX'
- 'Invoke-Expression'
- '-bxor'
- 'Decompress'
- 'DeflateStream'
- 'GzipStream'
condition: selection_parent and selection_img and selection_flags
falsepositives:
- Rare legitimate admin scripts; parent process (browser/explorer) is the strongest discriminator
level: high
tags:
- attack.execution
- attack.t1059.001
- attack.t1204.002
- attack.t1027
---
title: PhaaS Panel Infrastructure Communication - Balonx Sistema
id: 4b7d9e2f-1a3c-4d5b-8e6f-7c2a9d1e5b66
status: experimental
description: Detects network or DNS communication with Balonx Sistema PhaaS panel infrastructure and associated Spyroid Android RAT C2 domains targeting Mexican banking customers.
author: Security Arsenal Threat Intel
date: 2026/08/20
references:
- https://www.group-ib.com/blog/balonx-sistema-mexico-phaas
logsource:
category: dns
product: windows
detection:
selection_domains:
query|contains:
- 'soporte-aclaracion.xyz'
- 'balonx.online'
- 'callbalonx.info'
- 'panelbalonxfs.xyz'
- 'browser-app.com'
- 'browsify.net'
- 'e-wl.com'
condition: selection_domains
falsepositives:
- Threat research and sandbox detonation
level: critical
tags:
- attack.command_and_control
- attack.t1071.001
- attack.t1566
---
title: Langflow CVE-2025-3248 Exploitation Post-Activity - JADEPUFFER
id: 2e5c8a1d-6f4b-4a7c-9d3e-1b8f4c6a2d77
status: experimental
description: Detects suspicious child processes and credential access on AI/ML infrastructure following Langflow CVE-2025-3248 exploitation, consistent with JADEPUFFER autonomous reconnaissance, credential harvesting, and ENCFORGE ransomware staging.
author: Security Arsenal Threat Intel
date: 2026/08/20
references:
- https://www.sysdig.com/blog/jadepuffer-evolves-the-agentic-threat-actor-deploys-ransomware-built-to-destroy-ai-models
logsource:
category: process_creation
product: linux
detection:
selection_parent:
ParentImage|endswith:
- '/python'
- '/python3'
- '/uvicorn'
- '/gunicorn'
selection_children:
Image|endswith:
- '/bash'
- '/sh'
- '/curl'
- '/wget'
- '/nc'
- '/nmap'
- '/cat'
selection_paths:
CommandLine|contains:
- '/etc/shadow'
- '/etc/passwd'
- 'id_rsa'
- '.aws/credentials'
- 'metadata.google.internal'
- '169.254.169.254'
condition: selection_parent and selection_children and selection_paths
falsepositives:
- Legitimate ML pipeline scripts; baseline per-host and alert on deviation
level: high
tags:
- attack.exploitation_of_public_facing_application
- attack.t1190
- attack.credential_access
- attack.t1552
Microsoft Sentinel KQL
// Hunt: ClickFix execution, PhaaS C2, ENCFORGE hashes, and wallet-extension C2
let phaas_domains = dynamic(["soporte-aclaracion.xyz", "balonx.online", "callbalonx.info", "panelbalonxfs.xyz"]);
let ext_c2 = dynamic(["browser-app.com", "browsify.net", "e-wl.com"]);
let clickfix_lures = dynamic(["fidestrento.com", "game-corp.net", "pickleballmastery.com", "itechhardware.com", "shadesking.com", "mlm-dra.com", "aqarco.com"]);
let encforge_hashes = dynamic(["8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2", "ab9824b61587c77a8d8649545cdbdc63ed2c384e45c9aba534e3f457f96efa7a", "ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328"]);
union isfuzzy=true
(DeviceNetworkEvents
| where TimeGenerated > ago(14d)
| where RemoteUrl has_any (phaas_domains, ext_c2, clickfix_lures)
or RemoteIP == "196.251.84.11"
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, RemotePort
| extend Detection = "Network IOC"),
(DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where (InitiatingProcessFileName in~ ("explorer.exe", "msedge.exe", "chrome.exe", "firefox.exe")
and FileName in~ ("powershell.exe", "pwsh.exe", "mshta.exe")
and ProcessCommandLine has_any ("FromBase64String", "-enc", "-bxor", "GzipStream", "DeflateStream", "IEX"))
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName
| extend Detection = "ClickFix Fileless Execution"),
(DeviceFileEvents
| where TimeGenerated > ago(14d)
| where SHA256 has_any (encforge_hashes)
| project TimeGenerated, DeviceName, FileName, FolderPath, SHA256, InitiatingProcessFileName
| extend Detection = "ENCFORGE Ransomware Binary"),
(DeviceEvents
| where TimeGenerated > ago(14d)
| where ActionType == "BrowserLaunchedToOpenUrl" and RemoteUrl has_any (clickfix_lures)
| project TimeGenerated, DeviceName, RemoteUrl, InitiatingProcessFileName
| extend Detection = "ClickFix Lure Page Visit")
| sort by TimeGenerated desc
PowerShell IOC Hunt Script
<#
.SYNOPSIS
Security Arsenal — OTX Pulse Hunt: ClickFix, Balonx PhaaS, Offside Extensions, ENCFORGE
.DESCRIPTION
Checks endpoints for execution artifacts, persistence, browser extension presence,
and network IOCs from the 2026-08-20 OTX pulse set.
#>
$ErrorActionPreference = 'SilentlyContinue'
$findings = @()
# --- 1. ClickFix: suspicious RunMRU entries (Win+R pasted commands) ---
$runMRU = Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU'
foreach ($prop in $runMRU.PSObject.Properties) {
if ($prop.Value -match 'powershell|mshta|FromBase64String|IEX|certutil|bitsadmin') {
$findings += [PSCustomObject]@{Check='ClickFix RunMRU'; Artifact="$($prop.Name) = $($prop.Value)"; Severity='HIGH'}
}
}
# --- 2. Persistence: Run keys with encoded/obfuscated commands ---
$runKeys = @('HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run')
foreach ($key in $runKeys) {
$vals = Get-ItemProperty $key
foreach ($p in $vals.PSObject.Properties) {
if ($p.Value -match 'FromBase64String|-enc|-bxor|GzipStream|AppData.*\.ps1') {
$findings += [PSCustomObject]@{Check='Infostealer Persistence'; Artifact="$key -> $($p.Name) = $($p.Value)"; Severity='CRITICAL'}
}
}
}
# --- 3. Scheduled tasks spawned near browser/PowerShell execution windows ---
Get-ScheduledTask | Where-Object {
$_.Actions.Execute -match 'powershell|mshta|wscript' -and
$_.Actions.Arguments -match '-enc|FromBase64String|http'
} | ForEach-Object {
$findings += [PSCustomObject]@{Check='Malicious Scheduled Task'; Artifact="$($_.TaskName): $($_.Actions.Execute) $($_.Actions.Arguments)"; Severity='HIGH'}
}
# --- 4. ENCFORGE ransomware hashes on disk ---
$encforge = @('8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2',
'ab9824b61587c77a8d8649545cdbdc63ed2c384e45c9aba534e3f457f96efa7a',
'ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328')
$searchPaths = @("$env:TEMP", "$env:APPDATA", "$env:LOCALAPPDATA", 'C:\ProgramData')
foreach ($path in $searchPaths) {
Get-ChildItem $path -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
$h = (Get-FileHash $_.FullName -Algorithm SHA256).Hash.ToLower()
if ($encforge -contains $h) {
$findings += [PSCustomObject]@{Check='ENCFORGE Binary'; Artifact=$_.FullName; Severity='CRITICAL'}
}
}
}
# --- 5. Live network connections to PhaaS / extension C2 ---
$badIPs = @('196.251.84.11')
Get-NetTCPConnection -State Established | Where-Object { $badIPs -contains $_.RemoteAddress } | ForEach-Object {
$proc = (Get-Process -Id $_.OwningProcess).ProcessName
$findings += [PSCustomObject]@{Check='Active C2 Connection'; Artifact="$($_.RemoteAddress):$($_.RemotePort) via $proc"; Severity='CRITICAL'}
}
# --- 6. DNS cache hits for pulse domains ---
$badDomains = @('balonx.online','callbalonx.info','panelbalonxfs.xyz','soporte-aclaracion.xyz',
'browser-app.com','browsify.net','e-wl.com','fidestrento.com','game-corp.net')
Get-DnsClientCache | Where-Object { $d = $_.Entry; $badDomains | Where-Object { $d -like "*$_*" } } | ForEach-Object {
$findings += [PSCustomObject]@{Check='DNS Cache IOC'; Artifact="$($_.Entry) -> $($_.Data)"; Severity='HIGH'}
}
# --- 7. Firefox extensions inventory (Offside Wallet Theft Factory) ---
$ffProfiles = "$env:APPDATA\Mozilla\Firefox\Profiles"
if (Test-Path $ffProfiles) {
Get-ChildItem $ffProfiles -Directory | ForEach-Object {
$extJson = Join-Path $_.FullName 'extensions.json'
if (Test-Path $extJson) {
$exts = (Get-Content $extJson -Raw | ConvertFrom-Json).addons
foreach ($e in $exts) {
if ($e.defaultLocale.name -match 'wallet|web3|crypto|metamask|phantom|ledger') {
$findings += [PSCustomObject]@{Check='Suspicious Firefox Extension'; Artifact="$($e.defaultLocale.name) ($($e.id))"; Severity='MEDIUM'}
}
}
}
}
}
# --- Output ---
if ($findings.Count -gt 0) {
$findings | Sort-Object Severity | Format-Table -AutoSize
$findings | Export-Csv "$env:TEMP\otx_hunt_$(Get-Date -Format 'yyyyMMdd_HHmm').csv" -NoTypeInformation
Write-Host "`n[!] $($findings.Count) findings exported to $env:TEMP" -ForegroundColor Red
} else {
Write-Host '[+] No IOC artifacts found on this host.' -ForegroundColor Green
}
Response Priorities
Immediate (0–4 hours)
- Block all pulse domains, the Balonx IPv4 (
196.251.84.11), and ENCFORGE/extension SHA256 hashes at DNS, proxy, and EDR layers. Ingest the full 4,498-indicator ClickFix set via OTX DirectConnect. - Hunt with the KQL and PowerShell artifacts above; prioritize the RunMRU check — ClickFix's paste-to-Run-dialog technique leaves a forensic fingerprint most teams never examine.
- Scan attack surface for internet-exposed Langflow instances (CVE-2025-3248) and patch or isolate immediately.
- Audit Firefox extensions across the fleet; consider an allowlist-only extension policy pending review.
24 Hours
- Force credential resets for any user whose endpoint shows ClickFix execution, PhaaS DNS hits, or a flagged extension — assume browser credential stores, session cookies, and crypto wallets are compromised. DeerStealer/Vidar exfiltrate within seconds of execution.
- Revoke active sessions/tokens (Entra ID, Okta, Google Workspace) for affected identities; WebSocket session hijacking (Balonx) means MFA alone did not protect sessions — invalidate refresh tokens.
- Rotate secrets on AI/ML infrastructure: cloud keys, model registry credentials, SSH keys,
.aws/credentials— JADEPUFFER harvests before it encrypts. - Notify fraud teams if any Mexican banking customers/operations are in scope; monitor for unauthorized transactions tied to Spyroid-compromised accounts.
1 Week
- Harden against ClickFix class attacks: disable or restrict the Run dialog via GPO for standard users; enforce PowerShell Constrained Language Mode and script-block logging; deploy browser isolation for uncategorized domains.
- Extension governance: implement managed browser policies allowing only vetted add-ons; treat browser extensions as software supply-chain risk requiring the same vetting as installed applications.
- AI infrastructure segmentation: isolate Langflow/ML pipelines from production identity stores; enforce egress filtering on GPU/model-training subnets; deploy container-escape detection (eBPF-based runtime security).
- MFA uplift: move phishing-resistant authentication (FIDO2/passkeys) for financial and administrative access — WebSocket session-relay PhaaS defeats OTP and push-based MFA.
- Dark web monitoring: watch for your organization's credentials and session tokens appearing in stealer-log marketplaces; this pulse set guarantees fresh supply is flowing into those channels now.
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.