Back to Intelligence

Lazarus FaceStealer $400M Crypto Heist + ESXi Hypervisor Ransomware + ClickFix NetSupport RAT: OTX Pulse Intelligence & Enterprise Detection Pack

SA
Security Arsenal Team
November 13, 2026
11 min read

Three pulses published to AlienVault OTX on 2026-11-13 converge on a single uncomfortable reality for enterprise defenders: the highest-impact intrusions right now are not driven by novel zero-days — they are driven by abused trust, abused legitimate tooling, and abused management planes.

Pulse 1 — FaceStealer (Lazarus Group / BlueNoroff / APT38): North Korean state-sponsored operators have stolen over $400 million in cryptocurrency over 18 months through a social engineering operation tracked as FaceStealer. The campaign hijacks legitimate accounts on Telegram, LinkedIn, Slack, and Discord, then lures technology and finance sector targets into fake Zoom or Teams meetings. The calls display stolen webcam footage from 900+ prior victims to manufacture authenticity before the payload stage. The referenced fake conferencing infrastructure (e.g., uu01webzoom.us) impersonates Zoom web clients.

Pulse 2 — ESXi ransomware (BlackNevas): A ten-day intrusion systematically destroyed an organization's entire virtualization estate — four ESXi hosts, all virtual machines, both vCenter Server Appliances, and the backup infrastructure. Critically, the actors exploited legitimate VMware management interfaces rather than vulnerabilities, reinforcing that hypervisor-layer defense is an identity and access problem, not just a patching problem. The pulse contextualizes this against the broader ESXi ransomware ecosystem: Babuk-derived builders, LockBit, Hive, RansomHub, Trigona, AvosLocker, RedAlert, GwisinLocker, and tooling such as MeshAgent and Ligolo-ng for persistence and tunneling.

Pulse 3 — ClickFix → NetSupport RAT: Fraudulent Zillow apartment-review pages target Windows users with fake verification checks that silently copy PowerShell commands to the victim's clipboard. Victims are coached to press Win+R, Ctrl+V, Enter — self-executing a staged PowerShell payload fetched from decimal-encoded IP addresses, culminating in NetSupport RAT deployment. This is crimeware-grade initial access with APT-grade social engineering polish.

Collectively: the kill chain is converging on user-executed payloads (ClickFix), trusted-platform impersonation (FaceStealer), and control-plane compromise (ESXi/vCenter). Detection must shift from artifact-matching to behavior correlation across identity, endpoint, and virtualization layers.

Threat Actor / Malware Profile

Lazarus Group — FaceStealer Operation

  • Distribution: Compromised legitimate accounts on Telegram, LinkedIn, Slack, Discord; invitations to fake Zoom/Teams meetings hosted on lookalike domains (uu01webzoom.us).
  • Payload behavior: Fake video-conference pages replay stolen webcam clips of prior victims to build trust, then drive the target toward a malicious download or credential/wallet-harvesting step aligned with BlueNoroff's cryptocurrency theft mandate.
  • Targeting: Technology and finance sectors; cryptocurrency holders, exchange employees, and Web3 developers.
  • Attribution: Lazarus Group umbrella; BlueNoroff/APT38 financial subsystem. Tags reference open-source targeting, indicating developer-focused lure packages in parallel operations.

BlackNevas — ESXi Destruction Campaign

  • Initial access: Compromised credentials against legitimate VMware management interfaces (vCenter/ESXi host clients) — no vulnerability exploitation observed in the referenced incident.
  • Payload behavior: Ten-day dwell time; methodical destruction of 4 ESXi hosts, all guest VMs, both vCenter Server Appliances, and backup infrastructure before/without extortion leverage — destructive intent or anti-forensics.
  • Ecosystem context: The pulse's malware family list maps the known ESXi ransomware toolkit: Babuk-derived Linux/ESXi encryptors (the leaked Babuk builder spawned numerous forks), LockBit's ESXi variant, Hive/RedAlert (Rust-based), Trigona, RansomHub, AvosLocker, GwisinLocker.
  • Tooling: MeshAgent (legitimate RMM repurposed for persistence) and Ligolo-ng (reverse tunneling/pivoting into the management network).
  • Relevant CVEs (for exposure assessment, not this intrusion): CVE-2021-21972, CVE-2021-21974, CVE-2021-21985, CVE-2021-22005, CVE-2023-34048, CVE-2024-37085, CVE-2024-40711.

