Analysis of Volatile Memory(RAM) Using Volatility3
Introduction:
Volatility3 is the most advanced and newest volatile memory forensics framework in the world. It is also Open Source, this framework is written in python. It is also the most widely used framework for extracting digital artefacts from volatile memory i.e. RAM image. The framework is intended to introduce people to the techniques for extracting digital artefacts from volatile memory(RAM) samples and provide a platform for further work into this exciting area of research.
Downloading and Installation:
Requirements:
git clone https://github.com/volatilityfoundation/volatility3.git
RAM Image Creation:
Analysis of Ram Image in Windows:
Open command line in the folder where we have downloaded the Volatility and run the following command to see all the available options for volatility:
python3 vol.py -h
Useful Commands
windows.info
python3 vol.py -f <imagepath> windows.info
windows.pslist.PsList
To list the processes of a system, use the windows.pslist.PsList and show offset, process name, process ID, the present process ID, number of threads, number of handles, and date/time when the process started and exited. This plugin does not detect hidden or unlinked process.
python3 vol.py -f <imagepath> windows.pslist.PsList
windows.psscan.PsScan
This can find processes that previously terminated(inactive) and processes that have been hidden or unlinked by a rootkit.
python3 vol.py -f <imagepath> windows.psscan.PsScan
windows.pstree.PsTree
To view the process listing in tree form we use windows.pstree.PsTree command. This enumerates processes using the same technique as pslist, so it will not show hidden or unlinked processes. Child processes are indicated using indention and periods.
python3 vol.py -f <imagepath> windows.pstree.PsTree
windows.dlllist.DllList
This command is used to display a process’s loaded DLLs. python3 vol.py -f <imagepath> windows.dlllist.DllList
python3 vol.py -f <imagepath> windows.dlllist.DllList
windows.registry.hivelist.HiveList
This is used for locating the virtual addresses of registry hives in memory and the full paths to the corresponding hive on disk. If we want to print values from a certain hive, running this command first so we can see the address of the hives.python3 vol.py -f <imagepath> windows.registry.hivelist.HiveList
python3 vol.py -f <imagepath> windows.registry.hivelist.HiveList
windows.registry.printkey.PrintKey
It displays the subkeys, values, data and data types contained within a specific registry key. By default, this command will search all hives and print the key information(if found) for the requested key. Therefore if the key is located in more than one hive the information for the key will be printed for each hive that contains it.
python3 vol.py -f <imagepath> windows.registry.printkey.PrintKey
It displays the subkeys, values, data and data types contained within a specific registry key. By default, this command will search all hives and print the key information(if found) for the requested key. Therefore if the key is located in more than one hive the information for the key will be printed for each hive that contains it.
python3 vol.py -f <imagepath> windows.registry.printkey.PrintKey
windows.registry.handles.Handles
This is used to display the open handles in a process. This applies to files, registry keys, mutex, named pipes, and all other types of securable executive objects.
python3 vol.py -f <imagepath> windows.registry.handles.Handles
These are some examples of plugins provided under Volatility3, try out some more plugins by yourself and explore this exciting field of memory forensics. Volatility3 also provides different commands for the mac and Linux for the same functionalities discussed above.
Credits - Mr Deepak Kumar (B.Tech. 4th Yr. IT, IIIT Bhopal), Mr Punit Choudhary (B.Tech. 4th Yr. IT, IIIT Bhopal ), Dr. Nitesh Bharadwaj (Faculty, IIIT Bhopal)
This is used to display the open handles in a process. This applies to files, registry keys, mutex, named pipes, and all other types of securable executive objects.
python3 vol.py -f <imagepath> windows.registry.handles.Handles
These are some examples of plugins provided under Volatility3, try out some more plugins by yourself and explore this exciting field of memory forensics. Volatility3 also provides different commands for the mac and Linux for the same functionalities discussed above.
Credits - Mr Deepak Kumar (B.Tech. 4th Yr. IT, IIIT Bhopal), Mr Punit Choudhary (B.Tech. 4th Yr. IT, IIIT Bhopal ), Dr. Nitesh Bharadwaj (Faculty, IIIT Bhopal)
Well described
ReplyDelete