/conducting-memory-forensics-with-volatility
Performs memory forensics analysis using Volatility 3 to extract evidence
$ npx -y skills add mukul975/Anthropic-Cybersecurity-Skills --skill conducting-memory-forensics-with-volatility --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/conducting-memory-forensics-with-volatility
Context preview
The summary Claude sees to decide when to auto-load this skill.
Performs memory forensics analysis using Volatility 3 to extract evidence
SKILL.md
conducting-memory-forensics-with-volatility.SKILL.mdname: conducting-memory-forensics-with-volatility
description: 'Performs 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.
'
domain: cybersecurity
subdomain: incident-response
tags:
- memory-forensics
- volatility
- RAM-analysis
- process-injection
- DFIR
mitre_attack:
- T1055
- T1003.001
- T1014
- T1059.001
- T1620
version: 1.0.0
author: mahipal
license: Apache-2.0
nist_csf:
- RS.MA-01
- RS.MA-02
- RS.AN-03
- RC.RP-01
Conducting Memory Forensics with Volatility
When to Use
- 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.
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
Step 1: Acquire Memory Image
Capture RAM from the target system using a forensically sound method:
**Windows (WinPmem):**
winpmem_mini_x64.exe output.raw
**Windows (Magnet RAM Capture):**
MagnetRAMCapture.exe
# GUI-based, select output path, generates .raw file
**Windows (DumpIt):**
DumpIt.exe
# Creates memory dump in current directory automatically
**Linux (AVML - Acquire Volatile Memory for Linux):**
./avml output.lime
Document acquisition metadata:
Acquisition Record:
━━━━━━━━━━━━━━━━━
Target Host: WKSTN-042
RAM Size: 16 GB
Dump File: WKSTN-042_20251115_1445.raw
Dump Size: 16,843,612,160 bytes
SHA-256: a4b3c2d1e5f6...
Acquisition Tool: WinPmem 4.0
Acquired By: [Analyst Name]
Timestamp: 2025-11-15T14:45:00Z
Step 2: Identify the Operating System and Profile
Volatility 3 automatically identifies the OS, but verify:
# Get system information
vol -f WKSTN-042_20251115_1445.raw windows.info
# Output includes:
# OS: Windows 10 22H2 (Build 19045.3693)
# Kernel Base: 0xf8066c200000
# DTB: 0x1aa000
# Symbols: ntkrnlmp.pdb
Step 3: Analyze Running Processes
Examine the process tree for suspicious activity:
# List all running processes
vol -f memory.raw windows.pslist
# Show process tree (parent-child relationships)
vol -f memory.raw windows.pstree
# Scan for hidden/unlinked processes (rootkit detection)
vol -f memory.raw windows.psscan
# Compare pslist vs psscan to find hidden processes
# Processes in psscan but NOT in pslist may be hidden by rootkits
Key indicators of compromise in process analysis:
- `svchost.exe` running without `-k` parameter or with wrong parent (should be `services.exe`)
- `csrss.exe` or `lsass.exe` with abnormal parent process
- Processes with misspelled names (`scvhost.exe`, `lssas.exe`)
- Unusual processes spawned by `outlook.exe`, `winword.exe`, or `excel.exe`
- Multiple instances of processes that should be singletons (`lsass.exe`, `smss.exe`)
Step 4: Investigate Network Connections
Extract active and recently closed network connections:
# List all network connections
vol -f memory.raw windows.netscan
# Focus output fields:
# Offset Proto LocalAddr LocalPort ForeignAddr ForeignPort State PID Owner
# 0xe10... TCPv4 10.1.5.42 49721 185.220.101.42 443 ESTAB 3847 update.exe
Cross-reference suspicious connections with the process tree to identify C2 communications. Look for:
- Connections to external IPs from unexpected processes
- High port numbers connecting to port 443/80 from non-browser processes
- Connections from `svchost.exe` or system processes to external IPs
Step 5: Detect Process Injection and Malware
Use malfind to identify injected code and memory-resident malware:
# Detect injected code in processes
vol -f memory.raw windows.malfind
# Output shows:
# PID Process Start End Tag Protection Hexdump/Disassembly
# 3847 explorer.exe 0x2a10000 0x2a14000 VadS PAGE_EXECUTE_READWRITE
# MZ header detected - injected PE
# Dump suspicious process memory
vol -f memory.raw windows.memmap --pid 3847 --dump
# List DLLs loaded by a suspicious process
vol -f memory.raw windows.dlllist --pid 3847
# Scan memory with YARA rules
vol -f memory.raw windows.yarascan --yara-file malware_rules.yar
Step 6: Extract Credentials and Artifacts
Recover sensitive data from memory:
# Dump registry hives from memory (for password hash extraction)
vol -f memory.raw windows.registry.hivelist
vol -f memory.raw windows.hashdump
# Extract command line history
vol -f memory.raw windows.cmdline
# List handles (files, registry keys, mutexes)
vol -f memory.raw windows.handles --pid 3847
# Extract clipboard contents
vol -f memory.raw windows.clipboard
# Dump cached files from memory
vol -f memory.raw windows.dumpfiles --pid 3847
Step 7: Generate Forensic Report
Co
Read more
name: conducting-memory-forensics-with-volatility description: 'Performs 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. ' domain: cybersecurity subdomain: incident-response tags: - memory-forensics - volatility - RAM-analysis - process-injection - DFIR mitre_attack: - T1055 - T1003.001 - T1014 - T1059.001 - T1620 version: 1.0.0 author: mahipal license: Apache-2.0 nist_csf: - RS.MA-01 - RS.MA-02 - RS.AN-03 - RC.RP-01
Conducting Memory Forensics with Volatility
When to Use
- 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.
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
Step 1: Acquire Memory Image
Capture RAM from the target system using a forensically sound method:
**Windows (WinPmem):**
winpmem_mini_x64.exe output.raw
**Windows (Magnet RAM Capture):**
MagnetRAMCapture.exe # GUI-based, select output path, generates .raw file
**Windows (DumpIt):**
DumpIt.exe # Creates memory dump in current directory automatically
**Linux (AVML - Acquire Volatile Memory for Linux):**
./avml output.lime
Document acquisition metadata:
Acquisition Record: ━━━━━━━━━━━━━━━━━ Target Host: WKSTN-042 RAM Size: 16 GB Dump File: WKSTN-042_20251115_1445.raw Dump Size: 16,843,612,160 bytes SHA-256: a4b3c2d1e5f6... Acquisition Tool: WinPmem 4.0 Acquired By: [Analyst Name] Timestamp: 2025-11-15T14:45:00Z
Step 2: Identify the Operating System and Profile
Volatility 3 automatically identifies the OS, but verify:
# Get system information vol -f WKSTN-042_20251115_1445.raw windows.info # Output includes: # OS: Windows 10 22H2 (Build 19045.3693) # Kernel Base: 0xf8066c200000 # DTB: 0x1aa000 # Symbols: ntkrnlmp.pdb
Step 3: Analyze Running Processes
Examine the process tree for suspicious activity:
# List all running processes vol -f memory.raw windows.pslist # Show process tree (parent-child relationships) vol -f memory.raw windows.pstree # Scan for hidden/unlinked processes (rootkit detection) vol -f memory.raw windows.psscan # Compare pslist vs psscan to find hidden processes # Processes in psscan but NOT in pslist may be hidden by rootkits
Key indicators of compromise in process analysis:
- `svchost.exe` running without `-k` parameter or with wrong parent (should be `services.exe`)
- `csrss.exe` or `lsass.exe` with abnormal parent process
- Processes with misspelled names (`scvhost.exe`, `lssas.exe`)
- Unusual processes spawned by `outlook.exe`, `winword.exe`, or `excel.exe`
- Multiple instances of processes that should be singletons (`lsass.exe`, `smss.exe`)
Step 4: Investigate Network Connections
Extract active and recently closed network connections:
# List all network connections vol -f memory.raw windows.netscan # Focus output fields: # Offset Proto LocalAddr LocalPort ForeignAddr ForeignPort State PID Owner # 0xe10... TCPv4 10.1.5.42 49721 185.220.101.42 443 ESTAB 3847 update.exe
Cross-reference suspicious connections with the process tree to identify C2 communications. Look for:
- Connections to external IPs from unexpected processes
- High port numbers connecting to port 443/80 from non-browser processes
- Connections from `svchost.exe` or system processes to external IPs
Step 5: Detect Process Injection and Malware
Use malfind to identify injected code and memory-resident malware:
# Detect injected code in processes vol -f memory.raw windows.malfind # Output shows: # PID Process Start End Tag Protection Hexdump/Disassembly # 3847 explorer.exe 0x2a10000 0x2a14000 VadS PAGE_EXECUTE_READWRITE # MZ header detected - injected PE # Dump suspicious process memory vol -f memory.raw windows.memmap --pid 3847 --dump # List DLLs loaded by a suspicious process vol -f memory.raw windows.dlllist --pid 3847 # Scan memory with YARA rules vol -f memory.raw windows.yarascan --yara-file malware_rules.yar
Step 6: Extract Credentials and Artifacts
Recover sensitive data from memory:
# Dump registry hives from memory (for password hash extraction) vol -f memory.raw windows.registry.hivelist vol -f memory.raw windows.hashdump # Extract command line history vol -f memory.raw windows.cmdline # List handles (files, registry keys, mutexes) vol -f memory.raw windows.handles --pid 3847 # Extract clipboard contents vol -f memory.raw windows.clipboard # Dump cached files from memory vol -f memory.raw windows.dumpfiles --pid 3847
Step 7: Generate Forensic Report
Co
817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0
Repo: mukul975/Anthropic-Cybersecurity-Skills
Other skills on cybersecurity-skills.
- /abusing-dpapi-for-credential-access
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket's dpapi.py, including domain-wide decryption via the DPAPI backup key. Use
Open skill - /abusing-shadow-credentials-for-privesc
Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target's NT hash without a password reset. Use when BloodHound shows
Open skill - /achieving-cmmc-level-2-compliance
Prepare a defense-contractor environment for CMMC Level 2 certification: scope CUI and FCI, implement the 110 NIST SP 800-171 Rev 2 security requirements across 14 families, compute the SPRS score with the DoD Assessment Methodology, manage a compliant POA&M, and ready the
Open skill - /acquiring-disk-image-with-dd-and-dcfldd
Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving
Open skill - /analyzing-active-directory-acl-abuse
Detect dangerous ACL misconfigurations in Active Directory using ldap3
Open skill - /analyzing-android-malware-with-apktool
Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and
Open skill

