Digital Forensics: Investigating a Malicious VPN with Volatility

In this edition of Only Important News, we dive deep into the art and science of memory forensics to reveal the hidden life of a malware incident. The case centers on a Windows machine infected with a stealer that masqueraded as a VPN app.

Welcome back, LegacyWire readers. In this edition of Only Important News, we dive deep into the art and science of memory forensics to reveal the hidden life of a malware incident. The case centers on a Windows machine infected with a stealer that masqueraded as a VPN app. The attacker kept its chatty channels quiet by tunneling through a SOCKS proxy, allowing it to speak to a rogue Command and Control server without tripping network alarms. This is not just a drill—it’s a real-world walkthrough of how Volatility helps investigators recover the truth from a volatile memory snapshot. If you’ve ever wondered what sits behind a quiet memory dump, this piece is for you. The title of this article hints at the core technique, but the real story unfolds in the details you’ll read below.

What Is a NIDS?

Before we dive into memory analysis, it helps to understand the defense landscape. A Network Intrusion Detection System, or NIDS, monitors traffic as it whizzes through an environment and flags patterns that match known attack signatures or abnormal behavior. If a user suddenly clients to a strange IP or transmits unusual data, the NIDS can generate an alert and trigger an incident response workflow. Yet skilled adversaries know how to circumvent these sensors. One favorite trick is to route malicious traffic through a SOCKS proxy. From the network’s perspective, the payload might appear to originate from a trusted intermediary or a legitimate third party, making the bad activity harder to detect at the edge. The VPN disguise in our case is a classic example of how stealthy traffic can slip past conventional defenses.

Memory Analysis

Now that the defensive backdrop is clear, let’s turn to memory analysis—the core of our investigation. Memory forensics lets us peek into the volatile state of a running Windows system, catching wires that static disk imaging cannot pull. It’s the difference between seeing a crime scene and watching the crime in progress. In this case, the pursuit begins with a single memory dump, captured by FTK Imager, which provides the snapshot we will interrogate with Volatility. The entire investigation hinges on how much information memory can reveal about processes, network connections, loaded modules, and injected code. The memory image becomes the sole evidence base, so every finding must be carefully validated and cross-checked against the timeline.

Evidence

The evidence at hand is a memory dump, the kind of artifact that preserves transient states: the exact list of processes in memory, loaded DLLs, active network sockets, and even stolen credentials still resident in RAM. In our case, FTK Imager produced MemoryDump.mem, a compact yet information-dense snapshot. There isn’t a chain of custody in a physical sense, but the integrity of the dump is preserved via hash checks and a documented extraction process. The challenge is immense: we must reconstruct what happened from this single, fragile artifact. Still, memory holds the unique fingerprints that disk-only forensics cannot capture, such as runtime code injections and runtime-derived strings that reveal an attacker’s choices and toolset.

evidence snapshot from memory analysis

Volatility Setup

If you followed the first part of our Volatility guide, you already know how to install Volatility in its own Python 3 environment. The key is to keep the toolkit isolated from your day-to-day workstation so you avoid contaminating the evidence or breaking your test harness. After installation, you activate the virtual environment when you need to run Volatility:

bash$ > source ~/venvs/vol3/bin/activate

activating volatility

Malfind

Volatility’s malfind plugin is a trusted companion in memory investigations. In Volatility 3, malfind analyzes memory regions within processes to highlight suspicious segments that could be injected code or shellcode. Attackers frequently embed malicious payloads inside legitimate processes, and malfind helps surface those injected regions. The volatility project has flagged that this module will be replaced in 2026 by a newer package, windows.malware.malfind, but the current version remains effective and widely used in incident response. Starting from a clean slate, we run malfind like this:

bash$ > vol -f MemoryDump.mem windows.malware.malfind

volatility malfind scan

The malfind output flags suspicious items and often highlights an executable path or a suspicious module. In this particular scan, several traces pointed toward a VPN-related component. One process, in particular, stood out: oneetx.exe. To understand what this process was doing, we need to explore the relationships among processes. We can do that with Volatility’s pslist, which enumerates the processes as they existed in memory, including their parent-child relationships and PIDs.

bash$ > vol -f MemoryDump.mem windows.pslist | grep -E "5896|7540|5704"

volatility pslist listing processes

From the pslist output, we observe that oneetx.exe spawned rundll32.exe, a known technique used by malware to execute code in a stealthy fashion. Rundll32.exe is a legitimate Windows binary designed to load and run DLLs, and criminals leverage this to conceal malicious payloads under the umbrella of normal system behavior. The combination—oneetx.exe calling rundll32.exe—signals a classic injection path where a DLL-based payload can blend seamlessly into routine operations.

With this confirmation of a malicious process, the next step is to extract the payload directly from memory for deeper analysis. This is where dumpfile enters the scene again, armed with the process ID to isolate the executable in question.

