Volatility安装
前言
这里对Volatility的安装和使用做一个记录,包括Volatility2和3的。还会附上实际使用的场景。
安装
下载文件(GitHub上可以搜到)
![[05 工具箱/取证工具#volatility|取证工具]]
我把volatility安装在WSL上,用conda分别先为volatility2和volatility3创建了python虚拟环境
Volatility 2安装
可以选择下载可执行文件或者python脚本。
下载可执行文件
GitHub下载zip包:https://github.com/volatilityfoundation/volatility/releases/tag/2.6.1
解压
然后创建软链接:
sudo ln -s /home/zsc/Tools/volatility_2.6/volatility2 /usr/local/bin/volatility2
如果要按照mimikatz插件,会报错:
*** Failed to import volatility.plugins.mimikatz (ImportError: No module named construct)
ERROR : volatility.debug : You must specify something to do (try -h)
mimikatz.py下载地址放在了文末,亲测可用。
下载python脚本
先切换python环境为2.7
conda activate py2.7 # py2.7是我的python2虚拟环境
把python版本的下载下来后,按照GitHub上的指导进行运行:
Quick Start
===========
1. Unpack the latest version of Volatility from
volatilityfoundation.org
2. To see available options, run "python vol.py -h" or "python vol.py --info"
Example:
$ python vol.py --info
Volatility Foundation Volatility Framework 2.6
一些文章也会说,到目录下执行make install 或者python2 setup.py install进行安装
问题
可能会报下面的错误,
Volatility Foundation Volatility Framework 2.6
*** Failed to import volatility.plugins.registry.shutdown (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.getservicesids (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.timeliner (ImportError: No module named Crypto.Hash)
...
解决方法在GitHub上有:https://github.com/volatilityfoundation/volatility/issues/771
Hi, I just found the solution yesterday. So try to run this in the terminal
pip install --upgrade setuptools
sudo apt-get install python2-dev
pip2 install pycrypto && pip install distorm3
I you're already done with the crypto.hash, then on the line 3, try to run thepip2 install distorm3
. But if your pip2 giving you outputerror: invalid command 'egg_info'
. Then try to download the pip2 using thiscurl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip.py
sudo python2 /tmp/get-pip.py
After that try to re-run the first 3 command to install pycrypto and distorm3
我是直接安装了pycrypto和distorm3解决了。
pip2 install pycrypto && pip install distorm3
Volatility 3安装
直接下载python代码即可
git clone https://github.com/volatilityfoundation/volatility3.git
pip install -r requirements.txt
然后故技重施,把vol.py设置软链接。
sudo ln -s /home/zsc/Tools/volatility3/vol.py /usr/local/bin/vol3
之后就可以直接调用vol3命令来使用volatility3,前提记得先用conda切换到python3环境。
问题
如果遇到类似volatility: error: argument plugin: invalid choice windows.netstat.NetStat
的情况,错误情况可以在后面添加-vv
参数查看
vol3 -f WIN-T89OD3C9LOC-20231229-081734.raw windows.netstat.NetStat -vv
大概率就是依赖没下
pip install -r requirements.txt
如果执行了上面的指令还不行,就再次使用-vv
查看缺失了哪些模块,下载一下就可以了。还有就是记得python环境要切换好。
使用
下面以2024数信杯初赛的内存题为例演示volatility的使用,vol2是volatility2,vol3是volatility3。
要安装mimikatz,只需要把mimikatz.py放在volatility-master/volatility/plugins下即可
调用mimikatz获取密码的方式如下:
vol2 --plugins=/home/zsc/Tools/volatility-master/volatility/plugins -
f WIN-T89OD3C9LOC-20231229-081734.raw --profile=Win7SP1x64 mimikatz
Volatility Foundation Volatility Framework 2.6
Module User Domain Password
-------- ---------------- ---------------- ----------------------------------------
wdigest test WIN-T89OD3C9LOC hahaha123
wdigest WIN-T89OD3C9LOC$ WORKGROUP
调用cmdlie查看进程命令行参数,找到有问题的pdf文件。
vol2 -f WIN-T89OD3C9LOC-20231229-081734.raw --profile=Win7SP1x64 cmdline
explorer.exe pid: 1616
Command line : C:\Windows\Explorer.EXE
************************************************************************
AcroRd32.exe pid: 1588
Command line : "C:\Program Files (x86)\Adobe\Reader 9.0\Reader\AcroRd32.exe" "C:\Users\test\Desktop\aaa\README.pdf"
************************************************************************
查看进程,
vol3 -f WIN-T89OD3C9LOC-20231229-081734.raw windows.netstat.NetStat
mimikatz.py: https://github.com/RealityNet/hotoloti/blob/master/volatility/mimikatz.py