Skip to main content

Command Palette

Search for a command to run...

You Are the Exploit

How LummaC2 skipped the zero-day and made you the attack vector.

Updated
8 min readView as Markdown
You Are the Exploit
A
Writing about technology, projects, ideas, and everything that sparks my curiosity.

Based on FBI/CISA Joint Advisory AA25-141B

Forget zero-days. LummaC2 doesn't need one. It asks you to press three keys -- and you launch it yourself. This is the anatomy of one of 2025's most active infostealers, seen through a defender's lens.

21,000+

Marketplace log listings in Q2 2024 alone

71.7%

Year-over-year growth in criminal forum listings

2022

First appeared on Russian-language cybercriminal forums

May 2025

Latest confirmed activity (FBI/CISA advisory)

What even is LummaC2?

LummaC2 is a Malware-as-a-Service (MaaS) infostealer -- meaning anyone with enough cryptocurrency and bad intent can rent it. Operators purchase access, configure what to steal, and deploy campaigns at scale without ever writing a line of malware code themselves.

Its power isn't technical sophistication. It's a ruthlessly modular design paired with a social engineering trick so simple it's almost embarrassing: it asks the victim to do all the work.

The ClickFix Attack: Three keystrokes to compromise

The ClickFix technique is the infection vector that made Lumma dominant. Instead of silently exploiting a browser vulnerability, it exploits something much harder to patch: human trust.

1

User searches for software or a service

Attacker-controlled pages rank in search results, sometimes through malvertising or SEO poisoning.

2

User lands on a page with a fake CAPTCHA

Looks completely legitimate. Same reCAPTCHA styling. 'Verify you are human to continue.'

3

Page silently writes a PowerShell command to the clipboard

JavaScript on the page sets the clipboard content invisibly. The user has no idea it's happened.

4

User is instructed: Win+R -> Ctrl+V -> Enter

Opens the Windows Run dialog, pastes the attacker's Base64-encoded command, and executes it. No exploit needed.

5

PowerShell fires, Lumma downloads and installs

A Base64-encoded PowerShell command fetches and launches the LummaC2 payload. The system is now compromised.

DETECTION OPPORTUNITY

Watch for powershell.exe spawning immediately after browser activity or Windows Run dialog usage. This behavior is unusual and can be caught with process-lineage monitoring -- even when the file hash is completely unknown.

From a detection engineering perspective, this is a textbook 'living off the land' technique. No suspicious binaries dropped at rest. No exploit shellcode. Just Windows doing exactly what it was designed to do -- at the attacker's direction.

Inside the malware: six execution stages

Once active, Lumma doesn't spray and pray. It behaves like a well-engineered application, moving through distinct stages with a clean separation between delivery and instruction -- making it adaptable across campaigns.

1

Execute and load

Malware loads into memory. Initial checks and environment setup begin.

2

Decrypt internal strings

Encrypted strings -- domains, API names, paths -- are decrypted at runtime to evade static AV and EDR.

3

Discover active C2

Decrypts a list of C2 domains and sends POST requests until a live server responds. Stores the working domain.

4

Receive configuration

Downloads an encrypted JSON config from C2, parses opcodes, determines what to steal and how.

5

Collect data

Gathers browser data, cookies, passwords, crypto wallets, MFA details, screenshots -- per operator config.

6

Exfiltrate and exit

Compresses and encrypts stolen data, sends it via HTTP POST to C2. Can self-delete to erase evidence.

ANALYST NOTE: THE DEVELOPER FAILSAFE

Lumma checks the victim's username and computer name by hashing them and comparing against two hardcoded values. If they match -- likely the developer's own machine -- the malware terminates immediately. The algorithm is one-way, so analysts cannot reverse it to learn the attacker's own credentials. A deliberate, professional engineering choice.

Why session cookies are worth more than passwords

Most people think credential theft means stealing passwords. Lumma knows better. The real prize in 2025 is the authenticated session cookie.

1

User logs into Microsoft 365

Standard login with valid credentials and MFA challenge completed.

2

Browser stores the session cookie

An authentication token is saved locally in the browser's credential store -- this is the target.

3

Lumma accesses browser storage and steals the cookie

Targets Chromium and Mozilla credential stores silently, without triggering any alert.

4

Attacker imports the stolen cookie into their own browser

No password needed. No MFA challenge triggered. The session is already authenticated.

5

Attacker is now inside the account

Email, files, contacts, calendar, integrations -- all exposed without a single login attempt.

