volatility安装及使用

  • volatility地址:https://github.com/volatilityfoundation/volatility

  • 直接使用volatility无需安装,解压后即可使用。

  • volatility的依赖包:

# yum install pcre-devel libpcre++-devel python-devel pycrypto

其他可选的需要安装的软件包,这些分别与一些volatility插件功能相关,建议都安装
Distorm3, Yara, PIL, OpenPyxl, ujson

  • 如果需要在其他的Python脚本中import volatility,则需要进行安装
# python setup.py build
# python setup.py install
  • 默认安装位置为/usr/lib/python2.6/site-packages/volatility-2.x-py2.6.egg.表示安装的volatility为2.x版,基于python2.6的

  • 安装后可在终端直接输入vol.py执行volatility.

因为可以全局执行,所以需要安装其他版本volatility时需要卸载之前的版本,或者覆盖安装成当前版本。

卸载方法:

# python setup.py install --record files.txt
先安装一遍之前的版本,记录安装的文件路径
# cat files.txt | xargs rm -rf

删除安装的文件
如果直接在另一个版本的volatility文件夹中执行python vol.py, 则调用的是当前文件夹内的volatility,而不是已安装的。

  • 安装后在终端输入vol.py –info

可显示详细信息。期中Profiles表示当前已加载能使用的profile命令。profile文件应放置在./volatility/plugins/overlays下面对应的操作系统文件夹中。

如果已经安装了volatility,那么读取的profile文件位置是在安装目录下的,而不是在volatility文件夹中,路径为/usr/lib/python2.6/site-packages/volatility-2.x-py2.6.egg/volatility/plugins/overlays/对应系统文件夹。

  • volatility标准用法是针对镜像文件的
$ python vol.py [plugin] -f [image] --profile=[profile]

plugin是插件名,-f表示针对镜像文件,image是镜像文件,profile是可用的profile文件
比如:

$ python vol.py pslist -f /path/to/memory.img --profile=Win7SP1x64

表示对文件/path/to/memory.img进行进程列表的获取,同时指出这img是Win7SP1x64的系统镜像。

  • volatility针对kvm中运行虚拟机的用法
$ python vol.py [plugin] -l [location] --profile=[profile] 

其中-l表示选择位置,location是位置,也可用–location=LOCATION。
比如:

$ python vol.py linux_pslist -l vmi://vm04 --profile=Linuxliux6-64bitx64

表示对kvm中虚拟机vm04进行进程列表的获取,同时指出该运行的虚拟机为64bit的Linux操作系统。

  • volatility自带的profile只有windows的,可在github上下载其他各版本的profile文件,加载方法见第6条。例如,使用了profile文件CentOS65.zip, 通过命令vol.py –info查看得profile名为LinuxCentOS65x64,则调用时变成
$ vol.py linux_pslist -f /root/code/copy.raw --profile=LinuxCentOS65x64
$ vol.py linux_pslist -l vmi://vm04 --profile=LinuxCentOS65x64
  • 可以在shell中导入环境变量作为volatility的默认参数
$ export VOLATILITY_PROFILE=Win7SP0x86
$ export VOLATILITY_LOCATION=file:///tmp/myimage.img
$ export VOLATILITY_KDBG=0x82944c28
$ python vol.py pslist
$ python vol.py files
  • 利用volatility将运行的虚拟机转储为raw文件的方法
# python vol.py --profile=Linuxliux6-64bitx64 -l vmi://vm04 imagecopy --output-image=copy.raw

使用的是imagecopy指令,输出成copy.raw,文件大小与虚拟机指定内存相同。
如果raw文件转储时失败,那么运行vol.py可能会报No suitable address space mapping found的错误。

关于“volatility安装及使用”我的1个想法

发表评论