Back to Intelligence

SectopRAT via Fake Claude Desktop Installers: Bing Malvertising, EtherHiding C2 & DLL Sideloading — OTX Detection Pack

SA
Security Arsenal Team
September 23, 2026
9 min read

Classification: TLP:WHITE | Intelligence Category: Infostealer & Credential Theft Campaigns | Pulse Date: 2026-09-24

Threat Summary

A single but high-fidelity OTX pulse documents a live intrusion campaign tracked as FakeAgent, uncovered by an agentic MXDR threat hunt that scoped the full attack chain in under ten minutes. The campaign is distributing trojanized installers for Anthropic's Claude Desktop application through malvertising on Bing search results, tricking users seeking the legitimate AI assistant into downloading a weaponized package. Notably, parts of the hosting chain abused legitimate Anthropic-associated infrastructure, lending the lure an appearance of authenticity that defeats casual user scrutiny.

The delivered payload is SectopRAT — a remote access trojan with credential harvesting and browser data theft capability. The attack chain combines several modern evasion tradecraft elements:

  1. Malvertising lure — poisoned Bing ads directing users searching for "Claude Desktop" to a fake installer.
  2. DLL sideloading — execution via a legitimate Java Chromium Embedded Framework (JCEF) binary loading a malicious DLL placed in its search path.
  3. EtherHiding — C2 configuration and next-stage payloads retrieved from blockchain (smart contract) storage, making takedown and static blocklisting difficult.
  4. Scheduled task persistence — a masqueraded scheduled task maintaining execution across reboots, which was the initial detection trigger.

The strategic objective is consistent with infostealer economics: harvest browser credentials, session tokens, crypto wallets, and corporate SSO material from endpoints, then monetize through dark web credential marketplaces or hand off initial access to downstream operators. Enterprise teams should treat this as a high-urgency campaign: the lure targets a widely adopted developer/knowledge-worker tool, and the victims are precisely the users holding privileged credentials.

Threat Actor / Malware Profile

Attribution: Unknown. The campaign overlaps with the broader "FakeAgent" trojanized-installer ecosystem that has abused trusted software brands (Teams, Chrome, Zoom, and now Claude Desktop) via search-engine malvertising. The tradecraft — EtherHiding, DLL sideloading through signed binaries, scheduled task masquerade — suggests a financially motivated initial-access group rather than nation-state espionage.

