Scarlet Goldfinch — Fake-Update / ClickFix → NetSupport & Remcos

Red Canary-tracked activity cluster: compromised sites push a fake browser-update (updateinstaller.zip) running malicious JavaScript — or, since 2025, a ClickFix fake-CAPTCHA paste-and-run — that installs NetSupport Manager RAT (and, since late 2025, Remcos). Defensive hunt & harden pack — no malicious code.
Threat
Scarlet Goldfinch (Red Canary activity cluster)
Severity
ACTIVE · RAT DELIVERY
Type
Fake-update / ClickFix loader → RAT
Payloads
NetSupport Manager · Remcos (since late 2025)
Delivery
Fake browser-update ZIP · ClickFix fake-CAPTCHA
Version
v0.4 · 2026-06-12
Author
HuntPack
01

Executive Summary

Scarlet Goldfinch is a Red Canary-tracked activity cluster that uses compromised websites to trick users into running malicious code that installs the NetSupport Manager RAT. Historically (pre-2025) it relied on fake browser-update lures — a compromised site claims a browser update is needed and serves a ZIP named like updateinstaller.zip / updateinstall.zip containing malicious JavaScript that drops the RAT. In 2025 the cluster followed the broader trend and pivoted to ClickFix fake-CAPTCHA "paste-and-run" lures for code execution, and in late 2025 began deploying Remcos RAT alongside NetSupport.

Both delivery paths converge on the same outcome: a remote-access tool persisting on a user endpoint for follow-on hands-on activity. The durable detection target is therefore the dual delivery (fake-update JS and ClickFix paste-and-run) plus the NetSupport/Remcos install behaviors — especially NetSupport's client32.exe running from a non-Program-Files path.

Defender priority: Cover both lures — Q1 (fake-update .zipwscript .js) and Q2 (ClickFix browser→mshta/PowerShell). The decisive payload signal is Q3: client32.exe/NetSupport running outside Program Files. Any hit is a live RAT install — escalate and isolate.

02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry
1 · Vendor researchRed Canary — Scarlet Goldfinch (blog + Threat Detection Report)Fake-update → JS → NetSupport; 2025 pivot to ClickFix; ZIP names; late-2025 Remcos additionyes
1 · Vendor researchRed Canary — "Scarlet Goldfinch's year in ClickFix"Fake-CAPTCHA paste-and-run delivery evolutionyes
2 · VendorPicus / Darktrace — NetSupport RAT abuseclient32.exe install paths, persistence, C2 — payload detectionyes
2 · AdjacentRed Canary — Field Guide / Intelligence InsightsRelationship to SocGholish / Amber Albatross fake-update ecosystempartial

Decisions: dual-delivery detection (fake-update JS + ClickFix) since the cluster runs both; payload-anchored on NetSupport client32.exe path anomaly + Remcos; cross-references the NetSupport Manager and SocGholish sibling packs for shared TTPs.

03

Hunt Brief & Attack Chain

Working hypothesis: A user on a compromised site either downloads a fake-update ZIP (JS → RAT) or completes a ClickFix paste-and-run; either path installs NetSupport Manager (and/or Remcos) which persists and beacons for hands-on follow-up.

StepBehaviorTelemetryHunt Angle
1a · Fake-updateCompromised site → updateinstaller.zipwscript runs .jsProcessRollup2Q1
1b · ClickFixFake CAPTCHA → paste-and-run mshta/PowerShellProcessRollup2Q2
2 · RAT installNetSupport client32.exe dropped to %ProgramData%/%AppData%ProcessRollup2; file writeQ3
3 · PersistenceRun key / scheduled task / Startup pointing at the RATregistry / task eventsQ4; N3
4 · Remcos (alt)Remcos RAT install/injectProcessRollup2Q5
5 · C2RAT beacon over HTTP/HTTPSNetworkConnectIP4Q6

Affected surface & telemetry