NetSupport RAT via ClickFix

  • Distribution: Fake Zillow apartment-review pages (apartments-review8509831.sbs, verify.apartments-review.sbs) serving bogus human-verification prompts.
  • Payload behavior: JavaScript copies a PowerShell one-liner to the clipboard; user pastes into the Run dialog (Win+R → Ctrl+V → Enter). The command retrieves second-stage scripts from decimal-encoded IPv4 addresses (an integer-IP encoding trick that evades naive URL/domain filtering), then installs NetSupport RAT.
  • C2: NetSupport RAT is a legitimate commercial RMM tool abused as a full-featured backdoor — file transfer, screen capture, remote shell, and proxying — typically over TCP 5405 or attacker-configured ports.
  • Supporting infrastructure: asgomd.com, asgrsv.com, IPv4 89.34.90.203.

IOC Analysis

The pulse set contains three indicator classes, each requiring a different operationalization path:

Domains / Hostnames — uu01webzoom.us, apartments-review8509831.sbs, verify.apartments-review.sbs, asgomd.com, asgrsv.com. Feed to DNS sinkhole/proxy blocklists immediately. Note the pattern: .sbs TLD with numeric suffixes and brand impersonation (webzoom, zillow-adjacent apartments-review). Detections should hunt for the pattern (conferencing-brand lookalikes, review-page lure domains) not just the exact strings — these burn fast.

IPv4 addresses — 89.34.90.203 (ClickFix staging), 188.240.57.94 (GB, AS25369 Hydra Communications), 91.92.242.121 (BG). Block at egress; hunt retroactively across 30+ days of proxy/firewall/EDR network telemetry. Critically for ClickFix: hunt for decimal-encoded IP literals in command lines — PowerShell reaching for an integer-format address is nearly always hostile.

CVEs — These are exposure indicators, not blockables. Prioritize the vCenter/ESXi set (CVE-2021-21972, -22005, CVE-2023-34048, CVE-2024-37085) for patch validation, while acknowledging the BlackNevas case proves credential compromise bypasses all of them — vCenter/ESXi MFA, management-network segmentation, and JIT access are the real controls.

Detection Engineering

YAML
---
title: ClickFix Clipboard PowerShell Execution with Decimal-Encoded IP
id: 9f1a2b3c-4d5e-6f70-8a9b-0c1d2e3f4a01
status: production
description: Detects PowerShell spawned from Run dialog / explorer context reaching decimal-encoded (integer-format) IP addresses, consistent with ClickFix NetSupport RAT delivery via fake verification pages.
author: Security Arsenal Threat Intelligence
references:
  - https://www.helpnetsecurity.com/2026/11/13/fake-zillow-clickfix-netsupport-rat/
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\explorer.exe'
      - '\svchost.exe'  # Run dialog launches via svchost in some paths
  selection_img:
    Image|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
  selection_cmd:
    CommandLine|re: '(invoke-webrequest|iwr|curl|invoke-restmethod|irm|downloadstring).*([0-9]{8,10})(/|\s|$)'
  condition: selection_img and selection_cmd
falsepositives:
  - Rare; legitimate tooling virtually never uses decimal-encoded IP literals
level: high
tags:
  - attack.execution
  - attack.t1059.001
  - attack.t1204.002
---
title: NetSupport RAT Installation and Execution Artifacts
id: 9f1a2b3c-4d5e-6f70-8a9b-0c1d2e3f4a02
status: production
description: Detects NetSupport RAT client (client32.exe) execution from non-standard paths or with suspicious parentage, indicative of trojanized deployment rather than managed RMM rollout.
author: Security Arsenal Threat Intelligence
logsource:
  category: process_creation
  product: windows
