CryptoBandits — Windows Crypto Clipper, Tor Backdoor & USB LNK Worm

A Windows cryptocurrency clipper (Trojan:Win32/CryptoBandits) that swaps attacker wallet addresses into the clipboard, harvests seed phrases / private keys, captures screenshots, and exfiltrates over a bundled portable Tor client via a local SOCKS5 proxy (127.0.0.1:9050). It self-propagates through malicious LNK shortcuts on USB media and runs an EVAL-driven backdoor. Active since February 2026; disclosed by Microsoft Threat Intelligence on 2026-06-17. This is a Falcon-side endpoint behavioral + IOC hunt pack. Defensive hunt & harden pack — no malware code.
Threat
CryptoBandits · Trojan:Win32/CryptoBandits · crypto clipper + Tor backdoor + USB worm
Severity
ACTIVE ITW · FINANCIAL THEFT · SELF-SPREADING
Type
WSH/ActiveX clipper, Tor SOCKS5 C2, LNK worm
Disclosed
2026-06-17 (Microsoft) · active since Feb 2026
Affected
Windows endpoints (esp. those mounting removable media)
Version
v0.1 · 2026-06-19
Author
HuntPack
01

Executive Summary

CryptoBandits (Microsoft: Trojan:Win32/CryptoBandits, with JS variants Trojan:JS/CryptoBandits.A/.B) is a lightweight Windows cryptocurrency clipper blended with a backdoor and a USB worm. Microsoft Threat Intelligence and Defender Experts identified it as active since February 2026 and disclosed it on 2026-06-17. It relies on Windows Script Host (WSH) and ActiveX-driven logic — there is no traditional installer and no exposed IP-based C2 — to launch a bundled portable Tor client (ugate.exe) and poll a hidden-service (.onion) command-and-control server through a local SOCKS5 proxy on 127.0.0.1:9050.

The clipper polls the clipboard roughly every 500 ms, hunting for BIP39 seed phrases (12/24 words), Ethereum/Bitcoin WIF private keys, and recipient wallet addresses (legacy/P2SH/Taproot/Bech32 BTC, Tron, Monero). When it sees a recipient address it substitutes an attacker-controlled wallet address into the clipboard so the victim unwittingly pays the attacker, and it exfiltrates seeds/keys and screenshots over Tor. If the C2 returns an EVAL response the malware executes remote code, giving it a real backdoor. As a crude anti-analysis check it exits if Task Manager is running.

It is self-spreading: it drops a malicious Windows Shortcut (.lnk) onto USB storage devices, hides the legitimate DOC/XLSX/PDF files, and creates same-named LNK shortcuts whose arguments launch the worm component. Opening one checks whether the machine is already infected and only fetches the payload (cfile staging via /stub.php) from a remote server if absent. Persistence is two indefinite scheduled tasks — one for USB propagation, one for the stealer/clipper.

Defender priority: (1) Hunt Q1 (wscript/cscript/mshta launched from removable-media or temp paths) and Q5 (mass .lnk creation = worm propagation) — both are high-fidelity. (2) Block/alert on the published SHA256 worm-component hashes and .onion C2 set in §4 / §10 (Microsoft IOC table). (3) Hunt Q3 for a process connecting to the local SOCKS5 proxy 127.0.0.1:9050 and Q4 for the bundled Tor binary ugate.exe. Escalate any hit and pivot across the chain on the same host.
02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry
1 · Vendor researchMicrosoft Security Blog (2026-06-17) — "Crypto clipper uses Tor, worm-like propagation for persistence & control"Full TTP write-up + IOC table: 16 worm SHA256 hashes, 10 .onion C2, filenames ugate.exe / cfile, endpoints /route.php /recvf.php /stub.php, SOCKS5 127.0.0.1:9050, two scheduled tasks, clipboard regex targets, detection namesyes
1 · News of recordThe Hacker News (2026-06) — "Microsoft Details Windows Clipper"WSH + ActiveX launches bundled Tor; clipboard polled ~500ms; address substitution; screenshots over Tor; EVAL RCE; exits if Task Manager running; USB worm hides DOC/XLSX/PDF and drops same-named LNKs; scheduled-task persistenceyes
2 · NewsBleepingComputer / CoinDesk (2026-06-19)Active since Feb 2026; financial-theft focus on crypto users; no installer / no IP-based C2 = lightweight stealthy backdoor; portable Tor + local SOCKS5yes

Decisions: Unlike most fresh malware drops, Microsoft published a full atomic IOC set (hashes + .onion + filenames + endpoints) — so this pack is both IOC-keyed and behavior-keyed. We lead with the published atomics (block the 16 hashes, alert the 10 onions) and back them with durable behavioral hunts on the WSH/Tor/SOCKS5/LNK-worm chain, because the actor can trivially re-roll hashes and rotate onions. Every atomic in §4/§10 traces to the Microsoft IOC table; hunt artifacts (behaviors, paths, ports) are labelled separately.

03

Hunt Brief & Attack Chain

Working hypothesis: A user mounts an infected USB device (or runs an existing infection) and double-clicks a legitimate-looking shortcut. The hidden LNK argument invokes wscript/cscript/mshta against a bundled WSH/JS payload, which checks for prior infection, fetches cfile via /stub.php if needed, launches the portable Tor client (ugate.exe) bound to a local SOCKS5 proxy (127.0.0.1:9050), and registers two scheduled tasks. The clipper then polls the clipboard, substitutes wallet addresses, captures screenshots, and beacons to an .onion C2 over Tor — executing EVAL commands as a backdoor. Meanwhile the worm component re-arms any newly attached USB media with same-named LNKs.