This is why modern phishing-resistant MFA matters. Standard TOTP codes do not protect against session hijacking -- the attacker never needs to authenticate, because the session already is authenticated.

What else can it steal? The opcode menu

Lumma's C2 sends JSON configurations with opcodes that tell it exactly what to do. Think of it as a task list the operator updates per campaign:

Opcode

Behaviour

Opcode 0

Generic file theft -- any path, extension, recursion depth, and file size the operator defines

Opcode 1

Chromium browser data -- history, cookies, passwords, autofill data, and extensions

Opcode 2

Mozilla browser data -- same as above, with a separate handler for Firefox profiles

Opcode 3

Download and execute a remote file -- via LoadLibraryW() or rundll32.exe

"se": true

Take a screenshot in BMP format and upload directly to C2

"ad": true

Self-delete -- wipe the executable and exit, leaving minimal forensic trace

ANALYST NOTE: SERVER-SIDE FLEXIBILITY

Because behavior is configured server-side, no two Lumma infections look the same. One campaign may only steal cookies. Another adds screenshot capability and drops a secondary payload. Traditional signature-based detection fails here entirely -- you need behavioral monitoring, not hash matching.

MITRE ATT&CK mapping

Lumma maps cleanly to documented MITRE techniques -- useful for validating and stress-testing your existing detection coverage:

Technique

Description

T1566

Phishing -- initial delivery via spearphishing links and email attachments

T1027

Obfuscated files -- Base64 encoding of PowerShell commands to evade static analysis

T1036

Masquerading -- hidden inside spoofed or fake popular software packages

T1140

Deobfuscate/decode -- decrypts C2 domains at runtime, not embedded in the binary

T1012

Query registry -- hashes victim username and computer name via GetUserNameW/GetComputerNameW

T1217

Browser information discovery -- targeted collection of browser cookies, passwords, extensions

T1071.001

C2 over web protocols -- HTTP POST requests to dynamically resolved callback servers

T1119

Automated collection -- sweeps crypto wallets, credentials, screenshots, MFA tokens

T1105

Ingress tool transfer -- downloads additional payloads to compromised systems

TA0010

Exfiltration -- compressed, encrypted data sent to attacker-controlled infrastructure

How to actually defend against this

IOCs -- domains, hashes -- are burned the moment they're published. Lumma rotates them constantly. The only durable defense is behavioral. Here's what the FBI and CISA recommend, and why each one works:

Control

Why it works

Application allowlisting

Blocks execution of anything not on an approved list. Catches portable executables that bypass AV -- even heavily obfuscated ones.

Phishing-resistant MFA

Move beyond TOTP. FIDO2/hardware keys cannot be bypassed by a stolen session cookie in the same way SMS or app codes can.

Least privilege + account separation

Standard users shouldn't have registry access or the ability to run arbitrary command-line processes.

Log auditing

Regularly review registry changes and access logs. Lumma leaves footprints -- catch it before exfiltration completes.

Behavioral monitoring

Alert on: powershell.exe spawned by a browser, mshta.exe in unusual chains, processes accessing credential stores then making outbound POST requests.

Network segmentation

DMZ or VPC isolation limits blast radius. Even if Lumma runs, it shouldn't reach sensitive systems without hitting a detection point.

THE DEFENDER'S MINDSET SHIFT

Stop chasing what Lumma looks like. Start watching how it behaves. Domains rotate. Hashes change. But 'a process accessed browser credential storage and immediately initiated external network communication' is a behavioral pattern that persists across every variant -- and that's where your detections need to live.

The bottom line

LummaC2 isn't remarkable because of what it does technically. It's remarkable because it combined social engineering, a modular MaaS architecture, and session cookie theft into a scalable platform that thousands of low-sophistication threat actors can deploy effectively. The ClickFix technique bypasses every perimeter control by simply asking the user to be the exploit. Your EDR can't flag a user pressing Win+R. Your firewall can't block PowerShell that the user themselves launched. The detection surface has shifted -- and defenders still matching IOCs are already behind.

Sources: FBI & CISA Joint Cybersecurity Advisory AA25-141B (May 21, 2025) · Microsoft Threat Intelligence -- Lumma disruption and ecosystem analysis (May 2025) · MITRE ATT&CK Enterprise Framework v17 · ReliaQuest contribution acknowledged in advisory

45 views
M
Manish2mo ago

Have you seen any campaigns combining LummaC2 with fake browser update prompts or Windows Defender update social engineering?