detection:
  selection_binary:
    Image|endswith: '\client32.exe'
  filter_approved_paths:
    Image|startswith:
      - 'C:\Program Files\NetSupport\'
      - 'C:\Program Files (x86)\NetSupport\'
  condition: selection_binary and not filter_approved_paths
falsepositives:
  - MSP environments deploying NetSupport from custom paths; baseline approved RMM deployment locations
level: high
tags:
  - attack.command_and_control
  - attack.t1219
---
title: vCenter or ESXi Management Interface Anomalous Session Activity
id: 9f1a2b3c-4d5e-6f70-8a9b-0c1d2e3f4a03
status: production
description: Detects suspicious child processes or tool execution on vCenter Server Appliance / ESXi hosts, including MeshAgent and Ligolo-ng artifacts observed in ESXi ransomware intrusions such as BlackNevas.
author: Security Arsenal Threat Intelligence
references:
  - https://securelist.com/esxi-ransomware/121959/
logsource:
  category: process_creation
  product: linux
detection:
  selection_tooling:
    Image|endswith:
      - '/meshagent'
      - '/ligolo-ng'
      - '/ligolo'
      - '/chisel'
  selection_suspicious_shell:
    Image|endswith:
      - '/bash'
      - '/sh'
      - '/python'
      - '/python3'
    ParentImage|contains:
      - 'hostd'
      - 'vpxd'
      - 'vmware'
  condition: 1 of selection_*
falsepositives:
  - VMware admin maintenance shells; correlate against change windows and bastion-source IPs
level: critical
tags:
  - attack.command_and_control
  - attack.t1071.001
  - attack.t1572
  - attack.impact
  - attack.t1490
KQL — Microsoft Sentinel / Defender
// Hunt: ClickFix staging, NetSupport RAT, FaceStealer lures, ESXi tooling - Security Arsenal OTX 2026-11-13
let Lookback = 30d;
let BadDomains = dynamic(["uu01webzoom.us", "apartments-review8509831.sbs", "verify.apartments-review.sbs", "asgomd.com", "asgrsv.com"]);
let BadIPs = dynamic(["89.34.90.203", "188.240.57.94", "91.92.242.121"]);
// 1. Direct IOC network hits
let IocHits = DeviceNetworkEvents
| where TimeGenerated > ago(Lookback)
| where RemoteUrl in~ (BadDomains) or RemoteIP in~ (BadIPs)
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemoteUrl, RemotePort
| extend HuntType = "Direct IOC";
// 2. Decimal-encoded IP in PowerShell command lines (ClickFix behavior)
let DecimalIp = DeviceProcessEvents
| where TimeGenerated > ago(Lookback)
| where FileName in~ ("powershell.exe", "pwsh.exe")
| where ProcessCommandLine matches regex @"(?i)(iwr|irm|invoke-webrequest|invoke-restmethod|downloadstring|curl)[^\r\n]*\b[0-9]{8,10}\b"
| project TimeGenerated, DeviceName, AccountName, ProcessCommandLine, InitiatingProcessFileName
| extend HuntType = "ClickFix Decimal-IP PowerShell";
// 3. NetSupport RAT unsanctioned execution
let NetSupport = DeviceProcessEvents
| where TimeGenerated > ago(Lookback)
| where FileName =~ "client32.exe"
| where FolderPath !startswith "C:\\Program Files\\NetSupport" and FolderPath !startswith "C:\\Program Files (x86)\\NetSupport"
| project TimeGenerated, DeviceName, AccountName, FolderPath, ProcessCommandLine, InitiatingProcessFileName
| extend HuntType = "NetSupport RAT Non-Standard Path";
// 4. Run-dialog-launched scripting (Win+R -> Ctrl+V -> Enter pattern)
let RunDialog = DeviceProcessEvents
| where TimeGenerated > ago(Lookback)
| where InitiatingProcessFileName =~ "explorer.exe"
| where FileName in~ ("powershell.exe", "pwsh.exe", "mshta.exe", "wscript.exe", "cscript.exe")
| where ProcessCommandLine has_any ("http", "iwr", "downloadstring", "encodedcommand", "-enc ")
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine
| extend HuntType = "Run Dialog Script Launcher";
// 5. ESXi/pivot tooling on endpoints
let PivotTools = DeviceProcessEvents
| where TimeGenerated > ago(Lookback)
| where FileName has_any ("meshagent", "ligolo", "chisel") or ProcessCommandLine has_any ("ligolo", "meshagent")
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine
| extend HuntType = "ESXi Intrusion Tooling";
union IocHits, DecimalIp, NetSupport, RunDialog, PivotTools
| order by TimeGenerated desc
PowerShell
# Security Arsenal - OTX 2026-11-13 IOC Hunt Script
# Hunts: NetSupport RAT artifacts, ClickFix remnants, FaceStealer lure references, ESXi tooling
# Run elevated on Windows endpoints; review output before taking action.

