Conducting Memory Forensics With Volatility
Overview
Cybersecurity skill for conducting memory forensics with volatility. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"conducting memory forensics with volatility"
"Performs memory forensics analysis using Volatility 3 to extract evidence of mal"
An endpoint has been contained during an active incident and volatile evidence must be preserved
EDR alerts suggest process injection or fileless malware that only exists in memory
Encryption keys need to be recovered from a ransomware-infected system before shutdown
Credential theft (Mimikatz, LSASS dumping) is suspected and evidence must be confirmed
A rootkit or kernel-level compromise is suspected and disk-based analysis is insufficient
Do not use for analyzing disk images or file system artifacts; use disk forensics tools (Autopsy, FTK) for those tasks.
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Memory acquisition tool deployed or available: WinPmem, Magnet RAM Capture, DumpIt, or AVML (Linux)
- Volatility 3 installed with Python 3.8+ and required symbol tables
- Sufficient storage for memory dumps (equal to system RAM size, typically 8-64 GB)
- YARA rules for malware detection in memory (Florian Roth's signature-base, custom rules)
- Reference baseline of normal processes and DLLs for the OS version being analyzed
- Chain of custody documentation for evidence handling
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Scope the Analysis — Define what memory forensics artifacts or data sources to examine and the investigation timeline.
- Preserve Evidence — Create forensic copies of relevant data. Maintain chain of custody documentation.
- Extract Key Indicators — Use volatility to parse and extract relevant memory forensics data points from collected artifacts.
- Correlate Findings — Cross-reference extracted data with other sources (threat intel, logs, timelines).
- Build Timeline — Construct a chronological sequence of events related to memory forensics.
- Document Analysis — Write findings report with evidence, conclusions, and recommendations.
Tools
- volatility — Primary tool for this skill
- Forensic Toolkit — Evidence collection and analysis
- Timeline Tools — Chronological event reconstruction
- Log Analysis Platform — Centralized log parsing and search
Process
- Reconnaissance — Gather target information, identify attack surface, enumerate services
- Analysis/Exploitation — Execute the technique, analyze results, document findings
- Reporting — Document IOCs, write findings, provide remediation recommendations
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: conducting-memory-forensics-with-volatility3description: Use when performing memory forensics analysis using Volatility 3 to extract evidence of malware execution, process injection, network connections, and credential theft from RAM dumps captured during incident response. Covers memory acquisition, process analysis, DLL inspection, and malware detection. Activates for requests involving memory forensics, RAM analysis, Volatility framework, memory dump investigation, volatile evidence analysis, or live memory acquisition.4license: Apache-2.05---67# Conducting Memory Forensics With Volatility89## Overview1011Cybersecurity skill for conducting memory forensics with volatility. Follows industry best practices and security standards.1213## When to Use14**Trigger phrases:**15- "conducting memory forensics with volatility"16- "Performs memory forensics analysis using Volatility 3 to extract evidence of mal"171819- An endpoint has been contained during an active incident and volatile evidence must be preserved20- EDR alerts suggest process injection or fileless malware that only exists in memory21- Encryption keys need to be recovered from a ransomware-infected system before shutdown22- Credential theft (Mimikatz, LSASS dumping) is suspected and evidence must be confirmed23- A rootkit or kernel-level compromise is suspected and disk-based analysis is insufficient2425**Do not use** for analyzing disk images or file system artifacts; use disk forensics tools (Autopsy, FTK) for those tasks.262728## When NOT to Use2930- When you lack proper authorization for testing31- For production systems without change management32- When the task requires legal or compliance expertise beyond technical scope333435## Prerequisites3637- Memory acquisition tool deployed or available: WinPmem, Magnet RAM Capture, DumpIt, or AVML (Linux)38- Volatility 3 installed with Python 3.8+ and required symbol tables39- Sufficient storage for memory dumps (equal to system RAM size, typically 8-64 GB)40- YARA rules for malware detection in memory (Florian Roth's signature-base, custom rules)41- Reference baseline of normal processes and DLLs for the OS version being analyzed42- Chain of custody documentation for evidence handling4344## Workflow4546```python47# Example: IOC detection48import re4950IOC_PATTERNS = {51 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",52 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",53 "hash_md5": r"\b[a-f0-9]{32}\b",54 "hash_sha256": r"\b[a-f0-9]{64}\b",55}5657def extract_iocs(text: str) -> dict:58 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}59```60611. **Scope the Analysis** — Define what memory forensics artifacts or data sources to examine and the investigation timeline.622. **Preserve Evidence** — Create forensic copies of relevant data. Maintain chain of custody documentation.633. **Extract Key Indicators** — Use volatility to parse and extract relevant memory forensics data points from collected artifacts.644. **Correlate Findings** — Cross-reference extracted data with other sources (threat intel, logs, timelines).655. **Build Timeline** — Construct a chronological sequence of events related to memory forensics.666. **Document Analysis** — Write findings report with evidence, conclusions, and recommendations.6768## Tools6970- **volatility** — Primary tool for this skill71- **Forensic Toolkit** — Evidence collection and analysis72- **Timeline Tools** — Chronological event reconstruction73- **Log Analysis Platform** — Centralized log parsing and search747576## Process77781. **Reconnaissance** — Gather target information, identify attack surface, enumerate services791. **Analysis/Exploitation** — Execute the technique, analyze results, document findings801. **Reporting** — Document IOCs, write findings, provide remediation recommendations8182## Verification8384- [ ] All memory forensics procedures executed completely and documented85- [ ] Findings validated against multiple data sources86- [ ] False positives identified and filtered87- [ ] Results documented with evidence and timestamps88- [ ] Recommendations provided with risk-based prioritization8990## Anti-Rationalization Table9192| Rationalization | Reality |93|---|---|94| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |95| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |96| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |