LummaC2 / Lumma Stealer — Malware-as-a-Service Infostealer
OpenWith.exe/more.com → browser creds, cookies, 2FA, wallets & CLI tokens exfiltrated to TeslaBrowser/5.5 C2. Activity dropped after the May-2025 takedown but the ClickFix delivery chain remains pervasive. Defensive hunt & harden pack.Executive Summary
LummaC2 (Lumma Stealer) is a prolific malware-as-a-service infostealer. Its hallmark delivery is ClickFix / fake-CAPTCHA "paste-and-run": a fake verification or browser-update overlay instructs the victim to paste a command into Run/PowerShell, which executes mshta.exe or a powershell -enc / iex (New-Object Net.WebClient).DownloadString(...) one-liner pulling the next stage from an attacker domain (e.g. goatstuff[.]store). A loader (HijackLoader/Legion/PrivateLoader/PureCrypter/CypherIT) then injects the stealer via process hollowing into OpenWith.exe or more.com, running entirely in memory.
The stealer harvests browser credentials and cookies, 2FA tokens, FileZilla/WinSCP, Telegram, Steam, cryptocurrency wallets, VPN profiles, cloud CLI credentials, and Desktop/Documents files. It bypasses Chromium App-Bound Encryption via the --remote-debugging-port technique, stages data in System.txt before archiving, and exfiltrates over HTTPS POST using the distinctive TeslaBrowser/5.5 user agent — historically via Cloudflare, then (post-takedown) diversified to Spamhaus DROP-listed ASNs (AEZA, PROSPERO, PROTON66, etc.). It has no built-in persistence, relying on its loader.
iex+http) and Q3 (hollowing into OpenWith.exe/more.com).
Source Review & Web Hunter Notes
| Tier | Source | Key Finding | Carry |
|---|---|---|---|
| 1 · Vendor research | Red Canary — LummaC2 Threat Detection | ClickFix chain; hollowing into OpenWith.exe/more.com; IEX+http analytic; --remote-debugging-port ABE bypass; System.txt staging; activity timeline | yes |
| 1 · Vendor research | Netskope / Sophos — Lumma fake CAPTCHAs / "coming and going" | Fake-CAPTCHA delivery, evasion, resurgence/takedown dynamics | yes |
| 1 · Gov advisory | FBI/CISA AA25-141b — LummaC2 | TeslaBrowser/5.5 UA, HTTP POST exfil, authoritative IOC set (Nov-2023→May-2025) | yes |
| 2 · Vendor | Silent Push / Microsoft / Trend Micro | 150+ new C2 IOCs; delivery (cracked software, Discord CDN, Telegram); post-takedown ASN diversification | partial |
Decisions: behavior-first — atomic C2 IOCs are highly perishable and many in the public advisories predate the takedown, so the durable detections key on the ClickFix lineage, in-memory hollowing targets, and the TeslaBrowser/5.5 UA. Status framed honestly as reduced-but-reused; pack remains valuable as the delivery pattern is shared across stealers.
Hunt Brief & Attack Chain
Working hypothesis: A user is socially engineered (fake CAPTCHA / browser-update / cracked software) to paste and run a command; mshta/powershell pulls a loader, which hollows OpenWith.exe/more.com and runs the stealer in memory; the stealer reads browser/wallet/CLI secrets, stages to System.txt, and exfiltrates over HTTPS with the TeslaBrowser/5.5 UA.
| Step | Behavior | Telemetry | Hunt Angle |
|---|---|---|---|
| 1 · Lure | Fake CAPTCHA / browser-update / cracked-software ad → paste-and-run | RunMRU / clipboard; proxy | N1; N4 |
| 2 · Initial exec | mshta/powershell spawned by a browser/Explorer; IEX downloads next stage | ProcessRollup2 | Q1 / Q2 |
| 3 · Loader | HijackLoader/Legion/PrivateLoader stages the stealer | ProcessRollup2 | Q2 |
| 4 · Injection | Process hollowing into OpenWith.exe / more.com | ProcessRollup2 | Q3 |
| 5 · Collection | Browser creds/cookies (ABE bypass via --remote-debugging-port), wallets, CLI tokens; stage to System.txt | process cmdline; file write | Q4 / Q5 |
| 6 · Exfil | HTTPS POST, UA TeslaBrowser/5.5, to DROP-listed ASNs | NetworkConnectIP4; proxy | Q6; N3 |
Affected surface & telemetry
| Surface | Required Telemetry | Priority | Gap Risk |
|---|---|---|---|
| Windows user endpoints | Process lineage + command line (ProcessRollup2) | Critical | Low — standard sensor |
| Browser credential stores | Process cmdline (--remote-debugging-port); file read | High | Medium — file-read weak; cmdline reliable |
| ClickFix lure | RunMRU registry; proxy/SWG | Medium | Medium — needs registry/proxy logging |
| C2 egress | NetworkConnectIP4; proxy UA logging | High | Medium — UA visible only at proxy/TLS-inspect |
Consolidated IOC Table
| Type | Value | Conf | Action | Context |
|---|---|---|---|---|
| User-Agent | TeslaBrowser/5.5 | high | detect | Distinctive C2 exfil UA (HTTP POST) |
| Behavior | browser/Explorer → mshta|powershell with iex + http (ClickFix) | high | detect | Paste-and-run initial execution |
| Behavior | process hollowing into OpenWith.exe / more.com | high | detect | In-memory stealer injection target |
| Behavior | chrome.exe --remote-debugging-port (ABE bypass) | medium | hunt | Cookie/credential theft technique |
| Domain | goatstuff.store (example stager) | low | hunt | Perishable stager domain — enrich/pivot |
ATT&CK Mapping
| Tactic | Technique | Observed Behavior | Query / Control |
|---|---|---|---|
| Initial Access / Execution | T1566 / T1204.004 — Phishing / Malicious Copy-Paste | ClickFix fake-CAPTCHA paste-and-run | Q1; N1, N4 |
| Execution | T1059.001 — PowerShell (IEX download) | powershell iex + http one-liner | Q2 |
| Defense Evasion | T1218.005 — Mshta | mshta retrieves PowerShell payload from C2 | Q1 |
| Defense Evasion | T1055.012 — Process Hollowing | Injection into OpenWith.exe / more.com | Q3 |
| Credential Access | T1555.003 / T1539 — Browser creds / session cookies | ABE bypass via --remote-debugging-port | Q4 |
| Collection | T1005 / T1074.001 — Local data / staging | Wallets, CLI tokens; stage to System.txt | Q5 |
| Command & Control / Exfil | T1071.001 / T1041 — Web C2 / exfil over C2 | HTTPS POST, UA TeslaBrowser/5.5 | Q6; N3 |
Native Audit-Log Hunts
| Hunt | Source | Logic | Response |
|---|---|---|---|
| N1 · RunMRU paste-and-run | Registry ...\Explorer\RunMRU | Recent Run-dialog entries containing powershell/mshta/iex/curl (ClickFix artifact) | Confirm lure; pull the command; sweep host |
| N2 · PowerShell script-block | EID 4104 (Script Block Logging) | Deobfuscated blocks with iex + http + DownloadString/DownloadData | Extract C2; block; investigate |
| N3 · TeslaBrowser/5.5 egress | Proxy / SWG / TLS inspection | HTTP(S) POST with User-Agent TeslaBrowser/5.5, or connections to DROP-listed ASNs | Block; identify the source process/host |
| N4 · Fake-CAPTCHA landing | Proxy / DNS | Users reaching fake-verification/browser-update pages immediately before a paste-and-run | Block domains; warn users |
CrowdStrike LogScale CQL Hunt Queries
SyntheticProcessRollup2. The ClickFix and hollowing detections (Q1/Q3) generalize across stealers, not just Lumma — strong keepers regardless of Lumma's current volume.Looks for: mshta/PowerShell parented by a browser or Explorer, with iex+http in the command line. Accomplishes: catches the paste-and-run initial execution — the highest-fidelity ClickFix signal.
// HUNT: ClickFix paste-and-run (browser/Explorer -> mshta|powershell with iex+http) // MITRE: T1204.004, T1059.001, T1218.005 | CONF: high FP: low COST: low // FP NOTES: browsers/Explorer do not normally spawn mshta/powershell running iex+http #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | ParentBaseFileName=/^(explorer|chrome|msedge|firefox|brave|opera|iexplore)\.exe$/i | FileName=/^(mshta|powershell|pwsh|cmd)\.exe$/i | CommandLine=/(iex|invoke-expression|mshta\s+http|DownloadString|DownloadData|FromBase64String|-enc(odedcommand)?\b).*?(http|\.store|\.shop|\.top)/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine], limit=200)
Looks for: PowerShell command lines combining iex and an HTTP download. Accomplishes: the Red Canary loader analytic. FP: some admin/package tooling — exclude sanctioned package managers; pair with Q1 parent.
// HUNT: PowerShell invoke-expression + HTTP download (stealer loader) // MITRE: T1059.001 | CONF: medium FP: medium COST: low // TUNING: exclude legitimate package managers (choco/winget/scoop); pair with Q1 parent #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(powershell|pwsh)\.exe$/i | CommandLine=/(iex|invoke-expression|\.invoke)/i | CommandLine=/http/i | CommandLine!=/(chocolatey|winget|scoop|PSGallery|Install-Module)/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: OpenWith.exe / more.com spawned by mshta/powershell/a loader, or making network connections. Accomplishes: catches the in-memory stealer injection. FP: legit more.com in pipelines — flag anomalous parent / network.
// HUNT: Stealer hollowing into OpenWith.exe / more.com // MITRE: T1055.012 | CONF: high FP: low-med COST: low // TUNING: legit more.com runs in pipelines with conhost parent; flag mshta/powershell/loader parent #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(OpenWith\.exe|more\.com)$/i | ParentBaseFileName=/^(mshta|powershell|pwsh|cmd|wscript|cscript|rundll32|regsvr32)\.exe$/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, SHA256HashData], limit=200)
Looks for: a Chromium browser launched with --remote-debugging-port by a non-user/non-shortcut parent. Accomplishes: the cookie/credential ABE-bypass technique. FP: developers/automation use this — exclude sanctioned, flag unusual parents.
// HUNT: Chromium --remote-debugging-port cookie/credential theft (ABE bypass) // MITRE: T1555.003, T1539 | CONF: med-high FP: medium COST: low // TUNING: exclude dev/automation; flag launches parented by mshta/powershell/script hosts #event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/ | FileName=/^(chrome|msedge|brave|opera)\.exe$/i | CommandLine=/--remote-debugging-port|--remote-debugging-pipe|--headless.*--user-data-dir/i | table([@timestamp, ComputerName, UserName, ParentBaseFileName, CommandLine], limit=200)
Looks for: creation of System.txt in user temp/profile (the documented staging file). Accomplishes: surfaces collection-staging before exfil. FP: generic filename — correlate with Q1/Q3 on the same host.
// HUNT: Lumma System.txt credential staging // MITRE: T1074.001 | CONF: medium FP: medium COST: low // TUNING: generic name; correlate with Q1/Q3 hits on same aid/time #event_simpleName=/NewExecutableWritten|FileWritten/ | TargetFileName=/\\(Temp|AppData)\\.*\\System\.txt$/i | table([@timestamp, ComputerName, UserName, ContextBaseFileName, TargetFileName], limit=200)
Looks for: the TeslaBrowser/5.5 user agent in ingested proxy/HTTP telemetry. Accomplishes: high-fidelity C2 exfil signal. FP: none — the UA is unique to Lumma. Requires proxy/HTTP-header ingestion (not raw EDR netflow).
// HUNT: Lumma C2 exfil — TeslaBrowser/5.5 user agent // MITRE: T1071.001, T1041 | CONF: high FP: low COST: med // REQUIRES: proxy/SWG or HTTP-header telemetry ingested into NG-SIEM (field name varies) HttpUserAgent=/TeslaBrowser\/5\.5/i | table([@timestamp, ComputerName, aid, HttpUserAgent, DomainName, RemoteAddressIP4], limit=200)
CrowdStrike Custom IOA Recommendations
| IOA Name | Field Patterns | Benign Exclusions | Deployment Path |
|---|---|---|---|
| Lumma — ClickFix browser→mshta/PS iex+http | Parent *\chrome.exe/msedge.exe/explorer.exe; Child mshta/powershell.exe; CmdLine iex+http | None expected — promote Detect+Block | Endpoint Security → Custom IOA → Process Creation |
| Lumma — hollowing into OpenWith/more.com | Image *\OpenWith.exe/more.com; Parent mshta/powershell/loader | Legit more.com with conhost parent (excluded) | Custom IOA → Process Creation |
Machine-Readable IOC Appendix
Grouped IOC Quick-Copy
One-click blocks for Falcon IOC Management, proxy rules, and detection. C2 atoms rotate fast — behavior + the TeslaBrowser/5.5 UA are durable.
type,value,action,severity,expiration,description,tags domain,goatstuff.store,detect,medium,2026-08-12,Lumma stager domain (perishable),campaign:LummaC2 domain,REPLACE_WITH_CURRENT_C2,detect,high,2026-08-12,Lumma C2 (rotate frequently),campaign:LummaC2 sha256,REPLACE_WITH_LOADER_SHA256,prevent,critical,2027-06-12,Lumma loader/payload,campaign:LummaC2
chrome/msedge/explorer.exe spawns mshta/powershell running iex + http (ClickFix paste-and-run) PowerShell iex + DownloadString/DownloadData/-enc + http (loader stage) Process hollowing into OpenWith.exe or more.com (parent = mshta/powershell/loader) chrome.exe --remote-debugging-port (Chromium App-Bound Encryption cookie bypass) System.txt created in %TEMP%/%AppData% then archived (credential staging) HTTP(S) POST with User-Agent TeslaBrowser/5.5 (C2 exfil) RunMRU registry entries containing powershell/mshta/iex (ClickFix artifact)
TeslaBrowser/5.5 # distinctive C2 exfil User-Agent HijackLoader / IDAT # paired loader Legion Loader # paired loader PrivateLoader # paired loader PureCrypter / CypherIT # crypters # Post-takedown C2 hosting ASNs (Spamhaus DROP): AEZA-AS, AS-VD, CHSN-AS, # PROSPERO-AS, PROTON66, ROUTERHOSTING, ZHOUYISAT — alert on egress to these
# Cut the ClickFix chain at the endpoint: ASR D3E037E1-3EB8-44C8-A917-57927947596D # Block JS/VBScript launching downloaded executables Block mshta.exe via WDAC/AppLocker # HTA rarely needed PowerShell Constrained Language Mode + ScriptBlock logging (4104) GPO: disable/monitor the Run dialog (RunMRU) for paste-and-run lures Browser: enforce App-Bound Encryption; block --remote-debugging-port via policy Proxy: block/alert User-Agent TeslaBrowser/5.5 and Spamhaus DROP ASNs
Hardening — Tiered & Deployable
The cheapest win is breaking the ClickFix paste-and-run chain before the loader runs.
- ASR: Block JS/VBScript launching downloaded executables — M1042 (ID
D3E037E1-3EB8-44C8-A917-57927947596D). Plus block executable content from email/webmail. - Block
mshta.exevia WDAC/AppLocker — M1038. HTA is rarely needed and is the first ClickFix stage. - PowerShell Constrained Language Mode + Script-Block logging (4104) + AMSI — M1038 / M1040 / M1049. Neuters the
iex+http one-liner and feeds Q2/N2. - Proxy: block User-Agent
TeslaBrowser/5.5+ Spamhaus DROP ASNs — M1037. Cuts C2 exfil.
- Enforce Chromium App-Bound Encryption; block
--remote-debugging-portvia policy — M1027 / M1042. Defeats the cookie-theft bypass (Q4). - Disable/monitor the Run dialog & clipboard paste-execution — M1038 / M1024. Removes the paste-and-run UX; alert on RunMRU (N1).
- Phishing-resistant MFA + revoke stolen sessions fast — M1032. Limits value of stolen cookies/tokens.
- Application allowlisting (WDAC/AppLocker) enterprise-wide — M1038. Blocks unsigned loaders.
- Block cracked-software / unsanctioned download sources; web-category filtering — M1021. Cuts the primary delivery vehicles.
- User training on fake-CAPTCHA / "paste this to verify" lures — M1017. The whole chain needs the user to paste-and-run.
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Network-contain the host in Falcon; preserve memory if possible (stealer runs in-memory) | SOC L2 | Containment timestamp; Q1/Q3 event |
| Triage | Pull the ClickFix command (RunMRU/N1/4104), the loader → OpenWith/more.com tree, and System.txt; enumerate which browsers/wallets/CLI tools were present | SOC L2 | Process tree; staging file; secret inventory |
| Eradicate | Kill the hollowed process; remove dropped loader + staging; block C2 (UA + ASNs) | IR | Removal log; C2 block |
| Recover | Rotate ALL credentials + session cookies stored in browsers on the host; reset crypto-wallet seeds if present; reset cloud-CLI/VPN/FileZilla creds | IR + IT | Cred + cookie rotation log |
| Harden | Push §10 ASR/AppLocker/PowerShell controls; promote Q1/Q3 IOAs; proxy-block TeslaBrowser/5.5 | Detection Eng | Control status; IOA enabled |
Detection Coverage Map & Validation
| Technique | Behavior | CQL | Native | Coverage |
|---|---|---|---|---|
| T1204.004 / T1059.001 | ClickFix paste-and-run | Q1, Q2 | N1, N2 | Good |
| T1055.012 | Hollowing into OpenWith/more.com | Q3 | — | Good |
| T1555.003 / T1539 | Browser cookie/credential theft | Q4 | — | Partial cmdline reliable, file-read weak |
| T1074.001 | Credential staging (System.txt) | Q5 | — | Partial generic name — correlate |
| T1071.001 / T1041 | TeslaBrowser/5.5 C2 exfil | Q6 | N3 | Partial needs proxy/UA telemetry |
| T1566 | Fake-CAPTCHA lure delivery | — | N4 | GAP proxy/web-filtering primary |
Validation gates: (1) confirm ProcessRollup2 w/ command line fleet-wide + proxy/UA ingestion for Q6/N3; (2) baseline legit more.com and --remote-debugging-port usage; (3) lab-test a benign browser→powershell iex http chain (Q1/Q2) and a benign more.com spawn from powershell (Q3); (4) promote Q1/Q3 to Custom IOA Detect+Block; proxy-block TeslaBrowser/5.5; keep Q4/Q5 as scheduled hunts.
Hunt Summary Ticket
TITLE: Hunt — LummaC2 / Lumma Stealer (ClickFix infostealer)
SEVERITY: High (credential theft) — note: reduced volume since May-2025 takedown
SCOPE: Windows user endpoints; ClickFix delivery is reused across stealers
HYPOTHESIS: Fake-CAPTCHA paste-and-run -> mshta/powershell iex+http -> loader ->
hollow OpenWith.exe/more.com -> steal browser/wallet/CLI secrets ->
stage System.txt -> exfil HTTPS UA TeslaBrowser/5.5.
QUERIES RUN: Q1 ClickFix lineage (IOA) | Q2 PS iex+http | Q3 hollow OpenWith/more.com (IOA) |
Q4 chrome --remote-debugging-port | Q5 System.txt staging | Q6 TeslaBrowser/5.5
+ Native N1-N4 (RunMRU, 4104, proxy UA, fake-CAPTCHA landing)
DO FIRST: Q1, Q3 — escalate any hit; pull the pasted command
FINDINGS: <pending analyst execution>
GAPS: C2 atoms perishable; UA/lure need proxy telemetry
ACTIONS: ASR + block mshta + PowerShell CLM; proxy-block TeslaBrowser/5.5 + DROP ASNs;
promote Q1/Q3; rotate creds/cookies on confirmed hits
OWNER: HuntPack
VERSION: v0.3 - 2026-06-12
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 | Red Canary — LummaC2 Threat Detection | ClickFix chain, hollowing targets, IEX analytic, ABE bypass, status |
| 1 | Netskope — Fake CAPTCHAs · Sophos — coming and going | Fake-CAPTCHA delivery, evasion, takedown/resurgence |
| 1 | FBI/CISA AA25-141b — LummaC2 | TeslaBrowser/5.5 UA, HTTP POST exfil, IOC set |
| 2 | Silent Push — 150+ new C2 IOCs · Microsoft — delivery & capabilities | C2 IOCs, delivery vehicles, ASN diversification |
HuntPack v0.3 · LummaC2 · Generated 2026-06-12 · Defensive use only. C2 infrastructure is highly perishable and Lumma's volume is reduced since the May-2025 takedown — these behavioral detections (ClickFix, hollowing, TeslaBrowser/5.5) generalize across infostealers. Validate field names in your tenant before promoting any query.