Analyzing the Malware

To obtain the actual executable from memory, we leverage Volatility’s dumpfile support, targeting the identified process ID. This yields a memory-to-disk extraction that lets analysts study the payload in an isolated environment, free from the constraints of live execution. The command mirrors the approach used in many incident response playbooks:

bash$ > vol -f MemoryDump.mem windows.dumpfile --pid 5896

dumping the malware from memory

Dumping the malware from memory is not a one-click act. Analysts validate the payload’s integrity by hashing the extracted file and comparing it to any known IoCs or vendor-provided hashes, if available. Once the payload sits on disk, you can perform static analysis (strings, entropy checks, header inspection) and dynamic analysis (sandbox execution, behavior tracing) in tightly controlled environments. The value of this step lies in exposing how the malware operates—where it calls home, which libraries it relies on, and what data it seeks to exfiltrate.

In our scenario, the extracted payload revealed a pattern consistent with a VPN-app masquerade: a legitimate-sounding tool with a hidden backend for credential harvesting and data exfiltration. The legitimate disguise masks a more troubling reality—that the VPN frontend is a facade for a stealer communicating with a clandestine C2 server. The technique underscores the danger of trusting software simply because it presents a familiar surface. The malware uses standard Windows network APIs to create sockets, but the traffic is wrapped through a SOCKS proxy to obfuscate origin and destination. This is the kind of deception that a well-tuned memory analysis can unmask, step by step.

Tracing the Infection Chain

Memory forensics is not just about identifying a single malicious process; it’s about reconstructing the entire attack chain—the sequence of events from initial access to data exfiltration and discovery. In this case, the chain began with a covert VPN process that appeared legitimate to casual monitoring. The malware leveraged rundll32 to execute a DLL payload, which then opened a persistent channel to a C2 server via a SOCKS proxy. The absence of conspicuous disk artifacts doesn’t imply there was no intrusion; memory carried the footprint—routines, strings, and call patterns—that reveal the attacker’s blueprint.

Indicators of Compromise (IoCs)

  • Suspicious process: oneetx.exe, with child process rundll32.exe
  • Loaded modules and DLL injection artifacts visible in memory regions flagged by malfind
  • Network indicators showing connections routed through a SOCKS proxy port, often 1080 or a nonstandard port
  • Executable path hints tied to VPN-related components that are actually malicious
  • Memory-resident payloads without corresponding on-disk counterparts

IoCs derived from memory tend to be volatile but highly actionable in an incident response playbook. Analysts document these artifacts, assign confidence levels, and share them with security teams to block or monitor the associated TTPs (tactics, techniques, and procedures). The combined weight of these IoCs strengthens the case for containment and eradication, while also guiding future hardening efforts.

Timeline Reconstruction and Forensic Confidence

A crucial aspect of E-E-A-T in digital forensics is presenting a credible, well-structured narrative. A memory-driven timeline helps responders see how the intrusion unfolded, even when disk-based evidence is sparse. We piece together the sequence: when the VPN masquerade loaded, when malfind first highlighted injected regions, when oneetx.exe spawned rundll32, and when the payload was dumped for offline analysis. Each step carries a likelihood value, reflecting how strongly the artifact supports a given event. Presenting this timeline with transparent caveats and cross-references to the extracted payload, process trees, and network artifacts builds trust and helps readers understand not only what happened, but how we know it happened the way we say it did.

In practice, reconstructing a robust timeline involves cross-validating the memory-derived events with additional sources: logs from the host, endpoint security alerts, and any available network metadata. The absence of a disk artifact does not undermine credibility if memory artifacts are corroborated by independent evidence. That is the essence of rigorous incident analysis: a cohesive story built on multiple lines of evidence that align across time and space.

Practical Takeaways for Defenders

  1. Prioritize memory forensics in incidents where malware uses living memory to hide or where disk artifacts are insufficient. Volatility remains a powerful, accessible tool for uncovering stealthy activity.
  2. Maintain a clean, isolated Volatility environment to avoid contamination of evidence. A dedicated lab with validated memory images ensures the integrity of your investigations.
  3. Keep an eye on DLL injection patterns and process masquerading. Malfind’s focus on suspicious memory regions is essential, especially when attackers leverage legitimate tools like rundll32.exe to execute malicious payloads.
  4. Correlate volatility findings with NIDS and EDR telemetry. While SOCKS-proxy-based C2 channels can evade some network sensors, a multi-layered approach often reveals inconsistencies worth pursuing.
  5. Assign IoCs with clear confidence levels and document the rationale. A transparent chain of reasoning improves the actionability of your findings for the incident response team and leadership.

The case also underscores the importance of user education and supply-chain vigilance. VPN masquerades rarely appear out of the blue; they often ride in on a wave of social engineering, mislabeled software, or compromised update mechanisms. Strengthening software validation, enforcing least-privilege permissions, and adopting robust application whitelisting can reduce the chance that a VPN-like trick yields access to sensitive data.