StepBehaviorTelemetryHunt Angle
1 · Delivery (USB)User opens a same-named .lnk on removable media; LNK arg launches a script hostProcessRollup2 (LNK/explorer parent), CommandLineQ1 (WSH from removable/temp); N1 (LNK on USB root)
2 · Execution (WSH/ActiveX)wscript/cscript/mshta runs the bundled JS/VBS payloadProcessRollup2Q1, Q2 (script host spawning curl/Tor)
3 · Payload fetchOnly if not already infected: download cfile via /stub.phpNetworkConnectIP4, DnsRequest, PeFileWrittenQ2 (curl egress); §10 endpoint strings
4 · Tor proxy launchBundled portable Tor (ugate.exe) listens / connects on 127.0.0.1:9050ProcessRollup2, NetworkConnectIP4, NetworkListenIP4Q3 (SOCKS5 127.0.0.1:9050), Q4 (ugate.exe)
5 · PersistenceTwo indefinite scheduled tasks (worm + stealer)ProcessRollup2 (schtasks.exe), AsepValueUpdate, RegGenericValueUpdateQ6 (schtasks/Run key from script host)
6 · Theft / clipper~500ms clipboard polling; wallet-address substitution; screenshotslimited native EDR; correlate process + egressQ3/Q4 (egress); §9 IOA (clipboard API)
7 · Worm spreadHide DOC/XLSX/PDF, drop same-named .lnk on each USBPeFileWritten/file-write, ProcessRollup2Q5 (mass .lnk creation)
C2 · BackdoorBeacon to .onion over Tor; EVAL → remote codeNetworkConnectIP4 (to 9050)Q3; Containment §14

Hunt hypotheses (fidelity-ordered)

  • H1 (high): A script host (wscript/cscript/mshta) launches from a removable-drive root or a temp path → Q1. Near-zero benign baseline.
  • H2 (high): Mass creation of .lnk files by a single process in a short window (USB re-arming) → Q5.
  • H3 (high): Any process connecting to a local SOCKS5 proxy at 127.0.0.1:9050 (or 9150) → Q3 — strong Tor-tunneling signal.
  • H4 (high): Execution of the bundled Tor binary ugate.exe, or a known worm-component SHA256 → Q4 (IOC-keyed).
  • H5 (medium): A WSH/script host spawning curl.exe / certutil for an outbound fetch → Q2 (payload staging).
  • H6 (medium): Scheduled-task or Run-key persistence created by a script host (the two indefinite tasks) → Q6.
04

Consolidated IOC Table

Atomic IOCs below are published threat intel from the Microsoft Security Blog IOC table (2026-06-17). Behavioral rows are hunt artifacts derived from the TTP write-up. Copy-ready blocks (full 16-hash + 10-onion sets) are in §10.
TypeValueConfActionContext / Source
SHA256 (TI)7630debd35cac6b7d58c4427695579b3e3a8b1cc462f523234cd6c698882a68chighblockWorm component — MS IOC table (1 of 16; full set §10)
SHA256 (TI)a7abf1d9d6686af1cefcd60b17a312e7eb8cfe267def1ec34aeab6128c811630highblockWorm component — MS IOC table (2 of 16)
Filename (TI)ugate.exehighdetectBundled portable Tor binary — MS IOC table
Filename (TI)cfilemediumhuntC2 payload download staging file — MS IOC table
.onion (TI)cgky6bn6ux5wvlybtmm3z255igt52ljml2ngnc5qp3cnw5jlglamisad.onionhighdetectTor hidden-service C2 — MS IOC table (1 of 10; full set §10)
.onion (TI)gfoqsewps57xcyxoedle2gd53o6jne6y5nq5eh25muksqwzutzq7b3ad.onionhighdetectTor hidden-service C2 — MS IOC table (2 of 10)
URI path (TI)/route.php · /recvf.php · /stub.phphighhuntC2 beacon / screenshot upload / payload download — MS IOC table
Network (TI)127.0.0.1:9050 (local SOCKS5 proxy)highdetectLocal Tor SOCKS5 routing — MS IOC table
Persistence (TI)Two indefinite scheduled tasks (worm + stealer)mediumhuntScheduled-task persistence — MS write-up
Behavior (hunt)wscript/cscript/mshta launched from removable media or %TEMP%highdetectUSB LNK → WSH execution (hunt artifact)
Behavior (hunt)Mass creation of same-named .lnk files on USB rootshighdetectWorm propagation (hunt artifact)
Behavior (hunt)~500ms clipboard polling + wallet-address substitutionmediumhuntClipper core (hunt artifact; limited EDR visibility)
Detection name (TI)Trojan:Win32/CryptoBandits.A/.B · Trojan:JS/CryptoBandits.A/.BhighenrichMicrosoft Defender signatures — MS write-up
05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
Removable-media → script-host executionProcess tree + parent + CommandLine + image path (ProcessRollup2 / SyntheticProcessRollup2)CriticalLow — standard sensor
LNK-worm file propagationFile-write events for .lnk with writing-process context (PeFileWritten / file-write feed)HighMed — PeFileWritten is PE-only; .lnk may need the broader file-write feed
Tor SOCKS5 loopback tunnelingOutbound connect w/ process context to 127.0.0.1:9050/9150 (NetworkConnectIP4, NetworkListenIP4)HighMed — loopback connections not always captured; verify in tenant
Bundled Tor binary / worm hashesProcess exec w/ SHA256HashData + FileName (ProcessRollup2)HighLow — IOC-keyed; actor can re-roll hashes
Payload-staging egressDNS + outbound IP w/ process context (DnsRequest, NetworkConnectIP4)MediumMed — .onion resolves inside Tor, not via host DNS; catch the curl fetch / Tor entry
Scheduled-task / Run-key persistenceschtasks.exe exec + ASEP registry (AsepValueUpdate, RegGenericValueUpdate)MediumLow — standard sensor
Clipboard polling / address swapClipboard-API access (Custom IOA) — little native EDR telemetryMediumGAP — clipboard reads are largely invisible; rely on process + egress + IOA
06

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Initial Access / Lateral MovementT1091 — Replication Through Removable MediaMalicious same-named .lnk on USB devices; worm re-arms each driveQ1, Q5; N1
ExecutionT1059.005 / .007 — Visual Basic / JavaScript (WSH)wscript/cscript/mshta runs the bundled JS/VBS payload; EVAL RCEQ1, Q2
Defense EvasionT1027 — Obfuscated Files or InformationObfuscated script logic; random 5-char folder/script names; ActiveX launchQ1; §9 IOA
Defense Evasion / DiscoveryT1057 — Process DiscoveryClipper exits if Task Manager (taskmgr.exe) is running (anti-analysis)§9 IOA; behavioral
CollectionT1115 — Clipboard Data~500ms clipboard polling for seeds/keys; wallet-address substitution§9 IOA; Q3/Q4 egress
CollectionT1113 — Screen CaptureScreenshots captured and exfiltrated over TorQ3; §9 IOA
Command & ControlT1090.003 — Multi-hop Proxy (Tor)Portable Tor client + local SOCKS5 127.0.0.1:9050 polling .onion C2Q3, Q4
PersistenceT1053.005 / T1547.001 — Scheduled Task / Run KeyTwo indefinite scheduled tasks (worm + stealer); ASEP persistenceQ6; N4; Containment §14
ExfiltrationT1048.002 — Exfil Over Asymmetric Encrypted Non-C2Seeds/keys/screenshots uploaded over Tor via /recvf.phpQ3
07