$Report = @()
$BadDomains = @('uu01webzoom.us','apartments-review8509831.sbs','verify.apartments-review.sbs','asgomd.com','asgrsv.com')
$BadIPs     = @('89.34.90.203','188.240.57.94','91.92.242.121')

Write-Host "[*] 1/6 Checking for NetSupport RAT installations (non-standard paths)..." -ForegroundColor Cyan
$paths = @("$env:ProgramFiles","${env:ProgramFiles(x86)}",$env:ProgramData,$env:LOCALAPPDATA,$env:APPDATA)
foreach ($p in $paths) {
    Get-ChildItem -Path $p -Recurse -Filter 'client32.exe' -ErrorAction SilentlyContinue | ForEach-Object {
        $Report += [pscustomobject]@{Check='NetSupport Binary'; Finding=$_.FullName; Detail="Size: $($_.Length) bytes"}
    }
}
Get-ChildItem 'HKLM:\SOFTWARE','HKCU:\SOFTWARE' -Recurse -ErrorAction SilentlyContinue |
    Where-Object { $_.Name -match 'NetSupport' } | ForEach-Object {
        $Report += [pscustomobject]@{Check='NetSupport Registry'; Finding=$_.Name; Detail=''}
    }

Write-Host "[*] 2/6 Checking active and recent network connections to malicious IPs..." -ForegroundColor Cyan
Get-NetTCPConnection -ErrorAction SilentlyContinue | Where-Object { $BadIPs -contains $_.RemoteAddress } | ForEach-Object {
    $proc = (Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).ProcessName
    $Report += [pscustomobject]@{Check='Malicious Connection'; Finding="$($_.LocalAddress):$($_.LocalPort) -> $($_.RemoteAddress):$($_.RemotePort)"; Detail="State=$($_.State) Process=$proc (PID $($_.OwningProcess))"}
}

Write-Host "[*] 3/6 Checking DNS cache for malicious domains..." -ForegroundColor Cyan
Get-DnsClientCache -ErrorAction SilentlyContinue | Where-Object { $n=$_.Name; ($BadDomains | Where-Object { $n -like "*$_*" }) } | ForEach-Object {
    $Report += [pscustomobject]@{Check='DNS Cache Hit'; Finding=$_.Name; Detail=$_.Data}
}

Write-Host "[*] 4/6 Checking RunMRU for ClickFix paste-execution artifacts..." -ForegroundColor Cyan
$mru = Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU' -ErrorAction SilentlyContinue
if ($mru) {
    $mru.PSObject.Properties | Where-Object { $_.Value -match 'powershell|iwr|invoke|downloadstring|\d{8,10}' } | ForEach-Object {
        $Report += [pscustomobject]@{Check='RunMRU Suspicious'; Finding=$_.Name; Detail=($_.Value -replace '\x00.*$','')}
    }
}

