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

  1. pip install --upgrade setuptools
  2. sudo apt-get install python2-dev
  3. pip2 install pycrypto && pip install distorm3
    I you're already done with the crypto.hash, then on the line 3, try to run the pip2 install distorm3. But if your pip2 giving you output error: invalid command 'egg_info'. Then try to download the pip2 using this
  4. curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip.py
  5. 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

posted @ 2024-04-16 14:28  叶际参差  阅读(305)  评论(0编辑  收藏  举报