Native Audit-Log Hunts

HuntSourceLogicResponse
N1 · LNK on USB rootSysmon EID 11 (FileCreate), USN journal, removable-drive auditNew .lnk files appearing at the root of removable drives, especially same-named as hidden DOC/XLSX/PDF originalsQuarantine media; correlate Q1/Q5 on same host
N2 · Script-host launch treeSysmon EID 1 / Security 4688wscript.exe/cscript.exe/mshta.exe with a parent of explorer.exe and a command line referencing a removable-drive or %TEMP% pathInvestigate; pairs with Q1
N3 · Tor / SOCKS5 loopbackWindows firewall / netstat / WFP auditA non-browser process listening on or connecting to 127.0.0.1:9050 (or 9150); presence of a portable Tor binaryBlock; correlate Q3/Q4
N4 · Persistence after USBSecurity 4698 (task created), autoruns, Run keysTwo new indefinite scheduled tasks or Run-key values created shortly after a script-host launch from removable mediaRemove tasks; pivot Q6 + N2 on same host
N5 · Defender detection sweepMicrosoft Defender / MDE alert feedHits on Trojan:Win32/CryptoBandits.A/.B, Trojan:JS/CryptoBandits.A/.B, "Suspicious JavaScript process", "Possible data exfiltration using Curl"Triage as confirmed CryptoBandits; run full chain hunt
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Field names validated against the Falcon event reference; process hunts include SyntheticProcessRollup2. The clipboard read itself is largely invisible to EDR — these hunt the surrounding chain (USB→WSH execution, LNK-worm spread, Tor/SOCKS5 tunneling, the bundled Tor binary / worm hashes, payload staging, and persistence). Q4 is IOC-keyed (re-roll-prone); Q1/Q3/Q5 are durable behavioral hunts.
Q1 · Script host (WSH) launched from removable media or temp
CONF HIGHFP LOWCOST LOW

Looks for: wscript/cscript/mshta whose image or command line references a removable-drive root or a temp path. Accomplishes: catches the USB-LNK → WSH execution that bootstraps CryptoBandits — almost no benign baseline.

// HUNT: WSH script host launched from removable media / temp (CryptoBandits USB-LNK bootstrap)
// MITRE: T1091, T1059.005/.007, T1027 | CONF: high  FP: low  COST: low
// REQUIRES: ProcessRollup2 with CommandLine + ImageFileName + ParentBaseFileName
// FALSE POSITIVES: rare admin logon scripts run from a network/temp staging path
// TUNING: allow-list known IT script paths; tighten ParentBaseFileName=explorer.exe for USB-open only
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(wscript|cscript|mshta)\.exe$/i
| CommandLine=/(\\Device\\Harddisk(Volume)?[0-9]|^[D-Zd-z]:\\[^\\]+\.(lnk|js|vbs|hta)|\\Windows\\Temp\\|\\AppData\\Local\\Temp\\)/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, ImageFileName, SHA256HashData], limit=200)
| sort(@timestamp, order=desc)
Q2 · Script host spawning curl / certutil / bitsadmin (payload staging)
CONF HIGHFP LOW-MEDCOST LOW

