Lumma Stealer — The Credential Bandit That Won’t Die
Once a low-tier stealer, Lumma evolved into one of 2025’s most persistent credential-harvesting threats. We dissect its infection flow, internal structure, and defense strategies from both blue-team and forensic perspectives.


1. Background
Lumma Stealer surfaced in mid-2022 as a small-scale info-stealer sold through Telegram. Initially dismissed as a RedLine clone, it rapidly matured into a modular, subscription-based platform. By late 2024, Lumma had displaced RedLine and Raccoon v2 as one of the most traded log-theft services across underground markets.
Lumma’s appeal lies in its simplicity: a tiny loader, a single encrypted config, and a robust C2 ecosystem using Telegram bots for instant log delivery. It’s inexpensive, constantly maintained, and integrates natively with underground “log shops” that resell stolen credentials to other actors.
2. Infection Chain Overview
Typical Lumma campaigns follow a multi-stage loader chain:
- Initial lure — malvertising or “software update” pages hosting fake installers.
- Stage 1 dropper — a small .NET or C++ loader obfuscated with Crypto-Obfuscator or ConfuserEx.
- Stage 2 payload retrieval — downloads Lumma’s encrypted binary from Discord CDN, Bitbucket, or a compromised WordPress.
- Execution — payload unpacks in memory, establishes mutex, and begins data enumeration.
- Exfiltration — zipped credential package sent via HTTPS POST to a rotating panel domain or through Telegram API.
Each sample uses a randomized folder and filename, e.g. %AppData%\Roaming\Microsoft\Update\<GUID>\updater.exe.
3. Technical Breakdown
3.1 Core Capabilities
- Browser data theft: Chromium-based browsers (Chrome, Edge, Brave, Opera) — cookies, autofills, history, and password DBs (
Login Data,CookiesSQLite). - Crypto-wallet grabbing: MetaMask, Exodus, Binance Wallet, Atomic, and others via direct file path targeting.
- Session token theft: Discord, Steam, Telegram Desktop, Minecraft launchers.
- System reconnaissance: hostname, OS version, installed AV, timezone, public IP (via
ip-api.com/json). - Screenshot capture: GDI 32 API calls with auto-save to temp folder before exfil.
- Loader functions: capability to fetch secondary payloads (ClipBanker, RATs, or ransomware stagers).
3.2 Persistence & Anti-Analysis
Lumma avoids registry autoruns to remain stealthy. Instead, it employs:
- Scheduled Task creation under random GUID names (visible in
C:\Windows\System32\Tasks). - Shortcut planting in
Startupwith hidden attribute. - Self-deletion routines if running under sandbox artifacts (check for
vboxservice.exe,vmtoolsd.exe,wireshark.exe). - Delayed execution (up to 120 seconds) to bypass quick sandbox detonation.
3.3 Configuration Storage
The binary contains an AES-256-encrypted JSON blob at the end of the file. Config includes:
{
"C2": ["https://cdn-cdn[.]bitbucket[.]org/lumma/panel"],
"TG_BOT": "@lumma_bot_api",
"BUILD_ID": "6.4b-pro",
"MODULES": ["browser","crypto","telegram"]
}
Decryption key is generated from machine-specific hash during build to prevent sample reuse.
4. Network Behavior
- C2 Protocol: simple HTTPS POST with Base64 body containing ZIP archive.
- Domain Fluxing: daily domain rotation pattern derived from date-based seed (
YYYYMMDD.lumma[.]cc). - Beacon: heartbeat every 600 seconds if persistence active.
- Exfil packet signature: requests to
/upload.phpwithUser-Agent: Lumma-Client/<ver>.
A DFIR network trace typically shows the host performing a series of TLS handshakes with unfamiliar CDN endpoints followed by POST bursts ~200–800 KB.
5. Code Traits
- Compiled in C++/Assembly hybrid, occasionally wrapped in .NET stubs.
- Heavy use of string obfuscation with single-byte XOR keys (0x41–0x5F range).
- API hashing using CRC32 tables (same implementation reused across builds > 6.0).
- Memory allocation via
VirtualAllocEx+ shellcode staging for reflective loading.
6. Forensic Indicators
| Artefact | Location | Notes |
|---|---|---|
update.log |
%Temp%\ |
Execution trace, build ID |
| Scheduled Task XML | C:\Windows\System32\Tasks\<GUID> |
Timestamp = infection time |
| Registry Key | HKCU\Software\Lumma |
Config remnant |
| ZIP Package | %AppData%\Local\Temp\<GUID>.zip |
Pre-exfil log set |
| C2 domains | *.lumma[.]cc, cdn-lumma[.]xyz, etc. |
24-hour rotation |
Memory dumps show injected threads in explorer.exe or chrome.exe.
7. Defensive & Detection Strategies
7.1 Endpoint Detection
- YARA rule targeting AES key scheduling + string “
Lumma-Client”. - Monitor
schtasks.exe /createwith random GUID names. - Flag outbound HTTPS POSTs to uncommon TLDs (.cc, .xyz) within 120 seconds of process start.
- Detect credential store access from non-browser processes.
7.2 Network Layer
- TLS inspection or JA3 fingerprints: Lumma uses
ja3 = 72a589da586844d7f0818ce684948eea. - Block Telegram API tokens exfil from endpoints without legitimate use.
7.3 Blue-Team Playbook
- Isolate the host; acquire volatile memory immediately.
- Search for
Lummaartefacts and extract persistence tasks. - Parse logs for initial lure domain.
- Quarantine any Discord/Bitbucket download paths.
- Rotate all harvested credentials (especially crypto-wallets).
- Review outbound Telegram traffic for 24 hours prior.
8. Remediation — For Teams & Users
For Security Teams
- Revoke OAuth sessions, rotate browser-stored passwords.
- Check for scheduled tasks under hidden GUID names.
- Block outbound traffic to known C2 domains and Telegram API IPs.
- Implement endpoint DLP rules preventing browser DB access by untrusted processes.
For Average Users
- Never download “updates” from pop-ups or random sites.
- Use a password manager, not browser autofill.
- Enable MFA for every service.
- Run weekly malware scans with browser cache clearing.
9. Outlook
Lumma Stealer continues to evolve. In 2025, its authors added webhook-based delivery and stealth loader modules compatible with malware as a service (MaaS) frameworks. The constant updates and flexible infrastructure make it the de-facto successor to RedLine.
Lumma isn’t sophisticated by code — it’s effective because it exploits human trust in “legit-looking installers.”
And that’s exactly why it’s not going anywhere.