Temporal Context, Statistics, and Pros/Cons

In 2024, security researchers observed a rise in memory-resident malware families that use loader DLLs and legitimate Windows tools to evade disk-based detection. While the overall number of incidents varies by sector, the pattern remains consistent: memory-based malware imposes a higher cognitive load on defenders, because it can hide in plain sight for extended periods. In our case, the SOCKS proxy bit is particularly important. Analysts estimate that proxy-based C2 channels reduce the rate of detection by traditional network sensors by a meaningful margin, especially when encrypted traffic or obfuscated handshakes are involved. The advantage for attackers is clear: memory-based evidence often becomes the difference-maker in a post-mortem analysis that convinces stakeholders of a breach and justifies remediation steps.

Pros of memory forensics in this context include:

  • Direct access to runtime code, loaded drivers, and in-memory payloads
  • Ability to identify stealth techniques like DLL injection and process hollowing
  • Disentangling legitimate system tools from malicious use, such as rundll32.exe

Cons to keep in mind:

  • Memory dumps are volatile and can be incomplete if memory content has been overwritten
  • Analysis requires expertise and careful interpretation to avoid misidentifying benign activity as malicious
  • Live memory is sensitive; mishandling can risk data integrity or privacy if not conducted under proper authorization

Despite these caveats, memory forensics remains an indispensable tool for modern incident response. When used correctly, it exposes the hidden lifeblood of an attack—the data residing in RAM that drives the behavior we see on the screen and on the network.

Conclusion

The journey from a quiet victim host to a fully reconstructed attack narrative is a testament to the power of Volatility and disciplined analysis. In this case, a VPN masquerade and a SOCKS proxy enabled a stealthy data exfiltration routine that stayed under the radar of basic monitoring. By combining malfind, pslist, and dumpfile, investigators peeled back the layers of deception, traced the malware’s injection technique through rundll32, and captured the payload for deeper study. The tale isn’t just about one malicious process; it’s about a method—embedding stealth within the normal flow of Windows operations and using memory as the primary reservoir of truth. For defenders, the lesson is clear: invest in memory-focused workflows, maintain clean tooling, and align network and host indicators to outpace attackers who rely on concealment to stay alive in your environment. The title of this article hints at the core method, but the real insight lives in the details—how memory artifacts translate to actionable defenses and a safer digital landscape for readers of LegacyWire.

FAQ

What is Volatility, and why is it valuable in this case?
Volatility is an open-source memory forensics framework that analyzes volatile RAM to reveal running processes, injected code, open handles, and network activity. It’s invaluable when disk evidence is sparse or when attackers hide in memory, as in the VPN masquerade case.

How does a SOCKS proxy help malware hide its C2 communications?
A SOCKS proxy routes traffic through an intermediary, making it appear as though the client is talking to a trusted host rather than the attacker’s real C2 server. Network monitoring may miss or misinterpret such traffic, especially if encryption and proxying obscure payloads.

What’s the difference between Volatility 2 and Volatility 3?
Volatility 3 introduced a more modular, Python-based architecture and updated plugins, including improved memory parsers for modern Windows versions. Some plugins may be renamed (for example, the upcoming windows.malware.malfind) as the toolkit evolves, but the core analytics remain hand-in-hand with incident response workflows.

Why is rundll32.exe usage a red flag in memory analysis?
Rundll32.exe is a legitimate utility, but attackers abuse it to execute DLL payloads within trusted processes. Seeing rundll32.exe launching unfamiliar DLLs or loading code from unusual paths is a strong indicator of injection activity.

What are IoCs in memory forensics, and how should I use them?
IoCs—indicators of compromise—are artifacts that signal a breach, such as suspicious process names (like oneetx.exe), loaded modules, unusual network destinations, or memory-resident payloads. They guide containment, eradication, and the future hardening of defenses.

Can memory forensics help with ongoing incidents, or is it only post-mortem?
Memory forensics is valuable during active incidents and for post-mortem analyses. It helps identify living threats, track lateral movement, and inform remediation strategies while the attacker is still present or recently active.

What steps can organizations take to prevent VPN masquerade malware?
Key steps include application whitelisting, strict control of DLL loading, reduced use of administrative privileges, enhanced monitoring for anomalous VPN-like services, and a layered defense embracing both endpoint and network telemetry. Regular memory-based hunting and red-teaming exercises further strengthen resilience.

Final note: the world of digital forensics is as much about storytelling as it is about data. The memory dump is a dramatic protagonist, and Volatility provides the lens through which we interpret its actions. In LegacyWire’s pursuit of truth, we’ll continue to present these cases with precision, context, and the practical guidance security teams need to defend their networks against cunning, memory-resident threats.

More Reading

Post navigation

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

If you like this post you might also like these

back to top