Looks for: a WSH/script host as the parent of a download LOLBin. Accomplishes: catches the "fetch cfile via /stub.php if not already infected" stage. FP: some legit installers script curl — scope by parent script host + uncommon destinations.

// HUNT: WSH script host spawning a download LOLBin (CryptoBandits payload staging via /stub.php)
// MITRE: T1059.005/.007, T1105 | CONF: high  FP: low-med  COST: low
// REQUIRES: ProcessRollup2 with ParentBaseFileName + CommandLine
// FALSE POSITIVES: software-management scripts that legitimately invoke curl/bitsadmin
// TUNING: pivot to NetworkConnectIP4 on same aid; flag CommandLine containing stub.php / cfile
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=/^(wscript|cscript|mshta)\.exe$/i
| FileName=/^(curl|certutil|bitsadmin|powershell|pwsh)\.exe$/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, SHA256HashData], limit=200)
| sort(@timestamp, order=desc)
Q3 · Process connecting to a local Tor SOCKS5 proxy (127.0.0.1:9050/9150)
CONF HIGHFP LOW-MEDCOST LOW

Looks for: any non-browser process making a loopback connection to the default Tor SOCKS5 ports. Accomplishes: the highest-fidelity C2 signal — CryptoBandits routes all exfil through 127.0.0.1:9050. FP: Tor Browser / sanctioned Tor tooling — allow-list those images.

// HUNT: Loopback connection to a local Tor SOCKS5 proxy (CryptoBandits Tor C2 tunnel)
// MITRE: T1090.003, T1048.002 | CONF: high  FP: low-med  COST: low
// REQUIRES: NetworkConnectIP4 with RemoteAddressIP4 + RemotePort + ContextBaseFileName
// FALSE POSITIVES: Tor Browser / firefox.exe, sanctioned privacy tooling
// TUNING: allow-list approved Tor clients; correlate ContextBaseFileName with Q1/Q4 on same aid
#event_simpleName=NetworkConnectIP4
| RemoteAddressIP4=/^127\.0\.0\.1$/
| in(RemotePort, values=[9050, 9150])
| ContextBaseFileName!=/^(tor|firefox|torbrowser)\.exe$/i
| groupBy([ComputerName, ContextBaseFileName, RemoteAddressIP4, RemotePort], function=([count(aid, as=conns), collect([UserName])]))
| sort(conns, order=desc)
Q4 · Bundled Tor binary (ugate.exe) / known worm-component hash execution
CONF HIGHFP LOWCOST LOW

Looks for: execution of the named bundled Tor binary ugate.exe or any of the published worm-component SHA256 hashes. Accomplishes: direct IOC match (Microsoft IOC table). Note: hashes are trivially re-rolled — keep the behavioral hunts (Q1/Q3/Q5) as the durable backstop.

// HUNT: CryptoBandits bundled Tor binary or known worm-component hash (MS IOC table)
// MITRE: T1090.003, T1091 | CONF: high  FP: low  COST: low
// REQUIRES: ProcessRollup2 with FileName + SHA256HashData
// FALSE POSITIVES: unrelated legitimate file coincidentally named ugate.exe (verify hash)
// TUNING: append additional SHA256 from the MS IOC table (full set in §10) as they publish
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^ugate\.exe$/i OR SHA256HashData=/^(7630debd35cac6b7d58c4427695579b3e3a8b1cc462f523234cd6c698882a68c|a7abf1d9d6686af1cefcd60b17a312e7eb8cfe267def1ec34aeab6128c811630|23c1e673f315dafa14b73034a90dd3d393a984451ff6601b8be8142be6487b43|cf9fc891ea5ca5ecd8113ef3e69f6f52ff538b6cccbdaa9559106fc72bc6da30)$/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, ImageFileName, SHA256HashData], limit=200)
| sort(@timestamp, order=desc)
Q5 · Mass creation of .lnk files by a single process (worm propagation)
CONF HIGHFP MEDCOST LOW

Looks for: a single process writing many .lnk files in a short window — the worm re-arming a USB device with same-named shortcuts. FP: Office/installer pinning or roaming-profile sync can churn shortcuts — triage by burst tightness and removable-path targeting.

// HUNT: Burst of .lnk file creation by one process (CryptoBandits USB worm re-arming)
// MITRE: T1091, T1027 | CONF: high  FP: medium  COST: low
// REQUIRES: file-write feed (FileWritten/PeFileWritten) with ContextBaseFileName + TargetFileName
// FALSE POSITIVES: installers / shortcut-pinning, roaming-profile shortcut sync
// TUNING: raise threshold per env; favor TargetFileName on removable roots; correlate Q1 on same aid
#event_simpleName=/PeFileWritten|FileWritten|NewExecutableWritten/
| TargetFileName=/\.lnk$/i
| groupBy([ComputerName, ContextBaseFileName], function=([count(TargetFileName, as=lnk_count), collect([TargetFileName], limit=25)]))
| test(lnk_count >= 8)
| sort(lnk_count, order=desc)
Q6 · Scheduled task / Run-key persistence created by a script host
CONF MEDFP MEDCOST LOW

Looks for: schtasks.exe (or Run-key writes) parented by a WSH script host — the two indefinite tasks CryptoBandits installs for the worm and stealer. FP: legitimate logon-script task creation — scope to script-host parents and correlate with Q1.