SectopRAT

  • Distribution: Malvertising on Bing; trojanized Claude Desktop installers; fake download pages mimicking legitimate AI vendor branding. Observed staging abuse of legitimate Anthropic infrastructure increases click-through trust.
  • Payload behavior: Remote access trojan with infostealer modules — browser credential/cookie extraction, session token theft, keylogging, screen capture, and secondary payload delivery.
  • C2 communication: Uses EtherHiding — retrieving C2 addresses and encrypted payloads from blockchain smart contracts (typically on BNB Smart Chain or Ethereum). This renders the C2 resilient: blockchain content cannot be seized, and defenders must intercept the RPC queries rather than sinkhole a static domain. A resolving/communicating domain observed in this campaign: neeitoerw.my.
  • Persistence: Scheduled task with a name masquerading as a legitimate software updater or system task (the pulse's initial alert was triggered by exactly this artifact).
  • Anti-analysis / evasion: DLL sideloading via a signed Java Chromium Embedded Framework executable, so the malicious DLL loads under a trusted process context; blockchain-staged payloads avoid classic sandbox network signatures; likely user-driven execution bypasses email gateway controls entirely.

IOC Analysis

The pulse contains 1 indicator, a single domain:

TypeIndicatorContext
Domainneeitoerw.mySectopRAT campaign infrastructure (resolution/communication)

A single IOC in a pulse does not mean a small campaign — EtherHiding campaigns deliberately minimize static indicators. SOC teams should operationalize this in three layers:

  1. Static layer: Push neeitoerw.my to DNS sinkholes, secure web gateways, and EDR network blocklists. Check historical DNS proxy logs for resolution attempts over the past 30–90 days.
  2. Behavioral layer: Because blockchain C2 defeats static blocklisting, hunt for RPC calls to public blockchain nodes from non-wallet processes, DLL sideloading patterns (signed JCEF/Chromium Embedded binaries loading unsigned DLLs), and suspicious scheduled tasks referencing user-writable paths.
  3. Lure layer: Alert on HTTP(S) downloads of executables claiming to be "Claude Desktop" installers from any source other than claude.ai / official Anthropic distribution channels.

Tooling: OTX DirectConnect/API for indicator sync to SIEM/EDR, Sigma/ELK or Sentinel for the detections below, and blockchain-RPC log review on egress firewalls for EtherHiding detection.

Detection Engineering

YAML
---
title: SectopRAT FakeAgent - DLL Sideloading via Java Chromium Embedded Framework
id: 5c1f2a9e-7d3b-4f01-9a2c-sectoprat001
status: experimental
description: Detects DLL sideloading patterns consistent with the FakeAgent campaign delivering SectopRAT via trojanized Claude Desktop installers. A signed JCEF/Chromium Embedded Framework binary loads an unsigned or unexpected DLL from a user-writable or non-standard directory.
author: Security Arsenal Threat Intel
logsource:
    category: image_load
    product: windows
    definition: Sysmon required for image_load telemetry
detection:
    selection_parent:
        ParentImage|endswith:
            - '\jcef_helper.exe'
            - '\java.exe'
            - '\javaw.exe'
        ParentImage|contains:
            - 'claude'
            - 'jcef'
            - 'cef'
    selection_dll_path:
        ImageLoaded|contains:
            - '\AppData\Local\Temp\'
            - '\Users\Public\'
            - '\Downloads\'
            - '\AppData\Roaming\'
    filter_signed:
        Signed: 'true'
    condition: selection_parent and selection_dll_path and not filter_signed
falsepositives:
    - Legitimate JCEF applications loading plugins from AppData (verify signer and installer provenance)
level: high
tags:
    - attack.defense_evasion
    - attack.t1574.002
    - attack.execution
---
title: SectopRAT FakeAgent - Masqueraded Scheduled Task Persistence
id: 5c1f2a9e-7d3b-4f02-9a2c-sectoprat002
status: experimental
description: Detects scheduled task creation pointing to executables or DLLs in user-writable directories, matching the FakeAgent/SectopRAT persistence mechanism that triggered the original intrusion hunt. Task names frequently masquerade as browser or software updaters.
author: Security Arsenal Threat Intel
logsource:
    product: windows
    service: security
    definition: Event ID 4698 requires Audit Scheduled Task Creation policy
detection:
    selection_event:
        EventID: 4698
    selection_task_path:
        TaskContent|contains:
            - 'AppData\Local\Temp'
            - 'AppData\Roaming'
            - 'Users\Public'
            - 'Downloads'
            - 'rundll32'
            - 'regsvr32'
    selection_task_name:
        TaskName|contains:
            - 'Update'
            - 'Updater'
            - 'Maintenance'
            - 'Claude'
            - 'Sync'
    condition: selection_event and selection_task_path and selection_task_name
falsepositives:
    - Legitimate software updaters in AppData (validate binary signer against expected vendor)
level: high
tags:
    - attack.persistence
    - attack.t1053.005
    - attack.defense_evasion
    - attack.t1036
---
title: SectopRAT EtherHiding - Blockchain RPC Query from Non-Wallet Process
id: 5c1f2a9e-7d3b-4f03-9a2c-sectoprat003
status: experimental
description: Detects outbound connections to public blockchain RPC endpoints from processes with no legitimate reason to interact with smart contracts. EtherHiding retrieves SectopRAT C2 configuration from on-chain storage.
author: Security Arsenal Threat Intel
logsource:
    category: network_connection
    product: windows
detection:
    selection_rpc_host:
        DestinationHostname|contains:
            - 'bsc-dataseed'
            - 'binance.org'
            - 'eth-mainnet'
            - 'mainnet.infura.io'
            - 'rpc.ankr.com'
            - 'cloudflare-eth.com'
            - 'polygon-rpc.com'
    filter_expected:
        Image|endswith:
            - '\metamask.exe'
            - '\electrum.exe'
            - '\exodus.exe'
    condition: selection_rpc_host and not filter_expected
falsepositives:
    - Web3 developer tooling and dApp testing (scope exclusions to developer OUs if needed)
level: medium
tags:
    - attack.command_and_control
    - attack.t1102
    - attack.t1071.001
date: 2026/09/24
KQL — Microsoft Sentinel / Defender
// SectopRAT FakeAgent hunt - trojanized Claude Desktop installer execution,
// IOC network communication, and scheduled task persistence (Microsoft Sentinel)
let iocDomain = "neeitoerw.my";
let lookback = 30d;
let NetworkHits =
    DeviceNetworkEvents
    | where TimeGenerated > ago(lookback)
    | where RemoteUrl contains iocDomain or RemoteUrl contains "bsc-dataseed" or RemoteUrl contains "mainnet.infura.io"
    | project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteUrl, RemoteIP, ActionType;
let ClaudeFakeInstaller =
    DeviceProcessEvents
    | where TimeGenerated > ago(lookback)
    | where (FileName has_any ("claude", "ClaudeDesktop", "setup") or ProcessCommandLine has "claude")
    | where FolderPath has_any ("\Downloads\", "\Temp\", "\Users\Public\")
    | project TimeGenerated, DeviceName, FileName, FolderPath, ProcessCommandLine, SHA256, InitiatingProcessFileName;
let SuspiciousTasks =
    DeviceProcessEvents
    | where TimeGenerated > ago(lookback)
    | where FileName =~ "schtasks.exe" and ProcessCommandLine has "/create"
    | where ProcessCommandLine has_any ("AppData", "Users\Public", "Temp", "rundll32")
    | project TimeGenerated, DeviceName, ProcessCommandLine, AccountName, InitiatingProcessFileName;
union NetworkHits, ClaudeFakeInstaller, SuspiciousTasks
| order by TimeGenerated desc
PowerShell
# SectopRAT FakeAgent IOC & artifact hunt - run elevated on suspect endpoints
# Checks: IOC connections, masqueraded scheduled tasks, sideload staging paths, fake Claude installers

$iocDomain = "neeitoerw.my"
$report = @()

Write-Host "[1] Checking DNS cache and active connections for IOC: $iocDomain" -ForegroundColor Cyan
$dnsHits = Get-DnsClientCache | Where-Object { $_.Entry -like "*$iocDomain*" }
$netHits = Get-NetTCPConnection -ErrorAction SilentlyContinue | ForEach-Object {
    try {
        $resolved = (Resolve-DnsName -Name $_.RemoteAddress -ErrorAction SilentlyContinue).NameHost
    } catch { $resolved = $null }
    if ($resolved -like "*$iocDomain*") { $_ }
}
if ($dnsHits)  { $report += "DNS CACHE HIT: $($dnsHits.Entry -join ', ')" }
if ($netHits)  { $report += "ACTIVE CONNECTION HIT to $iocDomain (PID $($netHits.OwningProcess -join ','))" }

Write-Host "[2] Hunting masqueraded scheduled tasks pointing to user-writable paths" -ForegroundColor Cyan
$susPaths = 'AppData','Users\Public','Temp','Downloads','rundll32','regsvr32'
Get-ScheduledTask | ForEach-Object {
    foreach ($action in $_.Actions) {
        $cmdLine = "$($action.Execute) $($action.Arguments)"
        foreach ($p in $susPaths) {
            if ($cmdLine -match $p) {
                $report += "SUSPICIOUS TASK: $($_.TaskName) | $($_.TaskPath) | $cmdLine"
            }
        }
    }
}

Write-Host "[3] Searching for fake Claude Desktop installer artifacts" -ForegroundColor Cyan
$claudeArtifacts = Get-ChildItem -Path "$env:USERPROFILE\Downloads","$env:TEMP","C:\Users\Public" -Recurse -ErrorAction SilentlyContinue |
    Where-Object { $_.Name -match 'claude|ClaudeDesktop' -and $_.Extension -match '\.(exe|msi|dll)$' } |
    Select-Object FullName, Length, CreationTime
if ($claudeArtifacts) {
    foreach ($a in $claudeArtifacts) {
        $sig = Get-AuthenticodeSignature -FilePath $a.FullName -ErrorAction SilentlyContinue
        $report += "CLAUDE ARTIFACT: $($a.FullName) | Created $($a.CreationTime) | SigStatus: $($sig.Status) | Signer: $($sig.SignerCertificate.Subject)"
    }
}

Write-Host "[4] Checking for unsigned DLLs staged beside JCEF/Chromium Embedded binaries" -ForegroundColor Cyan
Get-ChildItem -Path "$env:LOCALAPPDATA","$env:APPDATA" -Recurse -Include "*.dll" -ErrorAction SilentlyContinue |
    Where-Object { $_.DirectoryName -match 'jcef|cef|claude' } | ForEach-Object {
        $sig = Get-AuthenticodeSignature -FilePath $_.FullName -ErrorAction SilentlyContinue
        if ($sig.Status -ne 'Valid') { $report += "UNSIGNED DLL: $($_.FullName) | Status: $($sig.Status)" }
    }

Write-Host "`n===== HUNT RESULTS =====" -ForegroundColor Yellow
if ($report.Count -eq 0) { Write-Host "No artifacts found." -ForegroundColor Green }
else { $report | ForEach-Object { Write-Host $_ -ForegroundColor Red } }

Response Priorities

Immediate (0–4 hours)

  • Block neeitoerw.my at DNS, secure web gateway, and EDR network layers; retro-hunt proxy/DNS logs for 90 days of resolution history.
  • Hunt for scheduled tasks referencing AppData, Users\Public, or Temp paths with masquerade-style names (updater/maintenance/sync themes).
  • Search the estate for executables matching claude naming downloaded outside official Anthropic channels; quarantine and hash-check any found.
  • Identify endpoints that ran Bing-ad-sourced installer downloads in the past 30 days via browser history and EDR file-creation telemetry.

24 Hours

  • SectopRAT is a credential-stealing RAT: treat any endpoint with confirmed execution as a full credential compromise. Force enterprise password resets and revoke session tokens (Entra ID, Google Workspace, Okta, VPN) for impacted users.
  • Invalidate browser session cookies and SSO refresh tokens; re-enroll MFA devices for affected users — infostealers routinely export MFA session cookies that bypass challenge prompts.
  • Review crypto wallet exposure and financial SaaS access from affected machines.
  • Audit blockchain-RPC egress traffic for EtherHiding retrieval attempts; alert on any non-developer host querying public chain nodes.

1 Week

  • Deploy the Sigma and KQL detections above across SIEM/EDR; tune the JCEF sideloading rule against legitimate Chromium Embedded applications in your environment.
  • Implement application control (WDAC/AppLocker) blocking unsigned DLL loads from user-writable directories and restricting installer execution to approved software-distribution channels.
  • Establish an official, internally hosted distribution point for Claude Desktop and other high-demand AI tools, and communicate it to users — malvertising thrives on unmanaged software acquisition.
  • Restrict or alert on schtasks /create execution by standard users, and enable Audit Scheduled Task Creation (Event ID 4698) fleet-wide.

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.