SurfaceRequired TelemetryPriorityGap Risk
Windows user endpointsProcess lineage + command line (ProcessRollup2)CriticalLow — standard sensor
RAT install pathsFile writes to %ProgramData%/%AppData%; binary metadataHighLow — reliable
PersistenceRun keys / scheduled tasks / StartupHighLow — covered
Delivery (drive-by / ClickFix)Proxy / RunMRUMediumMedium — needs proxy/registry logging
04

Consolidated IOC Table

Compromised-site domains and C2 rotate; the durable signals are the dual delivery and the NetSupport path anomaly. Copy-ready blocks in §9.
TypeValueConfActionContext
BehaviorNetSupport client32.exe running outside \Program Files\highdetectRAT install path anomaly — flagship signal
Fileupdateinstaller.zip / updateinstall.zip → *.jshighhuntFake-update delivery artifact
Behaviorbrowser/Explorer → mshta/powershell (ClickFix paste-and-run)highdetect2025+ delivery pivot
BehaviorRemcos RAT install/injectmediumhuntLate-2025 alt payload
PersistenceRun key / task pointing at %ProgramData%/%AppData% RATmediumhuntRAT persistence
05

ATT&CK Mapping

TacticTechniqueObserved BehaviorQuery / Control
Initial AccessT1189 / T1566 — Drive-by / phishingCompromised-site fake update or ClickFix CAPTCHAQ1, Q2; N1
ExecutionT1059.007 / T1204.004 / T1218.005 — JS / paste-and-run / mshtaJS loader or ClickFix paste-and-runQ1, Q2
PersistenceT1547.001 / T1053.005 — Run key / Startup / scheduled taskRAT auto-startQ4; N3
Command & ControlT1219 — Remote Access Software (NetSupport)client32.exe RAT C2Q3, Q6
Command & ControlT1219 / T1055 — Remcos RATRemcos install/injectQ5
06

Native Audit-Log Hunts

HuntSourceLogicResponse
N1 · Fake-update / ClickFix deliveryProxy / RunMRUDownload of updateinstall*.zip from a non-vendor site; RunMRU entries with mshta/powershell/iexBlock domain; sweep host
N2 · NetSupport binary inventorySoftware/binary inventoryclient32.exe/NetSupport metadata present outside \Program Files\Investigate; uninstall if unsanctioned
N3 · RAT persistenceRegistry Run keys / Task SchedulerAuto-start entries pointing at %ProgramData%/%AppData% binariesRemove; isolate host
N4 · RAT C2Proxy / firewallNetSupport/Remcos beacon to unknown HTTP/HTTPS or non-standard portsBlock; identify the source host
07

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. Q3 (NetSupport path anomaly) is the strongest payload keeper. If NetSupport is sanctioned in your environment, allow-list its managed install path.
Q1 · Fake-update JS loader (wscript runs .js from a download path)
CONF HIGHFP LOWCOST LOW

Looks for: wscript/cscript running a .js from Downloads/Temp (esp. updateinstall*). Accomplishes: catches the legacy fake-update delivery path.

// HUNT: Scarlet Goldfinch fake-update JS loader
// MITRE: T1189, T1059.007 | CONF: high  FP: low  COST: low
// FP NOTES: legit .js automation rarely runs from Downloads/Temp via wscript
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(wscript|cscript)\.exe$/i
| CommandLine=/\.js("|\s|$)/i
| CommandLine=/\\(Downloads|Temp)\\|updateinstall/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine], limit=200)
Q2 · ClickFix paste-and-run (browser → mshta/PowerShell)
CONF HIGHFP LOWCOST LOW

Looks for: mshta/PowerShell parented by a browser/Explorer with iex+http. Accomplishes: catches the 2025+ ClickFix delivery pivot.

// HUNT: Scarlet Goldfinch ClickFix paste-and-run
// MITRE: T1204.004, T1059.001, T1218.005 | CONF: high  FP: low  COST: low
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=/^(explorer|chrome|msedge|firefox|brave|opera)\.exe$/i
| FileName=/^(mshta|powershell|pwsh|cmd)\.exe$/i
| CommandLine=/(iex|invoke-expression|mshta\s+http|DownloadString|FromBase64String|-enc(odedcommand)?\b).*?(http|\.zip)/i
| table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine], limit=200)
Q3 · NetSupport client32.exe running outside Program Files
CONF HIGHFP LOWCOST LOW