// HUNT: schtasks / Run-key persistence created by a WSH script host (CryptoBandits dual tasks)
// MITRE: T1053.005, T1547.001 | CONF: medium  FP: medium  COST: low
// REQUIRES: ProcessRollup2 with ParentBaseFileName + CommandLine
// FALSE POSITIVES: enterprise logon scripts that register scheduled tasks
// TUNING: pair with Q1 hit on same aid; inspect /create task name and action for ugate.exe / wscript
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=/^(wscript|cscript|mshta)\.exe$/i
| FileName=/^(schtasks|reg)\.exe$/i
| CommandLine=/(\/create|\\CurrentVersion\\Run)/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, SHA256HashData], limit=200)
| sort(@timestamp, order=desc)
Q7 · Script host followed by Task Manager closing (anti-analysis correlation)
CONF MEDFP MEDCOST LOW

Looks for: hosts where a suspicious WSH script host ran on the same endpoint that also shows long-lived script-host processes — CryptoBandits exits if taskmgr.exe is running, so the clipper only persists when Task Manager is absent. Use: a triage/scoping pivot, not a standalone alert.

// HUNT: Persistent WSH script-host activity on hosts (CryptoBandits clipper anti-analysis context)
// MITRE: T1057, T1059.005/.007 | CONF: medium  FP: medium  COST: low
// REQUIRES: ProcessRollup2 with FileName + CommandLine
// FALSE POSITIVES: legitimate long-running scripted automation
// TUNING: scope to hosts also returning Q1/Q3/Q4 hits; review CommandLine for .js/.vbs payloads
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(wscript|cscript|mshta)\.exe$/i
| CommandLine=/\.(js|vbs|hta|wsf)/i
| groupBy([ComputerName, FileName], function=([count(aid, as=runs), collect([CommandLine], limit=10)]))
| test(runs >= 3)
| sort(runs, order=desc)
09

CrowdStrike Custom IOA Recommendations

IOA NameField PatternsBenign ExclusionsDeployment Path
WSH from removable mediaImage *\(wscript|cscript|mshta).exe; CommandLine *.lnk/.js/.vbs/.hta on a removable-drive root or *\Temp\*Allow-list sanctioned IT logon/automation script pathsEndpoint Security → Custom IOA → Process Creation (Detect+Block)
Loopback Tor SOCKS5 egressNetwork connect to 127.0.0.1 port 9050/9150; initiating image != approved Tor clientTor Browser / firefox.exe and any sanctioned privacy tooling excludedCustom IOA → Network Connection (Detect, then Block after baseline)
Bundled Tor binary executionImage FileName ugate.exe or matching published worm SHA256Verify hash before block; remove if a legit app reuses the nameCustom IOA → Process Creation + IOC Management hash block
Mass .lnk creation on USBSingle writing process creating many *.lnk on a removable-drive root in a short windowInstallers / shortcut-pinning excluded; threshold tuned per fleetCustom IOA → File Write (Detect / hunt)
Q1 and Q3 are strong IOA promotions (near-zero benign baseline once IT-script and Tor-Browser exclusions are applied). Q4 promotes to a hash block via IOC Management. The clipboard read and address-swap are not directly observable in standard EDR telemetry — cover them indirectly via the WSH-execution and Tor-egress IOAs above, plus the screenshot/exfil egress (Q3).
10

Machine-Readable IOC Appendix

Grouped IOC Quick-Copy

