Needle Stealer — Golang Modular Infostealer (Crypto / Browser Credential Theft)
Executive Summary
Needle Stealer is a modular information stealer written in Golang, sold as a service and built in feature-toggle modules so operators enable only the collectors they want. It harvests browser credentials, cookies and history; cryptocurrency wallets (Ledger, Trezor, Exodus desktop; MetaMask / Coinbase extensions); Telegram and FTP client data; text files; clipboard contents; and wallet seed phrases — the browser module swaps or intercepts legitimate wallet extensions so the victim enters their seed into a fake MetaMask / Phantom and it is exfiltrated on entry.
Delivery is twofold: a fraudulent AI-trading-assistant website (tradingclaw[.]pro) that selectively redirects crawlers away, and follow-on deployment by the loaders Amadey, GCleaner and CountLoader/DeepLoad (so a host can be infected without ever visiting the site), plus phishing and pirated software. The infection chain ships a ZIP whose loader performs DLL search-order hijacking via iviewers.dll and then process-hollows the stealer into RegAsm.exe; it installs a malicious browser extension in a randomly named folder under %LOCALAPPDATA%\Packages\Extensions (with a remote self-destruct) and beacons to C2 over multiple HTTP API endpoints. Documented April 2026; an active build was observed 2026-06-03.
RegAsm.exe abused as a hollowing target — it should never make external network connections or be spawned by a random loader) and Q2 (iviewers.dll sideloaded from a user-writable path). Then Q3 (rogue browser extension) and Q4 (C2 from the hollowed host). Block the delivery infra (Q6) and treat any hit as confirmed credential/crypto theft → rotate everything touched.Source Review & Web Hunter Notes
| Tier | Source | Key Finding | Carry |
|---|---|---|---|
| 1 · Vendor research | Malwarebytes — malicious trading site drops browser-hijacking malware | Fake AI-trading site delivery; browser takeover; selective redirect to evade crawlers | yes |
| 1 · Vendor research | beelzebub.ai — "Needle: modular crypto-stealing C2" | Wallet-extension interception (MetaMask/Phantom), seed-phrase theft, multi-endpoint HTTP C2 | yes |
| 2 · Vendor research | SOCPrime — Needle Stealer spread via fake AI trading site | DLL hijack + process hollowing into RegAsm.exe; Golang modular stealer | yes |
| 2 · Malware analysis | pcrisk — Needle Stealer | iviewers.dll sideload; RegAsm.exe hollowing; extension under %LOCALAPPDATA%\Packages\Extensions with self-destruct; targets & loaders | yes |
| 2 · Aggregator | Security Boulevard | Confirms fake-trading delivery; browser-takeover impact | partial |
Decisions: key the durable detections on the distinctive chain (iviewers.dll sideload → RegAsm.exe hollowing → rogue extension → HTTP C2) rather than the loader-of-the-day, since Amadey/GCleaner/CountLoader can swap in any delivery. tradingclaw[.]pro and iviewers.dll are concrete and citable but perishable — block + alert. Wallet/seed interception means any confirmed infection is a credential emergency: rotate and re-secure all wallets and accounts used on the host.
Hunt Brief & Attack Chain
Working hypothesis: A user runs a fake AI-trading installer (or a commodity loader drops the payload); a bundled loader sideloads iviewers.dll, hollows the stealer into RegAsm.exe, installs a rogue browser extension that intercepts wallet seed phrases, harvests browser/wallet/clipboard data, and exfiltrates to HTTP C2.
| Step | Behavior | Telemetry | Hunt Angle |
|---|---|---|---|
| 1 · Delivery | Fake AI-trading installer (tradingclaw[.]pro) or loader drop (Amadey/GCleaner/CountLoader) | ProcessRollup2, DnsRequest | Q5, Q6 |
| 2 · DLL sideload | Loader sideloads iviewers.dll from a user-writable path | Module load / PeFileWritten | Q2 |
| 3 · Process hollowing | Stealer injected into RegAsm.exe | ProcessRollup2 | Q1 |
| 4 · Browser extension | Rogue extension under %LOCALAPPDATA%\Packages\Extensions (randomly named); intercepts MetaMask/Phantom seed | FileCreateInfo, PeFileWritten | Q3 |
| 5 · Collection | Browser creds/cookies, wallets, Telegram/FTP, clipboard, seed phrases | ProcessRollup2 / file access | Q4 context; N3 |
| 6 · C2 / exfil | HTTP API beacons to attacker C2 from the hollowed host | NetworkConnectIP4, DnsRequest | Q4, Q6 |
Affected surface & telemetry
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| Windows endpoints (browser + wallet users) | Process lineage + module loads (ProcessRollup2) | Critical | Low — standard Falcon sensor |
| RegAsm.exe hollowing | Process + network context for RegAsm.exe | High | Low — standard sensor |
| Rogue browser extension | File writes under %LOCALAPPDATA%\Packages\Extensions | High | Medium — extension-dir writes are noisy; scope by writer |
| C2 / delivery infra | DNS + network (DnsRequest, NetworkConnectIP4) | Medium | High — infra is perishable |
Consolidated IOC Table
| Type | Value | Conf | Action | Context |
|---|---|---|---|---|
| Behavior | RegAsm.exe making external network connections / spawned by a non-VS parent | high | detect | Process-hollowing target (Needle core) |
| File | iviewers.dll loaded/written from a user-writable path | high | detect | DLL search-order hijack in the loader |
| Behavior | Rogue extension folder under %LOCALAPPDATA%\Packages\Extensions written by a non-browser process | medium | hunt | Wallet-extension interception + persistence |
| Domain | tradingclaw[.]pro | medium | block | Fake AI-trading delivery site (perishable) |
| Domain | studypages[.]com | low | hunt | Observed redirect target (lower confidence) |
| Loader | Amadey / GCleaner / CountLoader-DeepLoad | medium | hunt | Upstream delivery — pivot to these families |
ATT&CK Mapping
| Tactic | Technique | Observed Behavior | Query / Control |
|---|---|---|---|
| Initial Access / Execution | T1204 — User Execution | Fake AI-trading installer run by the user | Q5, Q6; S10 |
| Defense Evasion | T1574.001 — DLL Search-Order Hijacking | Loader sideloads iviewers.dll | Q2 |
| Defense Evasion / PrivEsc | T1055.012 — Process Hollowing | Stealer injected into RegAsm.exe | Q1 |
| Persistence | T1176 — Browser Extensions | Rogue extension under %LOCALAPPDATA%\Packages\Extensions | Q3 |
| Credential Access | T1555.003 / T1539 — Browser Creds / Session Cookies | Harvests stored creds, cookies, wallet seed phrases | Q3, Q4; N3 |
| Collection / C2 / Exfil | T1115 / T1071.001 / T1041 | Clipboard capture; HTTP-API beacons; exfil over C2 | Q4, Q6 |
Native Audit-Log Hunts
| Hunt | Source | Logic | Response |
|---|---|---|---|
| N1 · Browser extension inventory | Browser policy / EDR file events | Unmanaged extensions installed outside the enterprise allow-list, especially under %LOCALAPPDATA%\Packages\Extensions with random names | Remove; force-install allow-list via browser policy |
| N2 · Sysmon DLL-load review | Sysmon EID 7 (ImageLoad) | Load of iviewers.dll from a user-writable path / unsigned | High-fidelity if Sysmon present; pairs with Q2 |
| N3 · Wallet/seed exposure review | Host / DLP review | Hosts where wallet apps (MetaMask/Exodus/Ledger) and browser cred stores were active during infection | Treat as compromised — force seed/credential rotation |
| N4 · Loader-family review | EDR / threat intel | Prior Amadey / GCleaner / CountLoader activity on the host (upstream delivery) | Pivot to the loader pack; scope blast radius |
CrowdStrike LogScale CQL Hunt Queries
SyntheticProcessRollup2. The strongest, lowest-FP signals are Q1 (RegAsm hollowing) and Q2 (iviewers.dll sideload).Looks for: RegAsm.exe launched by a non-developer parent or from a user-writable path — the hollowing host. Accomplishes: catches Needle's injection target. RegAsm is a .NET SDK tool; outside dev/build it is almost always abuse.
// HUNT: RegAsm.exe abused as a process-hollowing target (Needle Stealer) // MITRE: T1055.012 | CONF: high FP: low COST: low // FALSE POSITIVES: legitimate .NET build/dev workflows (Visual Studio / MSBuild parents) // TUNING: allow-list developer hosts; alert on RegAsm with loader/archive parents or temp paths #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^RegAsm\.exe$/i | ParentBaseFileName!=/^(devenv|msbuild|cmd|powershell|explorer)\.exe$/i | ImageFileName=/\\(Users\\[^\\]+\\(AppData|Downloads|Desktop)|ProgramData|Temp)\\/i OR CommandLine="" | table([@timestamp, ComputerName, UserName, FileName, ImageFileName, ParentBaseFileName, CommandLine, SHA256HashData], limit=200) | sort(@timestamp, order=desc)
Looks for: the writing or loading of iviewers.dll from a user directory — the DLL search-order hijack. Accomplishes: a near-unique signature of this chain. (PE-write variant; pair with Sysmon EID 7 for the load itself.)
// HUNT: iviewers.dll written/staged in a user-writable path (DLL search-order hijack) // MITRE: T1574.001 | CONF: high FP: low COST: low // REQUIRES: PeFileWritten / FileCreateInfo (load-time visibility via Sysmon EID 7 — see N2) // FALSE POSITIVES: a legitimately signed iviewers.dll in its real install dir (excluded by path) #event_simpleName=/PeFileWritten|NewExecutableWritten/ | TargetFileName=/\\iviewers\.dll$/i | TargetFileName=/\\(Users\\[^\\]+\\(AppData|Downloads|Desktop)|ProgramData|Temp)\\/i | table([@timestamp, ComputerName, ContextBaseFileName, TargetFileName, SHA256HashData], limit=200) | sort(@timestamp, order=desc)
Looks for: extension/manifest files dropped under the browser extensions directory by something other than the browser itself. FP: legitimate extension installers / browser updaters — allow-list those writers.
// HUNT: Browser extension files written by a non-browser process (Needle rogue extension) // MITRE: T1176, T1555.003 | CONF: medium FP: medium COST: low // REQUIRES: FileCreateInfo with writing-process context // FALSE POSITIVES: browser self-updates, sanctioned extension installers // TUNING: allow-list chrome/msedge/firefox + your extension-management tooling as writers #event_simpleName=/PeFileWritten/ | TargetFileName=/\\(Packages\\Extensions|User Data\\[^\\]+\\Extensions)\\/i | TargetFileName=/\\(manifest\.json|background\.js|content\.js|service_worker\.js)$/i | ContextBaseFileName!=/^(chrome|msedge|firefox|brave|opera|chrome_installer|MicrosoftEdgeUpdate)\.exe$/i | table([@timestamp, ComputerName, ContextBaseFileName, TargetFileName], limit=200) | sort(@timestamp, order=desc)
Looks for: external network connections made by RegAsm.exe (or another .NET utility) — these should never beacon out. Accomplishes: catches the exfil channel of the hollowed stealer.
// HUNT: Outbound C2 from RegAsm.exe / .NET utility (Needle exfil over HTTP) // MITRE: T1071.001, T1041 | CONF: high FP: low-med COST: low // REQUIRES: NetworkConnectIP4 with process context // FALSE POSITIVES: rare; some EDR/telemetry agents proxy through .NET hosts — allow-list those #event_simpleName=/NetworkConnectIP4/ | ContextBaseFileName=/^(RegAsm|RegSvcs|InstallUtil|MSBuild)\.exe$/i | RemoteAddressIP4!=/^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.|127\.)/ | table([@timestamp, ComputerName, ContextBaseFileName, RemoteAddressIP4, RemotePort], limit=200) | sort(@timestamp, order=desc)
Looks for: executables run straight from Downloads/Temp/archive paths with trading-/AI-app lures, or rundll32 launching a sideloaded DLL. FP: legitimate fresh downloads — correlate with Q1/Q2 on the same host.
// HUNT: Execution from a fake AI-trading app / archive in a user-writable path (Needle delivery) // MITRE: T1204 | CONF: medium FP: medium COST: low // FALSE POSITIVES: benign fresh downloads / portable apps — correlate with Q1/Q2 // TUNING: tighten the lure regex to your telemetry; prioritize hosts also hitting Q1/Q2 #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | ImageFileName=/\\(Users\\[^\\]+\\(Downloads|AppData\\Local\\Temp)|ProgramData)\\/i | (FileName=/(trading|tradingclaw|ai[-_]?trade|crypto[-_]?bot|invest)/i OR (FileName=/^rundll32\.exe$/i AND CommandLine=/\\(Users|ProgramData|Temp)\\.+\.dll/i)) | table([@timestamp, ComputerName, UserName, FileName, ImageFileName, CommandLine, ParentBaseFileName, SHA256HashData], limit=200) | sort(@timestamp, order=desc)
Looks for: resolution of the known delivery / redirect domains. Investigate-only, perishable — refresh from current intel and pair with the behavioral hunts.
// HUNT: DNS resolution of known Needle Stealer delivery / redirect infrastructure // MITRE: T1071.001 | CONF: high FP: low COST: low // FALSE POSITIVES: researchers / sandboxes intentionally resolving the domains #event_simpleName=DnsRequest | DomainName=/(^|\.)tradingclaw\.pro$|(^|\.)studypages\.com$/i | table([@timestamp, ComputerName, ContextBaseFileName, DomainName], limit=200) | sort(@timestamp, order=desc)
CrowdStrike Custom IOA Recommendations
| IOA Name | Field Patterns | Benign Exclusions | Deployment Path |
|---|---|---|---|
| Needle — RegAsm hollowing target | Image *\RegAsm.exe with loader/archive/temp parent or empty command line | Developer hosts (Visual Studio / MSBuild parents) excluded | Endpoint Security → Custom IOA → Process Creation (Detect+Block) |
| Needle — RegAsm external C2 | Network connect; Image *\RegAsm.exe; remote = public IP | Sanctioned .NET telemetry proxies (excluded) | Custom IOA → Network Connection / scheduled-search detect |
Machine-Readable IOC Appendix
Grouped IOC Quick-Copy
One-click blocks for Falcon IOC Management, behavioral detection and post-infection rotation. Behavior is the durable detection; domains are perishable — block + refresh from current intel.
type,value,action,severity,expiration,description,tags domain,tradingclaw.pro,detect,high,2026-09-13,Needle Stealer fake AI-trading delivery site,campaign:NeedleStealer domain,studypages.com,detect,medium,2026-09-13,Needle Stealer redirect target (lower conf),campaign:NeedleStealer filename,iviewers.dll,detect,high,2027-06-13,Needle Stealer DLL search-order hijack module,campaign:NeedleStealer sha256,REPLACE_WITH_LOADER_SHA256,prevent,critical,2027-06-13,Needle loader/stealer sample,campaign:NeedleStealer
RegAsm.exe spawned by a loader/archive/temp parent or with an empty command line (hollowing) RegAsm.exe / RegSvcs / InstallUtil making outbound connections to a public IP (C2/exfil) iviewers.dll written or loaded from a user-writable path (DLL search-order hijack) Browser extension files written under %LOCALAPPDATA%\Packages\Extensions by a non-browser process Execution from Downloads/Temp with a trading / AI-trade / crypto-bot lure name DNS to tradingclaw[.]pro / studypages[.]com
# Any confirmed Needle infection = browser + wallet credential theft. On the host: # 1) Move crypto funds to NEW wallets with NEW seed phrases (assume seeds stolen) # 2) Reset passwords for ALL accounts whose creds were stored in the browser # 3) Invalidate active web sessions (stolen cookies bypass MFA) — force re-auth everywhere # 4) Rotate Telegram / FTP / saved app credentials present on the host # 5) Remove the rogue extension; reset the browser profile; re-image the endpoint
Needle Stealer # Golang modular infostealer / MaaS (this pack) Amadey # upstream loader delivering Needle GCleaner # pay-per-install loader delivering Needle CountLoader / DeepLoad # upstream loader delivering Needle # Signature chain: iviewers.dll sideload -> RegAsm.exe hollowing -> rogue extension -> HTTP C2 # Refresh tradingclaw[.]pro / C2 endpoints from current intel before relying on Q6
Hardening — Tiered & Deployable
No single patch — Needle is delivered malware. Hardening removes the delivery vectors, kills the LOLBin abuse, and locks down browser extensions and wallets.
- Block the delivery infra (tradingclaw[.]pro, redirect domains) at proxy/DNS — M1021 / M1037. Refresh from current intel.
- Browser extension allow-listing via policy (Chrome/Edge
ExtensionInstallAllowlist+ block-all default) — M1042. Defeats the rogue wallet extension (Q3). - Application control to block RegAsm.exe / RegSvcs.exe outside dev hosts — M1038 / M1042. Removes the hollowing target on user endpoints.
- Mark of the Web + block execution from Downloads/Temp — M1038. Stops the fake-installer run (Q5).
- WDAC / AppLocker default-deny in user-writable paths — M1038. Stops sideloaded
iviewers.dlland unsigned payloads. - Phishing-resistant MFA + short web-session lifetimes — M1032. Devalues stolen cookies / credentials.
- Separate crypto / wallet activity onto hardened or dedicated devices — M1030. Removes seed phrases from general-use endpoints.
- Block known loader delivery (Amadey/GCleaner/CountLoader) patterns — M1040 / M1038. Cuts the upstream path.
- Enterprise default-deny application control (signed-only) — M1045 / M1038. Closes the LOLBin-hollowing class.
- Move secrets out of browsers into a managed password manager / SSO — M1027. Less to steal from browser cred stores.
- Continuous egress monitoring for LOLBin network beacons — M1031 / M1037. Alert when .NET utilities talk to the internet (Q4).
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Network-contain the host in Falcon; block the C2 / delivery domains org-wide | SOC L2 | Q4/Q6 rows; containment timestamp |
| Triage | Pull the RegAsm hollowing tree (Q1), the iviewers.dll sideload (Q2), the rogue extension (Q3) and the C2 destinations (Q4); enumerate wallets / browser profiles present | SOC L2 | Process/file tree; Q1–Q4 rows |
| Eradicate | Remove the rogue extension and loader artifacts; reset the affected browser profile; remove persistence | IR | Extension/artifact removal log |
| Recover | Treat as a credential emergency: move crypto to new wallets/seeds, reset all browser-stored passwords, invalidate web sessions, rotate Telegram/FTP creds; re-image the host | IR + user | Rotation checklist (§9); re-image record |
| Harden | Browser extension allow-listing; block RegAsm on user hosts; default-deny app control; promote Q1/Q4 IOAs | Detection Eng | Policy state; IOA enabled |
Detection Coverage Map & Validation
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1055.012 | RegAsm.exe process hollowing | Q1 | IOA-1 | Good |
| T1574.001 | iviewers.dll sideload | Q2 | — | Good + N2 (Sysmon EID 7) |
| T1176 / T1555.003 | Rogue browser extension | Q3 | — | Partial allow-list writers first |
| T1071.001 / T1041 | C2 / exfil from RegAsm | Q4 | IOA-2 | Good |
| T1204 | Fake-app delivery execution | Q5 | — | Partial correlate w/ Q1/Q2 |
| T1071.001 | Delivery/C2 infra DNS | Q6 | — | Partial perishable infra |
Validation gates: (1) confirm ProcessRollup2, PeFileWritten, NetworkConnectIP4 and DnsRequest context fleet-wide; (2) Q1/Q2/Q4 return zero hits in a 30-day benign lookback (allow-list any dev hosts first); (3) allow-list legitimate extension writers before enabling Q3 alerting; (4) refresh the Q6 domain list from current intel; (5) lab-validate the RegAsm-hollowing detection with a benign injection harness — never live malware; (6) promote Q1/Q4 to Custom IOA Detect+Block (target FP < 1/week).
Hunt Summary Ticket
TITLE: Hunt — Needle Stealer (Golang modular infostealer; crypto/browser theft)
SEVERITY: High (active; wallet seed-phrase + browser credential theft, cookie/session theft)
SCOPE: Windows endpoints with browsers / crypto wallets
HYPOTHESIS: Fake AI-trading installer or commodity loader drops a payload that sideloads
iviewers.dll, hollows the stealer into RegAsm.exe, installs a rogue wallet-
intercepting extension, and exfiltrates creds/wallets/seed over HTTP C2.
QUERIES RUN: Q1 RegAsm hollowing (IOA) | Q2 iviewers.dll sideload | Q3 rogue extension |
Q4 RegAsm C2/exfil (IOA) | Q5 fake-app/archive execution | Q6 delivery/C2 DNS
+ Native N1-N4 (extension inventory, Sysmon DLL load, wallet exposure, loaders)
DO FIRST: Q1, Q2 -> escalate any hit; block tradingclaw[.]pro; treat hits as cred theft
FINDINGS: <pending analyst execution>
GAPS: DLL-load visibility best with Sysmon EID 7 (N2); C2 infra perishable (Q6)
ACTIONS: Block delivery infra; browser-extension allow-listing; block RegAsm on user hosts;
full credential + wallet-seed rotation; promote Q1/Q4 to Custom IOA Detect+Block
OWNER: HuntPack
VERSION: v0.1 - 2026-06-13
Changelog
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.References
| Tier | Source | Used For |
|---|---|---|
| 1 | Malwarebytes — malicious trading site drops browser-hijacking malware | Delivery via fake AI-trading site; browser takeover; selective redirect |
| 1 | beelzebub.ai — Needle: modular crypto-stealing C2 | Wallet-extension interception, seed-phrase theft, multi-endpoint HTTP C2 |
| 2 | SOCPrime — Needle Stealer via fake AI trading site | DLL hijack + RegAsm.exe process hollowing; Golang modular stealer |
| 2 | pcrisk — Needle Stealer | iviewers.dll sideload; extension under %LOCALAPPDATA%\Packages\Extensions; targets & loaders |
| 2 | Security Boulevard — malicious trading site | Corroboration of delivery + browser-takeover impact |
HuntPack v0.1 · Needle Stealer (Golang modular infostealer) · Generated 2026-06-13 · Defensive use only — no malware code. There is no single patch; detection keys on the signature chain (iviewers.dll → RegAsm.exe hollowing → rogue extension → HTTP C2) and any hit is a credential/crypto-theft emergency. Validate field names in your tenant and refresh perishable domains before promoting any query to alerting.