欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

利用Volatility进行Windows内存取证分析(一):初体验

来源:本站整理 作者:ExpLife 时间:2017-01-11 TAG: 我要投稿

承接上文,上文中使用cuckoo沙箱的时候提到过,分析恶意代码的时候,首先利用沙箱做粗略分析,然后可以目标程序进行动态分析(OD,Windbg调试)或者静态分析(IDA静态反汇编).如果嫌每次逆向麻烦的话,同样可以借助Volatility这类框架来做内存取证分析.Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证,下面一起来体验一下吧.
安装
最新版框架下载地址:

 
windows版可执行程序:http://downloads.volatilityfoundation.org/releases/2.6/volatility_2.6_win64_standalone.zip
linux版可执行程序:http://downloads.volatilityfoundation.org/releases/2.6/volatility_2.6_lin64_standalone.zip
Max OS X版可执行程序:http://downloads.volatilityfoundation.org/releases/2.6/volatility_2.6_mac64_standalone.zip
源代码:http://downloads.volatilityfoundation.org/releases/2.6/volatility-2.6.zip
可执行文件可以直接在相应的操作系统上运行.但是笔者更偏爱于源码包,因为该框架是使用python语言编写的,通过源码包可以方便的查看各个功能的实现代码.
windows下源码包的使用:
首先安装python2.7,下载地址:(x64)https://www.python.org/ftp/python/2.7.8/python-2.7.8.amd64.msi,(x86)https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi
如果想安装Volatility的源码,可以在命令行下切换到Volatility源码包的主目录,然后执行安装命令:
python setup.py install
如果不想安装源码包,也可以直接执行如下命令:
python vol.py
应该不出意外的话,会报如下错误.这是因为缺少pycrypto,distorm这两个辅助包.

 
下面一起来着手解决以上报错.
pycrypto包下载地址: https://github.com/dlitz/pycrypto.
distorm包下载地址:https://github.com/gdabah/distorm.
首先安装distorm包,解压并在命令行下切换distorm根目录下,执行安装命令:
python setup.py install

\
报错了,这是因为笔者实验机器上安装是vs2010,默认该源码中指定的编译器是vs2008,所以这里不认识.我们可以通过打开visual studio 2010的控制台,
然后输入如下命令:
set DISTUTILS_USE_SDK=1
set MSSdk=1
接下来切换到distorm包的根目录,然后执行安装命令:
python setup.py install

 
这样就表示这个包安装成功了.
接下来安装pycrypto这个包,同上,利用Visual Studio 2010的控制台,设置好环境变量,切换到pycrypto包的根目录,然后执行安装命令:
python setup.py install

 
这里报错了,前面的几个警告可以不用处理,后面的这个错误要解决,不然无法继续:
error C2133: "cipher_descriptor":未知的大小
笔者谷歌了一下,发现之前也有网友遇到类似的问题,但是貌似得到解决

 
其实没那么复杂,有点C语言基础的童鞋应该就很好解决.首先利用文本编辑器打开报错的头文件tomcrypt_cipher.h,接着定位到报错的行.

\
C语言定义数组要指定明确的数组大小,这里留空了,所以报错.这里我们尝试一下在方括号中间填入1.再安装依然报错.所以笔者接着查找了一下这个cipher_descriptor[]这个名称的交叉引用,发现这个名称并没有哪里引用到了,因此这里可以注视掉:
/*cipher_descriptor[]*/
接着执行安装命令:
python setup.py install
发现安装成功.
接着来运行Volatility,我们查看一下帮助菜单:
python vol.py -h
可以看到运行成功.

 
好了,windows下的源码包就介绍到这里,因为windows下控制台窗口看着不太舒服,笔者有点强迫症,所以笔者重点介绍linux下的使用.
linux(kali)下源码包的使用:
kali依赖包基本都有,直接在shell下切换到Volatility的根目录,然后查看一下帮助信息.
python vol.py -h

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载