All atomics below are from the Microsoft Security Blog IOC table (2026-06-17): 16 worm-component SHA256, 10 .onion C2, filenames, and C2 URI paths. Behavioral signatures and a version/host audit follow. Every value traces to that published source.

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
sha256,7630debd35cac6b7d58c4427695579b3e3a8b1cc462f523234cd6c698882a68c,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,a7abf1d9d6686af1cefcd60b17a312e7eb8cfe267def1ec34aeab6128c811630,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,23c1e673f315dafa14b73034a90dd3d393a984451ff6601b8be8142be6487b43,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,cf9fc891ea5ca5ecd8113ef3e69f6f52ff538b6cccbdaa9559106fc72bc6da30,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,100407796028bf3649752d9d2a67a0e4394d752eb8de86daa42920e814f3fae8,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,d14b80cbd1a19d4ad0473a0661297f8fdf598e81ff6c4ab24e212dcad2e54b3f,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,9d90f54ae36c6c5435d5b8bed40faf54cc91f6db28574a6310b5ffaeb0362e96,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,67fc5cf395e28294bbb91ed0e954fdf2e80ebd9119022a115a42c286dc8bacf5,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,0020d23b0f9c5e6851a7f737af73fd143175ee47054931166369edd93338538a,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,35a6bc44b176a050fd6824904b7604f0f45b0fdfa26bf9500b9e05973b387cfd,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,c824630154ac4fdfce94ded01f037c305eab51e9bef3f493c60ff3184a640502,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,d43bf94f0cb0ab97c88113b7e07d1a4024d1610617b5ad05882b1dbab89e15ba,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,b2777b73a4c33ac6a409d475057843be6b5d32262ef28a1f1ff5bb52e3834c5f,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,7787a9a7d8ae393aa32f257d083903c4dc9b97a1e5b0458c4cd480d4f3cb5b05,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,f3b54984caca95fd496bcfe5d7db1611b08d2f5b7d250b43b430e5d76393f9e0,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
sha256,20db98af3037b197c8a846dbf17b87fc6f049c3e0d9a188f9b9a74d3916dd5e1,prevent,critical,2027-06-19,CryptoBandits worm component (MS IOC),campaign:CryptoBandits
Tor .onion C2 (10) + endpointsMS IOC table
# CryptoBandits Tor hidden-service C2 (Microsoft IOC table, 2026-06-17)
cgky6bn6ux5wvlybtmm3z255igt52ljml2ngnc5qp3cnw5jlglamisad.onion
gfoqsewps57xcyxoedle2gd53o6jne6y5nq5eh25muksqwzutzq7b3ad.onion
he5vnov645txpcv57el2theky2elesn24ebvgwfoewlpftksxp4fnxad.onion
lyhizqy2js2eh6ufngkbzntouiikdek5zsdj3qwa22b4z6knpqorgiad.onion
j3bv7g27oramhbxxuv6gl3dcyfmf44qnvju3offdyrap7hurfprq74qd.onion
shinypogk4jjniry5qi7247tznop6mxdrdte2k6pdu5cyo43vdzmrwid.onion
7goms4byw26kkbaanz5a5u5234gusot7rp5imzc3ozh66wwcvmcudjid.onion
facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion
wt26llpl5k6gok3vnaxmucwgzv2wk3l7nuibbh25clghrtus3p5ctsid.onion
ijzn3sicrcy7guixkzjkib4ukbiilwc3xhnmby4mcbccnsd7j2rekvqd.onion
# C2 endpoints: /route.php (beacon) /recvf.php (screenshot upload) /stub.php (payload)
# Local Tor SOCKS5 proxy: 127.0.0.1:9050   Bundled Tor binary: ugate.exe   Staging file: cfile
Behavioral Signaturesdetection logic
wscript/cscript/mshta launched from a removable-drive root or %TEMP% with a .lnk/.js/.vbs/.hta argument
WSH script host spawning curl/certutil/bitsadmin to fetch a payload (cfile via /stub.php)
Non-browser process connecting to a local Tor SOCKS5 proxy at 127.0.0.1:9050 (or 9150)
Execution of bundled portable Tor binary ugate.exe (verify against published SHA256)
Single process creating many same-named .lnk files on a removable drive (USB worm re-arming)
schtasks /create or Run-key write parented by wscript/cscript/mshta (two indefinite tasks)
Clipboard polled ~every 500ms; recipient wallet address substituted with attacker address
Clipper terminates when taskmgr.exe (Task Manager) is detected running (anti-analysis)
Defender names & host audittriage
# Microsoft Defender detection names (MS write-up):
#   Trojan:Win32/CryptoBandits.A / .B
#   Trojan:JS/CryptoBandits.A / .B
#   "Suspicious JavaScript process"  |  "Possible data exfiltration using Curl"
# Windows - find a listener/connection on the Tor SOCKS5 port:
netstat -ano | findstr "127.0.0.1:9050"
# Windows - list the two suspect scheduled tasks (review actions for wscript / ugate.exe):
schtasks /query /fo LIST /v | findstr /i "wscript cscript ugate"
# Windows - surface hidden originals + rogue shortcuts on a mounted USB (read-only review):
dir /a:h E:\   &   dir E:\*.lnk
# Clipboard-targeted assets at risk: BIP39 12/24-word seeds, ETH/BTC WIF keys,
#   BTC legacy(1)/P2SH(3)/Taproot(bc1p)/Bech32(bc1q), Tron(T..), Monero(4../8..)
11

Detection Validation Gates

GateCheckPass Criteria
Telemetry readyConfirm ProcessRollup2 retains CommandLine + ParentBaseFileName, the file-write feed carries .lnk writes with ContextBaseFileName, and NetworkConnectIP4 captures loopback connectionsFields populated fleet-wide; loopback connects visible in a test
Benign baselineRun Q1/Q3 over a 30-day lookback in a clean environmentZero hits after IT-script and Tor-Browser exclusions — promote to IOA
Positive testLab: launch a benign wscript from a USB root and a benign client to 127.0.0.1:9050 (a local listener) — never the live malwareQ1 and Q3 fire; lineage / port captured correctly
IOC freshnessLoad the 16 SHA256 + 10 onion into IOC Management; confirm Q4 matches a planted test hashHash block active; onions in watchlist; recheck MS blog for additions
PromotionMove Q1/Q3 to Custom IOA Detect+Block; Q4 to hash block; Q5 to DetectFP rate < 1/week sustained before Block mode
12

Hardening — Tiered & Deployable

CryptoBandits is delivered by removable media and executed through Windows Script Host, so the highest-leverage controls are USB access control and disabling / constraining WSH. Platforms touched: Windows endpoints, AD/Intune policy, and network egress (Tor). Mitigations reference MITRE M-codes.

Immediate — Cut delivery & execution
  • Block/curtail USB mass-storage on standard endpointsM1042 (Disable or Remove Feature). Intune/GPO device-install restrictions or Falcon USB Device Control; deny autorun. Removable media is the worm's only spread vector.
  • Disable Windows Script Host where not requiredM1042. Set HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings\Enabled = 0 (and the WOW6432Node mirror). Kills the wscript/cscript execution path.
  • Enable ASR rulesM1042. "Block JavaScript/VBScript from launching downloaded executable content" and "Block executable content from email/webmail/USB"; "Block process creations from PSExec/WMI" as defense-in-depth.
  • Push the published IOCsM1031 (Network Intrusion Prevention). Block the 16 SHA256 in Falcon IOC Management and the 10 .onion / Tor egress at the proxy (§10).