Looks for: NetSupport client32.exe (or its files) executing from %ProgramData%/%AppData% rather than Program Files. Accomplishes: the decisive RAT-install signal. FP: sanctioned NetSupport in its managed path (allow-list).

// HUNT: NetSupport Manager RAT install path anomaly (Scarlet Goldfinch payload)
// MITRE: T1219 | CONF: high  FP: low  COST: low
// TUNING: if NetSupport is sanctioned, allow-list its managed \Program Files\ install path
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| (FileName=/^(client32|pcicapi|nskbfltr|remcmdstub)\.exe$/i or CommandLine=/client32\.ini|NetSupport/i)
| ImageFileName=/\\(ProgramData|Users\\[^\\]+\\AppData|Temp)\\/i
| table([@timestamp, ComputerName, UserName, ImageFileName, CommandLine, ParentBaseFileName, SHA256HashData], limit=200)
Q4 · RAT persistence (Run key / Startup / scheduled task)
CONF MEDFP MEDCOST LOW

Looks for: auto-start entries or Startup LNKs pointing at a binary in %ProgramData%/%AppData%. FP: some apps persist there — correlate with Q3 on the same host.

// HUNT: Scarlet Goldfinch RAT persistence
// MITRE: T1547.001, T1053.005 | CONF: medium  FP: medium  COST: low
// TUNING: correlate to Q3 on same aid; allow-list sanctioned auto-start apps
#event_simpleName=/AsepValueUpdate|ScheduledTaskRegistered|PeFileWritten/
| (RegStringValue=/\\(ProgramData|AppData)\\.+\.(exe|scr)/i or TargetFileName=/\\Start Menu\\Programs\\Startup\\/i or CommandLine=/\\(ProgramData|AppData)\\.+\.(exe)/i)
| table([@timestamp, ComputerName, UserName, RegObjectName, RegStringValue, TargetFileName, CommandLine], limit=200)
Q5 · Remcos RAT indicators
CONF MED-HIGHFP LOW-MEDCOST LOW

Looks for: Remcos artifacts (mutex/registry keys, install paths, common config strings). Accomplishes: catches the late-2025 alternate payload. FP: low — verify any hit.

// HUNT: Remcos RAT (Scarlet Goldfinch alt payload)
// MITRE: T1219, T1055 | CONF: med-high  FP: low-med  COST: low
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2|AsepValueUpdate/
| (CommandLine=/remcos|\\Remcos\\|-no-restart.*-install/i or RegObjectName=/\\Software\\Remcos|\\Rmc-/i or ImageFileName=/\\(ProgramData|AppData)\\(remcos|rmc)/i)
| table([@timestamp, ComputerName, UserName, ImageFileName, CommandLine, RegObjectName], limit=200)
Q6 · RAT outbound C2 from a non-standard binary path
CONF MEDFP MEDCOST MED

Looks for: outbound connections initiated by a binary in %ProgramData%/%AppData% (the RAT). FP: some apps run from there — correlate with Q3/Q5.

// HUNT: RAT C2 beacon from a user-writable path
// MITRE: T1219, T1071.001 | CONF: medium  FP: medium  COST: medium
// TUNING: correlate to Q3/Q5; exclude sanctioned apps that run from ProgramData
#event_simpleName=NetworkConnectIP4
| ContextImageFileName=/\\(ProgramData|Users\\[^\\]+\\AppData)\\.+\.exe$/i
| RemoteAddressIP4!=/^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.|169\.254\.|127\.)/
| table([@timestamp, ComputerName, ContextImageFileName, RemoteAddressIP4, RemotePort], limit=200)
08

CrowdStrike Custom IOA Recommendations

