Skip to main content Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/BEKO2210/Firstbrain --skill memory-forensicsThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository
Related occupations SOC
Based on SOC occupation classification
name memory-forensics description Comprehensive techniques for acquiring, analyzing, and extracting artifacts from memory dumps for incident response and malware analysis. type skill created 2026-02-27T00:00:00.000Z domain productivity category developer-experience risk unknown source community tags ["skill","productivity","developer-experience","memory","forensics"]
Memory Forensics
Comprehensive techniques for acquiring, analyzing, and extracting artifacts from memory dumps for incident response and malware analysis.
Use this skill when
Working on memory forensics tasks or workflows
Needing guidance, best practices, or checklists for memory forensics
Do not use this skill when
The task is unrelated to memory forensics
You need a different domain or tool outside this scope
Instructions
Clarify goals, constraints, and required inputs.
Apply relevant best practices and validate outcomes.
Provide actionable steps and verification.
If detailed examples are required, open resources/implementation-playbook.md.
Memory Acquisition
Live Acquisition Tools
Windows
# WinPmem (Recommended)
winpmem_mini_x64.exe memory.raw
# DumpIt
DumpIt.exe
# Belkasoft RAM Capturer
# GUI-based, outputs raw format
# Magnet RAM Capture
# GUI-based, outputs raw format
Linux
sudo insmod lime.ko "path=/tmp/memory.lime format=lime"
sudo dd if =/dev/mem of=memory.raw bs=1M
sudo cp /proc/kcore memory.elf
macOS
sudo ./osxpmem -o memory.raw
Virtual Machine Memory
cp vm.vmem memory.raw
vboxmanage debugvm "VMName" dumpvmcore --filename memory.elf
virsh dump <domain> memory.raw --memory-only
Volatility 3 Framework
Installation and Setup
pip install volatility3
vol -f memory.raw <plugin>
vol -f memory.raw -s /path/to/symbols windows.pslist
Essential Plugins
Process Analysis
vol -f memory.raw windows.pslist
vol -f memory.raw windows.pstree
vol -f memory.raw windows.psscan
vol -f memory.raw windows.memmap --pid <PID> --dump
vol -f memory.raw windows.envars --pid <PID>
vol -f memory.raw windows.cmdline
Network Analysis
vol -f memory.raw windows.netscan
vol -f memory.raw windows.netstat
DLL and Module Analysis
vol -f memory.raw windows.dlllist --pid <PID>
vol -f memory.raw windows.ldrmodules
vol -f memory.raw windows.modules
vol -f memory.raw windows.moddump --pid <PID>
Memory Injection Detection
vol -f memory.raw windows.malfind
vol -f memory.raw windows.vadinfo --pid <PID>
vol -f memory.raw windows.vadyarascan --yara-rules rules.yar
Registry Analysis
vol -f memory.raw windows.registry.hivelist
vol -f memory.raw windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"
vol -f memory.raw windows.registry.hivescan --dump
File System Artifacts
vol -f memory.raw windows.filescan
vol -f memory.raw windows.dumpfiles --pid <PID>
vol -f memory.raw windows.mftscan
Linux Analysis
vol -f memory.raw linux.pslist
vol -f memory.raw linux.pstree
vol -f memory.raw linux.bash
vol -f memory.raw linux.sockstat
vol -f memory.raw linux.lsmod
vol -f memory.raw linux.mount
vol -f memory.raw linux.envars
macOS Analysis
vol -f memory.raw mac.pslist
vol -f memory.raw mac.pstree
vol -f memory.raw mac.netstat
vol -f memory.raw mac.lsmod
Analysis Workflows
Malware Analysis Workflow
vol -f memory.raw windows.pstree > processes.txt
vol -f memory.raw windows.pslist > pslist.txt
vol -f memory.raw windows.netscan > network.txt
vol -f memory.raw windows.malfind > malfind.txt
vol -f memory.raw windows.dlllist --pid <PID>
vol -f memory.raw windows.handles --pid <PID>
vol -f memory.raw windows.pslist --pid <PID> --dump
strings -a pid.<PID>.exe > strings.txt
vol -f memory.raw windows.yarascan --yara-rules malware.yar
Incident Response Workflow
vol -f memory.raw windows.timeliner > timeline.csv
vol -f memory.raw windows.cmdline
vol -f memory.raw windows.consoles
vol -f memory.raw windows.registry.printkey \
--key "Software\Microsoft\Windows\CurrentVersion\Run"
vol -f memory.raw windows.svcscan
vol -f memory.raw windows.scheduled_tasks
vol -f memory.raw windows.filescan | grep -i "recent"
Data Structures
Windows Process Structures
typedef struct _EPROCESS {
KPROCESS Pcb;
EX_PUSH_LOCK ProcessLock;
LARGE_INTEGER CreateTime;
LARGE_INTEGER ExitTime;
LIST_ENTRY ActiveProcessLinks;
ULONG_PTR UniqueProcessId;
PEB* Peb;
} EPROCESS;
typedef struct _PEB {
BOOLEAN InheritedAddressSpace;
BOOLEAN ReadImageFileExecOptions;
BOOLEAN BeingDebugged;
PVOID ImageBaseAddress;
PPEB_LDR_DATA Ldr;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
} PEB;
VAD (Virtual Address Descriptor) typedef struct _MMVAD {
MMVAD_SHORT Core;
union {
ULONG LongFlags;
MMVAD_FLAGS VadFlags;
} u;
PVOID FirstPrototypePte;
PVOID LastContiguousPte;
PFILE_OBJECT FileObject;
} MMVAD;
#define PAGE_EXECUTE 0x10
#define PAGE_EXECUTE_READ 0x20
#define PAGE_EXECUTE_READWRITE 0x40
#define PAGE_EXECUTE_WRITECOPY 0x80
Detection Patterns
Process Injection Indicators
Rootkit Detection
vol -f memory.raw windows.pslist > pslist.txt
vol -f memory.raw windows.psscan > psscan.txt
diff pslist.txt psscan.txt
vol -f memory.raw windows.callbacks
vol -f memory.raw windows.ssdt
vol -f memory.raw windows.driverscan
vol -f memory.raw windows.driverirp
Credential Extraction
vol -f memory.raw windows.hashdump
vol -f memory.raw windows.lsadump
vol -f memory.raw windows.cachedump
YARA Integration
Writing Memory YARA Rules rule Suspicious_Injection
{
meta:
description = "Detects common injection shellcode"
strings:
// Common shellcode patterns
$mz = { 4D 5A }
$shellcode1 = { 55 8B EC 83 EC } // Function prologue
$api_hash = { 68 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 } // Push hash, call
condition:
$mz at 0 or any of ($shellcode*)
}
rule Cobalt_Strike_Beacon
{
meta:
description = "Detects Cobalt Strike beacon in memory"
strings:
$config = { 00 01 00 01 00 02 }
$sleep = "sleeptime"
$beacon = "%s (admin)" wide
condition:
2 of them
}
Scanning Memory
vol -f memory.raw windows.yarascan --yara-rules rules.yar
vol -f memory.raw windows.yarascan --yara-rules rules.yar --pid 1234
vol -f memory.raw windows.yarascan --yara-rules rules.yar --kernel
String Analysis
Extracting Strings
strings -a memory.raw > all_strings.txt
strings -el memory.raw >> all_strings.txt
vol -f memory.raw windows.memmap --pid 1234 --dump
strings -a pid.1234.dmp > process_strings.txt
grep -E "(https?://|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})" all_strings.txt
FLOSS for Obfuscated Strings
floss malware.exe > floss_output.txt
floss pid.1234.dmp
Best Practices
Acquisition Best Practices
Minimize footprint : Use lightweight acquisition tools
Document everything : Record time, tool, and hash of capture
Verify integrity : Hash memory dump immediately after capture
Chain of custody : Maintain proper forensic handling
Analysis Best Practices
Start broad : Get overview before deep diving
Cross-reference : Use multiple plugins for same data
Timeline correlation : Correlate memory findings with disk/network
Document findings : Keep detailed notes and screenshots
Validate results : Verify findings through multiple methods
Common Pitfalls
Stale data : Memory is volatile, analyze promptly
Incomplete dumps : Verify dump size matches expected RAM
Symbol issues : Ensure correct symbol files for OS version
Smear : Memory may change during acquisition
Encryption : Some data may be encrypted in memory
Connections
Domain: [[Produktivitaet & Werkzeuge]]
Kategorie: [[Developer Experience]]
Navigation: [[Skills Uebersicht]], [[Home]]