来源自我的博客
http://www.yingzinanfei.com/2016/09/22/volatilityanzhuangjishiyong/
volatility地址:https://github.com/volatilityfoundation/volatility
直接使用volatility无需安装,解压后即可使用。
volatility的依赖包:
# yum install pcre-devel libpcre++-devel python-devel pycrypto
其他可选的需要安装的软件包,这些分别与一些volatility插件功能相关,建议都安装
Distorm3, Yara, PIL, OpenPyxl, ujson
# 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,而不是已安装的。
可显示详细信息。期中Profiles表示当前已加载能使用的profile命令。profile文件应放置在./volatility/plugins/overlays下面对应的操作系统文件夹中。
如果已经安装了volatility,那么读取的profile文件位置是在安装目录下的,而不是在volatility文件夹中,路径为/usr/lib/python2.6/site-packages/volatility-2.x-py2.6.egg/volatility/plugins/overlays/对应系统文件夹。
$ 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的系统镜像。
$ 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操作系统。
$ vol.py linux_pslist -f /root/code/copy.raw --profile=LinuxCentOS65x64
$ vol.py linux_pslist -l vmi://vm04 --profile=LinuxCentOS65x64
$ export VOLATILITY_PROFILE=Win7SP0x86
$ export VOLATILITY_LOCATION=file:///tmp/myimage.img
$ export VOLATILITY_KDBG=0x82944c28
$ python vol.py pslist
$ python vol.py files
# 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的错误。