Lumma Stealer infection analysis (from pcap)
You know that Infostealers play a foundational role in the cybercrime ecosystem because they act as initial access and data collection engines. Instead of going straight for disruption, they quietly harvest credentials, session cookies, browser data, crypto wallets, and system fingerprints from large numbers of machines. This information is then monetized in underground markets, often bundled as “logs” and sold to other actors.
The following diagram is an example of the interaction between Infostealer Actors and Ransomware-as-a-Service operators.
Analyzing Malware from the network perspective is always revealing. It looks like Lumma Stealer is living a second life with some recent breaches, including the Context.ai one.
Let’s walk through a simple exercise: we will examine a Lumma Stealer infection chain and then analyze a corresponding malware PCAP sample (special thanks to malware-traffic-analysis.net). This will allow us to observe its network communication patterns, yes, with a lot of encrypted data, but with enough evidences to make some interesting assumptions
Lumma Stealer execution PCAP Analysis >
At the first stage we have the DNS answer needed to connect to the host possuhb.com, resolved with the public IP address 174.138.43.121
The kind of domain naming reminds me to Domain Generation Algorithms. Adversaries may make use of Domain Generation Algorithms (DGAs) to dynamically identify a destination domain for command and control traffic rather than relying on a list of static IP addresses or domains.
https://attack.mitre.org/techniques/T1568/002/
The data sent to the C2 server is a detailed fingerprint of the infected host, combining system, browser, and environmental information into a single profile. It includes the operating system and full user agent, along with hardware characteristics like CPU cores and input capabilities, giving a baseline of the machine. On top of that, it gathers advanced fingerprinting signals such as WebGL renderer details, a canvas-generated image hash, installed fonts, and browser plugins, all of which help uniquely identify the device. Network conditions like latency and connection type are also reported, together with screen resolution and display properties.
One more great indicator is contained in this HTTP GET /api/set_agent
After that the encrypted party starts again without the ability to look at the payload, but we can make some assumptions just looking at how the session looks like:
On the other side, the server responds with a stream of pure ACK packets (Len=0), where the Ack number steadily increases. That progression shows that the server is successfully receiving chunks of data and acknowledging them in order.
So nothing fancy on the TCP side, but this evidence is enough for me to establish that the malware is exfiltrating, in a second stage, a good amount of data from the client.
2 Key TakeAways
- The Network is your last line of defense. Any cybersecurity solution can be evaded, but you can't remove traces from the network; you can just try to hide in the noise. Understanding signals from the noise is our job.
- Even encrypted packets can reveal meaningful signals. Analyzing malware from a network perspective often requires a solid understanding of the TCP/IP model, but encryption does not equate to invisibility. Even when payloads are protected, the surrounding metadata, such as timing, packet sizes, session patterns, and connection behaviors, can still provide valuable insight into what is happening on the wire.