Volatility Guide
My personal Volatility 2 guide for memory dump analysis

Overview
I’m by no means an expert. This document was created to help ME understand volatility while learning. My CTF procedure comes first and a brief explanation of each command is below. This guide uses volatility2 and RegRipper
Sorry this was written like 4 years ago but I forgot to share it. If you’d like you can download the markdown version in the GitHub gist
Procedure
Profiling
volatility -f <file_name> imageinfo: Get suggested profiles- After which, use
volatility -f <file_name> <command> --profile=<profile>
Registry Dumping and Ripping
- Run
hivelistand take note of all virtual addresses - Using
dumpregistry, dump all the registry contents - Using RegRipper,
rip -r tmp/registry.0xfffff8a00377d2d0.Syscachehve.reg -f system
Just CTF Things
strings <file> | grep -i "<flag format>"just to sieve out any flags
Commands
Commands Reference: https://github.com/volatilityfoundation/volatility/wiki/Command-Reference
Not in reference
notepad:
- Display notepad’s contents
OS and Processes
pslist:
- List all processes including PID, PPID, Start and End Time
psxview:
- View hidden processes (
Falsecsrss only)
ldrmodules
- View if module has been injected (Any column is
False)
procdump:
- Usage:
procdump -p <PID found using netscan or pslist> -D <output directory> - Dump the entire process (.exe file)
memdump:
- Usage:
memdump -p <PID found using netscan or pslist> -D <output directory> - Get files used by the process
clipboard:
- Get clipboard history
Files
filescan
- Get a list of all files
- Pipe to grep in order to search for specific files (
filescan | grep -i "<search terms>")
dumpfiles
- Usage:
dumpfiles -n <filename (contains)> -D <output directory>ordumpfiles -Q <address> -D <output directory>
Registry Related
hivelist:
- Get virtual addresses of registry hives
dumpregistry:
- Usage:
dumpregistry -o <virtual memory address of hive> -D <output directory> - Dump the registry contents
printkey:
- Usage:
printkey -o <virtual memory address of hive> - Add
-K <key>to get value of specific subkey
hashdump:
- Display all NLTM hashes
- Use https://crackstation.net/ to crack NLTM hashes
lsadump:
- Dump LSA Registry (Stores passwords in Windows 7)
Networking
netscan:
- Display all network information
External Plugins
Installing External Plugins into volatility/plugins:
https://github.com/superponible/volatility-pluginswget https://raw.githubusercontent.com/dfirfpi/hotoloti/master/volatility/mimikatz.pythenpip install construct
Chrome
chromehistory
malfind
- Find all programs with VAD tags and execute protection
Program Specific
Notepad
- Use
notepadplugin
MS Paint
- Dump memory using
memdump -p <pid of mspaint.exe> - Try foremost/binwalk
- Use GIMP
Chrome
filescan | grep -ie "history$"to get chrome data- Dump history files (including Downloads) using
dumpfilesand use SQLite viewer (Note that file extension should be .sqlite) - Use
chromehistoryplugin
Acknowledgements
https://medium.com/hackstreetboys/hsb-presents-otterctf-2018-memory-forensics-write-up-c3b9e372c36c https://w00tsec.blogspot.com/2015/02/extracting-raw-pictures-from-memory.html