Near term — Constrain script & network surface (pilot first)
  • Block Tor at the perimeterM1037 (Filter Network Traffic). Deny known Tor entry/guard nodes and reject loopback SOCKS5 from non-sanctioned apps; alert on 127.0.0.1:9050.
  • Default LNK / script handlers to a viewer, not the interpreterM1042. Constrain double-click execution of .js/.vbs/.hta via file-association policy; consider blocking mshta.exe with WDAC.
  • PowerShell Constrained Language Mode + script-block loggingM1038 / M1040. Raises cost of the payload-staging stage and improves Q2 evidence.
  • Set USB drives to read-only where business-justifiedM1042. A read-only mount stops the worm from re-arming media even if a host is infected.
Strategic — Default-deny & contain
  • Application allowlisting (WDAC / AppLocker enforce)M1038. Deny script-interpreter execution from user-writable / removable paths and unsigned binaries like ugate.exe.
  • Egress allow-listing for sensitive hostsM1037. On crypto-handling / finance endpoints, default-deny outbound and permit only approved destinations — breaks Tor C2.
  • User education for crypto workflowsM1017 (User Training). Always re-verify a pasted wallet address against the source before sending; never plug in untrusted USB media.
13

Deployable Playbooks

Playbook A · Disable WSH + block JS/VBS-from-USB ASR (Windows, PowerShell)

# 1. Disable Windows Script Host (both views) - kills wscript/cscript execution
New-Item   "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Force | Out-Null
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" Enabled 0 -Type DWord
New-Item   "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows Script Host\Settings" -Force | Out-Null
Set-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows Script Host\Settings" Enabled 0 -Type DWord

# 2. ASR: block JS/VBScript from launching downloaded executable content (GUID d3e037e1-3eb8-44c8-a917-57927947596d)
Add-MpPreference -AttackSurfaceReductionRules_Ids d3e037e1-3eb8-44c8-a917-57927947596d -AttackSurfaceReductionRules_Actions Enabled
# ASR: block untrusted/unsigned executables from USB (b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4)
Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions Enabled
# Verify: Get-MpPreference | Select -Expand AttackSurfaceReductionRules_Ids

Playbook B · Restrict USB mass-storage & deny autorun (GPO / registry)

# Deny installation of removable storage device classes (Intune / GPO: Device Installation Restrictions)
# HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions
DenyRemovableDevices            = 1
# Disable Autorun/Autoplay on all drives:
# HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoDriveTypeAutoRun             = 0x000000FF   # 255 = disable autorun on every drive type
# Optional: force removable drives read-only (StorageDevicePolicies)
# HKLM\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies
WriteProtect                  = 1
# Apply: gpupdate /force

Playbook C · Hunt & remove the two scheduled tasks + Tor binary (PowerShell)

# Find scheduled tasks whose action runs a script host or ugate.exe
Get-ScheduledTask | Where-Object {
  ($_.Actions.Execute -match 'wscript|cscript|mshta|ugate')
} | Select-Object TaskName, TaskPath, @{n='Run';e={$_.Actions.Execute}}
# Remove a confirmed-malicious task (replace name after review):
# Unregister-ScheduledTask -TaskName "<BadTaskName>" -Confirm:$false
# Locate the bundled Tor binary and any cfile staging artifact:
Get-ChildItem -Path C:\Users -Recurse -Include ugate.exe,cfile -EA SilentlyContinue |
  Select-Object FullName, Length, LastWriteTime
# Check for a listener on the Tor SOCKS5 port:
Get-NetTCPConnection -LocalPort 9050 -EA SilentlyContinue | Select LocalAddress,State,OwningProcess
14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateNetwork-contain the host in Falcon on a confirmed Q1/Q3/Q4 hit; physically remove any attached USB media; do not power off (preserve volatile clipboard/Tor state)SOC L2Containment timestamp; Q1/Q3/Q4 event rows
TriagePull the process tree from the script-host launch: identify the LNK parent, the WSH payload, ugate.exe, the 127.0.0.1:9050 connection, and the two scheduled tasks; collect the worm SHA256 seenSOC L2Process/file/network tree; schtasks export; Q1–Q6 rows
EradicateRemove both scheduled tasks, ugate.exe, cfile, and dropped scripts/LNKs; kill the clipper + Tor processes; restore hidden DOC/XLSX/PDF originals on affected media; scan every USB used on the hostIRTask/file removal log; media scan results
RecoverTreat all crypto assets touched on the host as compromised: move funds from any wallet whose seed/key may have been clipboard-handled to a freshly generated wallet from a clean device; rotate exchange creds/2FA; re-image if EVAL backdoor execution is confirmedIR + userWallet migration record; cred-rotation log
HardenDisable WSH and restrict USB fleet-wide (§12); block the 16 hashes + 10 onions; promote Q1/Q3 IOAs to Detect+BlockDetection EngPolicy coverage; IOA + IOC enabled
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1091USB LNK delivery / worm spreadQ1, Q5IOA-1, IOA-4Good + N1 media audit
T1059.005/.007WSH/JS execution of payloadQ1, Q2, Q7IOA-1Good
T1105Payload staging (cfile via /stub.php)Q2Partial LOLBin-dependent
T1090.003Tor SOCKS5 C2 tunnelQ3, Q4IOA-2, IOA-3Good
T1053.005 / T1547.001Scheduled-task / Run-key persistenceQ6Partial + N4
T1115Clipboard theft / address swapGAP invisible to EDR; cover via process + egress + user training
T1113 / T1048.002Screenshot capture & Tor exfilQ3IOA-2Partial egress-keyed
T1057Task Manager anti-analysis checkQ7Partial correlation pivot only

