Memory Forensics
Overview
Memory forensics involves capturing and analyzing the contents of volatile memory (RAM). Unlike disk forensics, memory analysis reveals runtime state — running processes, network connections, loaded modules, encryption keys, and injected code that may never touch disk. Memory forensics is critical for detecting fileless malware, rootkits, and in-memory-only indicators of compromise.
Topics in This Section
- Memory Acquisition — capturing RAM from live systems and virtual machines while preserving volatile evidence
- Volatility Framework — using Volatility 3 for comprehensive memory analysis on Windows and Linux images
- Process Analysis — examining process trees, loaded modules, handles, and command-line arguments
- Memory-Based Malware Hunting — detecting injected code, hollowed processes, rootkits, and suspicious memory regions
General Approach
Incident detected / live system available
│
├── Acquire memory dump
│ ├── Linux: /proc/kcore, LiME, AVML
│ ├── Windows: WinPmem, DumpIt, FTK Imager
│ └── VMs: snapshot + vmem extraction
│
├── Identify OS profile / symbol tables
│ └── vol -f dump.raw windows.info / linux.bash
│
├── Process analysis
│ ├── Process listing (PsList, PsTree, PsScan)
│ ├── DLL and module enumeration
│ ├── Command-line arguments
│ └── Network connections
│
├── Malware hunting
│ ├── Malfind → injected code detection
│ ├── LdrModules → hidden DLLs
│ ├── SSDT / IDT hooks
│ └── YARA scanning in memory
│
└── Extract artifacts (files, registry, credentials)