IOA NameField PatternsBenign ExclusionsDeployment Path
Scarlet Goldfinch — NetSupport outside Program FilesImage *\client32.exe from *\ProgramData\*/*\AppData\*Sanctioned NetSupport in its managed pathEndpoint Security → Custom IOA → Process Creation
Scarlet Goldfinch — fake-update wscript .jsImage *\wscript.exe; CmdLine *.js + \Downloads\/updateinstallRare legit JS automation (allow-list)Custom IOA → Process Creation
Q3 is the strongest promotion (payload path anomaly). Q1/Q2 are strong delivery detections. Q4–Q6 stay correlated hunts.
09

Machine-Readable IOC Appendix

Grouped IOC Quick-Copy

One-click blocks for detection and IOC import. Compromised-site infra rotates — behavior + the NetSupport path anomaly are durable.

Falcon IOC Management CSVbulk import (seed)
type,value,action,severity,expiration,description,tags
sha256,REPLACE_WITH_JS_LOADER_SHA256,detect,high,2026-09-12,Scarlet Goldfinch fake-update JS,campaign:ScarletGoldfinch
sha256,REPLACE_WITH_NETSUPPORT_SHA256,detect,high,2027-06-12,NetSupport client32.exe (abused),campaign:ScarletGoldfinch
domain,REPLACE_WITH_C2_DOMAIN,detect,medium,2026-08-12,NetSupport/Remcos C2 (rotates),campaign:ScarletGoldfinch
Behavioral Signaturesdetection logic
wscript.exe runs *.js from \Downloads\ (esp. updateinstaller.zip / updateinstall.zip)
browser/Explorer -> mshta/powershell with iex+http (ClickFix paste-and-run)
NetSupport client32.exe / client32.ini running from %ProgramData% or %AppData% (not Program Files)
Run key / scheduled task / Startup LNK pointing at a %ProgramData%/%AppData% binary
Remcos artifacts: \Software\Remcos registry, Rmc- keys, remcos install path
RAT outbound C2 from a binary in %ProgramData%/%AppData%
Payloads & Lineageattribution
Scarlet Goldfinch       # Red Canary activity cluster (compromised-site fake update / ClickFix)
Payloads: NetSupport Manager RAT (primary) ; Remcos RAT (since late 2025)
Delivery: fake browser-update ZIP (pre-2025) -> ClickFix fake-CAPTCHA (2025+)
NetSupport binaries: client32.exe, client32.ini, pcicapi.dll, nskbfltr.inf
Adjacent fake-update ecosystem: SocGholish, Amber Albatross, NetSupport Manager (sibling packs)
Hardening / Blockbreak the chain
# Both delivery paths + the RAT:
Change default .js/.jse handler from WScript to Notepad
ASR: Block JS/VBScript launching downloaded executables + block executable content from email
Block mshta.exe via WDAC/AppLocker (ClickFix first stage)
WDAC/AppLocker: deny unsanctioned NetSupport (client32.exe) outside its managed path
Disable/monitor the Run dialog (RunMRU) for paste-and-run lures
Web filtering; browser updates via managed channels only
10

Hardening — Tiered & Deployable

Break both delivery paths and deny the unsanctioned RAT.

Immediate — Cut delivery
  • Change the default .js/.jse handler to NotepadM1042. Defangs the fake-update double-click.
  • ASR: Block JS/VBScript launching downloaded executables; block content from email/webmailM1042.
  • Block mshta.exe via WDAC/AppLockerM1038. Kills the ClickFix first stage.
  • WDAC/AppLocker: deny NetSupport client32.exe outside its sanctioned pathM1038. Directly blocks the payload (Q3).
Near term — Constrain & observe (pilot first)
  • Disable/monitor the Run dialog (RunMRU); PowerShell CLM + script-block loggingM1038 / M1040. Removes the paste-and-run UX; feeds Q2.
  • Inventory + alert on RMM tools (NetSupport, Remcos-like) from non-standard pathsM1042.
  • Web filtering; managed browser-update channels onlyM1021. Cuts the fake-update lure.
Strategic — Default-deny & awareness
  • Application allowlisting enterprise-wideM1038. Blocks unsigned loaders and unsanctioned RATs.
  • RMM governance: sanctioned tools only, alert on all othersM1038.
  • User training on fake-update + "paste-this-to-verify" luresM1017.
11

Containment Runbook

PhaseActionsOwnerEvidence
IsolateNetwork-contain the host; preserve the delivery artifact (ZIP/.js or pasted command) and the RAT binarySOC L2Containment timestamp; Q1/Q2/Q3 events
TriagePull the delivery → RAT-install tree; identify NetSupport/Remcos config + C2; check persistenceSOC L2Process tree; RAT config
EradicateRemove the RAT + persistence; block C2; confirm no hands-on lateral activityIRRemoval log; C2 block
RecoverRotate creds used on the host; verify no follow-on access; rebuild if RAT had hands-on timeIR + ITCred reset; lateral review
HardenChange .js handler; block mshta; deny unsanctioned NetSupport; promote Q1/Q2/Q3 IOAsDetection EngControl status; IOA enabled
12

Detection Coverage Map & Validation

TechniqueBehaviorCQLIOACoverage
T1189Fake-update / ClickFix deliveryQ1, Q2IOA-2Good
T1219NetSupport install path anomalyQ3IOA-1Good
T1547.001 / T1053.005RAT persistenceQ4Partial correlate to Q3
T1219 / T1055Remcos RATQ5Partial
T1071.001RAT C2 beaconQ6Partial correlate to Q3/Q5
T1189 (delivery infra)Compromised-site lureGAP proxy/web filtering (N1)

Validation gates: (1) confirm process + file telemetry fleet-wide; (2) baseline any sanctioned NetSupport path (allow-list for Q3); (3) lab-test a benign wscript benign.js from Downloads (Q1) and a benign binary run from %ProgramData% (Q3 logic); (4) promote Q1/Q2/Q3 to Custom IOA Detect+Block; keep Q4–Q6 correlated.

13

Hunt Summary Ticket

TITLE:        Hunt — Scarlet Goldfinch (fake-update / ClickFix -> NetSupport & Remcos)
SEVERITY:     High (RAT delivery; hands-on follow-on)
SCOPE:        Windows user endpoints browsing compromised sites
HYPOTHESIS:   Compromised site -> fake-update ZIP (wscript .js) OR ClickFix paste-and-run
              -> NetSupport client32.exe from %ProgramData%/%AppData% (and/or Remcos) -> persist -> C2.
QUERIES RUN:  Q1 fake-update JS (IOA) | Q2 ClickFix (IOA) | Q3 NetSupport path anomaly (IOA) |
              Q4 RAT persistence | Q5 Remcos | Q6 RAT C2
              + Native N1-N4 (delivery, NetSupport inventory, persistence, C2)
DO FIRST:     Q3 (payload), Q1/Q2 (delivery) — isolate on any hit
FINDINGS:     <pending analyst execution>
GAPS:         Compromised-site delivery needs proxy/web filtering
ACTIONS:      Change .js handler; block mshta; deny unsanctioned NetSupport; promote Q1/Q2/Q3
OWNER:        HuntPack
VERSION:      v0.4 - 2026-06-12
14

Changelog

v0.42026-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.32026-06-12Re-hunt + reformatted to the 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+validation, .ticket). Refreshed from Red Canary: 2025 pivot to ClickFix fake-CAPTCHA, late-2025 Remcos addition, NetSupport client32.exe path-anomaly detection. 6 CQL + 4 native hunts, 3 IOA candidates.
v0.12026-05-26Initial pack: fake-update → NetSupport hunts. Pre-gold top-bar layout.
15

References

TierSourceUsed For
1Red Canary — Scarlet Goldfinch (Threat Detection Report)Full chain, ZIP names, ClickFix pivot, Remcos addition
1Red Canary — Scarlet Goldfinch's year in ClickFixFake-CAPTCHA paste-and-run delivery
1Red Canary — Taking flight with NetSupport ManagerNetSupport payload behavior
2Picus — NetSupport RAT abuseclient32.exe path/persistence/C2 detection

HuntPack v0.3 · Scarlet Goldfinch · Generated 2026-06-12 · Defensive use only. Delivery infrastructure rotates — the dual-delivery detections + the NetSupport path anomaly are the durable signal. Validate field names in your tenant (and any sanctioned NetSupport path) before promoting any query.