Memory Forensice with Volatility
Introduction
- It is open source memory forensics framework and is written in python and is multi platform compatible 
- We can use it to analyze and extract important information from a memory dump 
- It will help us analyze identify - Running processes 
- Files 
- Users information 
- hashes 
- etc 
 
- It has 2 versions i.e volatility2 and volatility3 - volatility2 is written in python2 - It has large number of plugins written by community 
 
- volatility3 is written in python3 
 
- It does not support memory acquisition ability 
Usage
volatility -f <dump-file> <plugin-name>
Plugins
volatility --info can be used to display all plugins and their info.
- imageinfo: Tells us about OS of the mem dump
- pslist: list running processes
- pstree: also list hidden processes (childs etc)
- cmdline -p <process_id>: display command used to execute the process, accepts process id as parameter which can be get from previous plugin i.e pstree
- consoles: extract command history by scanning for console information
- filescan: scan for files present, display their permissions and location, can be used with grep to fetch information for specific file
- dumpfiles -Q <offset_of_file> -D <where_to_extract>: used to dump a file based on its offset (extracted from previous plugin i.e filescan)
- hashdump: used to dump the account hashes which can be cracked
- envvars: used to dump all environmental variables
- dumpregistry -D <where_to_dump>: used to dump the registry.