Write-Host "[*] 5/6 Checking scheduled tasks and Run keys for persistence..." -ForegroundColor Cyan
Get-ScheduledTask -ErrorAction SilentlyContinue | Where-Object { $_.Actions.Execute -match 'powershell|client32|meshagent' -and $_.Actions.Arguments -match 'http|enc|hidden|\d{8,10}' } | ForEach-Object {
    $Report += [pscustomobject]@{Check='Scheduled Task'; Finding=$_.TaskName; Detail="$($_.Actions.Execute) $($_.Actions.Arguments)"}
}
'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run','HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' | ForEach-Object {
    Get-ItemProperty $_ -ErrorAction SilentlyContinue | ForEach-Object { $_.PSObject.Properties } |
        Where-Object { $_.Value -match 'powershell|client32|AppData|Temp' } | ForEach-Object {
            $Report += [pscustomobject]@{Check='Run Key'; Finding=$_.Name; Detail=$_.Value}
        }
}

Write-Host "[*] 6/6 Checking for ESXi-intrusion tooling (MeshAgent/Ligolo-ng)..." -ForegroundColor Cyan
Get-Process -ErrorAction SilentlyContinue | Where-Object { $_.ProcessName -match 'meshagent|ligolo|chisel' } | ForEach-Object {
    $Report += [pscustomobject]@{Check='Pivot Tool Process'; Finding=$_.ProcessName; Detail="PID $($_.Id) Path: $($_.Path)"}
}
Get-Service -ErrorAction SilentlyContinue | Where-Object { $_.Name -match 'mesh|netsupport' } | ForEach-Object {
    $Report += [pscustomobject]@{Check='Suspicious Service'; Finding=$_.Name; Detail=$_.Status}
}

Write-Host "`n===== HUNT RESULTS =====" -ForegroundColor Yellow
if ($Report.Count -eq 0) { Write-Host "No indicators found on $env:COMPUTERNAME" -ForegroundColor Green }
else { $Report | Format-Table -AutoSize | Out-String -Width 300 | Write-Host }
$Report | Export-Csv -Path ".\otx_hunt_$env:COMPUTERNAME.csv" -NoTypeInformation
Write-Host "Report saved to .\otx_hunt_$env:COMPUTERNAME.csv" -ForegroundColor Cyan

Response Priorities

Immediate (0–24 hours)

  • Block all listed domains and IPs at DNS resolver, web proxy, and egress firewall: uu01webzoom.us, apartments-review8509831.sbs, verify.apartments-review.sbs, asgomd.com, asgrsv.com, 89.34.90.203, 188.240.57.94, 91.92.242.121.
  • Retro-hunt 30+ days of proxy, DNS, and EDR telemetry for the same indicators plus decimal-encoded IP literals in command lines.
  • Deploy the Sigma rules and run the KQL hunt and PowerShell script across the Windows fleet; escalate any NetSupport client32.exe outside approved RMM paths as an incident.
  • Snapshot and verify integrity of vCenter/ESXi configurations; alert on any new local ESXi accounts, SSH enablement, or hostd/vpxd child processes.

24 Hours

  • FaceStealer involves credential and wallet theft: force password resets and session revocation for any user who visited fake conferencing domains; assume Telegram/LinkedIn/Slack/Discord sessions tied to those users are compromised.
  • For any endpoint with confirmed NetSupport RAT execution, rotate all credentials ever entered or stored on that host, audit for lateral RMM connections, and review financial transaction logs.
  • Notify finance, treasury, and crypto-adjacent teams: enforce out-of-band verification (voice call to a known number, not the meeting platform) for any transaction or wallet operation requested via video call — the person on screen may be replayed stolen footage.

1 Week

  • Virtualization hardening: enforce phishing-resistant MFA on vCenter, isolate the management network behind a bastion with JIT access, disable ESXi SSH/shell by default, and maintain offline, immutable backups decoupled from vCenter credentials — BlackNevas destroyed backups precisely because they were reachable from the management plane.
  • Patch validation for the vCenter/ESXi CVE set (CVE-2021-21972, -22005, CVE-2023-34048, CVE-2024-37085) while treating credential compromise as the primary vector.
  • ClickFix mitigation: restrict PowerShell via AppLocker/WDAC constrained language mode for standard users, deploy browser protections against clipboard-write abuse, and run user awareness on the Win+R paste technique specifically — it is now a mainstream initial-access pattern.
  • Establish detections for MeshAgent, Ligolo-ng, and chisel anywhere they are not an approved deployment.

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.