analyzing-memory-dumps-with-volatility
Analyzes RAM memory dumps from compromised systems using the Volatility framework to identify malicious processes, injected code, network connections, loaded modules, and extracted credentials. Supports Windows, Linux, and macOS memory forensics. Activates for requests involving memory forensics, RA
By mukul975 · 357 installs
npx skills add mukul975/anthropic-cybersecurity-skills --skill analyzing-memory-dumps-with-volatility
Source repository · Upstream listing
Analyzing Memory Dumps with Volatility
When to Use
A compromised system's RAM has been captured and needs forensic analysis for malware artifacts
Detecting fileless malware that exists only in memory without persistent disk artifacts
Extracting encryption keys, passwords, or decrypted configuration from process memory
Identifying process injection, DLL injection, or process hollowing in a compromised system
Analyzing rootkit activity that hides from standard disk based forensic tools
Do not use for disk image analysis; use Autopsy, FTK, or Sleuth Kit for disk forensics.
Prerequisites
Volatility 3 installed ( pip install volatility3 ) with symbol tables for target OS
Memory dump file acquired from the target system (using WinPmem, LiME, or DumpIt)
Knowledge of the source OS version for correct profile/symbol selection
Sufficient disk space (memory dumps can be 4 64 GB)
YARA rules for scanning memory for known malware signatures
Strings utility for extracting readable strings from memory regions
Workflow
Step 1: Identify the Memory Dump Profile
Determine the operating system and version from the memory dump:
Step 2: Enumerate Running Processes
List all processes and identify suspicious entries:
Step 3: Detect Malicious Code Injection
Scan for injected code and process hollowing:
Step 4: Analyze Network Connections
Extract active and closed network connections:
Step 5: Extract Artifacts and Credentials
Recover sensitive data from memory:
Step 6: Scan Memory with YARA Rules
Apply YARA signatures to detect known malware in memory:
Step 7: Timeline and Report Generation
Create an analysis timeline and compile findings:
Key Concepts
Term Definition
Memory Forensics Analysis of volatile memory (RAM) contents to identify running processes, network connections, and in memory artifacts that may not exist on disk
Process Hollowing Malware technique of creating a legitimate process in suspended state, replacing its memory with malicious code, then resuming execution
Malfind Volatility plugin detecting injected code by identifying memory regions with executable permissions and PE headers in non image VADs
VAD (Virtual Address Descriptor) Windows kernel structure tracking memory regions allocated to a process; anomalies in VADs indicate injection or hollowing
EPROCESS Windows kernel structure representing a process; rootkits unlink EPROCESS entries to hide processes from standard tools
Pool Tag Scanning Memory forensics technique scanning for kernel object pool tags to find objects (processes, files, connections) even when unlinked
Fileless Malware Malware that operates entirely in memory without creating files on disk; only detectable through memory forensics
Tools & Systems
Volatility 3 : Open source memory forensics framework supporting Windows, Linux, and macOS memory analysis with plugin architecture
WinPmem : Memory acquisition tool for Windows systems that creates raw memory dumps for offline analysis
LiME (Linux Memory Extractor) : Loadable kernel module for capturing Linux system memory dumps
Rekall : Alternative memory forensics framework with some unique analysis capabilities (discontinued but still useful)
MemProcFS : Memory process file system allowing mounting memory dumps as file systems for intuitive analysis
Common Scenarios
Scenario: Detecting Fileless Malware After EDR Alert
Context : EDR detected suspicious PowerShell activity but the threat actor cleaned up disk artifacts. A memory dump was captured before the system was rebooted. The analysis needs to identify the malware, its persistence mechanism, and any lateral movement.
Approach :
1. Run windows.pstree to identify the process chain (which process spawned PowerShell)
2. Run windows.malfind to detect injected code in running processes
3. Dump the suspicious process memory and extract strings for C2 URLs
4. Run windows.netscan to identify network connections from the compromised processes
5. Run windows.cmdline to see what commands PowerShell executed
6. Scan with YARA rules for known malware families in the dumped process memory
7. Extract credentials with hashdump and lsadump to assess lateral movement risk
Pitfalls :
Using the wrong symbol tables for the OS version (causes plugin failures or incorrect results)
Not comparing pslist vs psscan output (missing rootkit hidden processes)
Ignoring legitimate processes that have been injected into (focus on malfind results, not just process names)
Not extracting full process memory before concluding analysis (strings from process dump may reveal additional IOCs)
Output Format