Validation gates: (1) confirm ProcessRollup2 retains CommandLine/ParentBaseFileName and the file-write feed captures .lnk; (2) Q1/Q3 return zero hits in a 30-day benign lookback after IT-script and Tor-Browser exclusions; (3) load the 16 hashes + 10 onions into IOC Management and confirm Q4 matches a planted test hash; (4) lab-validate Q1/Q3 with benign harnesses — never the live malware; (5) promote Q1/Q3 to Custom IOA Detect+Block (target FP < 1/week). The clipboard read/address-swap step is an accepted detection gap — mitigated by WSH/USB hardening and user re-verification of pasted addresses.

16

Hunt Summary Ticket

TITLE:        Hunt - CryptoBandits (Trojan:Win32/CryptoBandits crypto clipper / Tor backdoor / USB LNK worm)
SEVERITY:     High (active ITW since Feb 2026; financial theft via wallet-address swap; self-spreading)
SCOPE:        Windows endpoints, especially any mounting removable media or handling crypto assets
HYPOTHESIS:   An infected USB LNK launches WSH (wscript/cscript/mshta) -> bundled Tor (ugate.exe) +
              local SOCKS5 127.0.0.1:9050 -> polls .onion C2; clipper swaps wallet addresses and
              exfiltrates seeds/keys/screenshots over Tor; worm re-arms USB media; two scheduled
              tasks persist. EDR sees the WSH execution, LNK-worm writes, Tor egress, and hashes.
QUERIES RUN:  Q1 WSH from removable/temp (IOA) | Q2 WSH -> curl staging | Q3 loopback SOCKS5 9050 (IOA) |
              Q4 ugate.exe / worm SHA256 (IOC) | Q5 mass .lnk creation (IOA) | Q6 schtasks/Run persistence |
              Q7 persistent WSH anti-analysis pivot
              + Native N1-N5 (LNK on USB, WSH tree, Tor/SOCKS5, persistence, Defender sweep)
DO FIRST:     Block the 16 SHA256 + 10 .onion (MS IOC table); hunt Q1 and Q5 - escalate any hit
FINDINGS:     <pending analyst execution>
GAPS:         Clipboard read / wallet-address swap is invisible to EDR (covered via WSH/USB harden + training)
ACTIONS:      Disable WSH; restrict USB + autorun; ASR JS/VBS-from-USB; block Tor egress; remove the two
              scheduled tasks + ugate.exe; migrate any clipboard-handled wallets from a clean device
OWNER:        HuntPack
VERSION:      v0.1 - 2026-06-19
17

Changelog

v0.32026-07-24CQL correctness pass. All table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.
v0.22026-06-29CQL syntax review (crowdstrike-logscale-v3): replaced regex-on-numeric RemotePort with in() (Q3).
v0.12026-06-19Initial pack (review-v2 gold layout): fixed left-sidebar scrollspy TOC, collapsible, cloud selector inside the CQL section, per-card Copy/Open-in-Falcon, Grouped IOC Quick-Copy grid, coverage map, validation gates, ticket. Built from the Microsoft Security Blog disclosure (2026-06-17, Trojan:Win32/CryptoBandits), The Hacker News, and BleepingComputer/CoinDesk. Atomic IOCs (16 worm SHA256, 10 .onion C2, ugate.exe / cfile, /route.php /recvf.php /stub.php, 127.0.0.1:9050) all sourced from the Microsoft IOC table. 7 CQL + 5 native hunts, 4 IOA candidates. IOC-keyed + behavior-keyed.
18

References

TierSourceUsed For
1Microsoft Security Blog — Crypto clipper uses Tor, worm-like propagation (2026-06-17)Full TTP write-up + IOC table: 16 worm SHA256, 10 .onion C2, ugate.exe/cfile, /route.php /recvf.php /stub.php, 127.0.0.1:9050, scheduled tasks, clipboard targets, Defender names
1The Hacker News — Microsoft Details Windows ClipperWSH+ActiveX Tor launch, ~500ms clipboard polling, address substitution, EVAL RCE, Task Manager anti-analysis, USB worm hides DOC/XLSX/PDF + drops same-named LNKs
2BleepingComputer · CoinDesk (2026-06-19)Active since Feb 2026; crypto-user financial-theft focus; no installer / no IP-based C2; portable Tor + local SOCKS5 = lightweight stealthy backdoor

HuntPack v0.1 · CryptoBandits (Trojan:Win32/CryptoBandits crypto clipper / Tor backdoor / USB LNK worm) · Generated 2026-06-19 · Defensive use only — no malware code. Every atomic IOC traces to the Microsoft Security Blog IOC table (2026-06-17); behavioral hunts cover the WSH/Tor/SOCKS5/LNK-worm chain and are durable against hash/onion rotation. Validate field names (especially the loopback-network and file-write feeds) in your tenant before promoting any query to alerting.