前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Volatility查找系统中的恶意DLL

利用Volatility查找系统中的恶意DLL

作者头像
FB客服
发布2018-02-02 12:02:25
1.4K0
发布2018-02-02 12:02:25
举报
文章被收录于专栏:FreeBufFreeBuf

昨天看到@白河·愁 发了《Linux下内存取证工具Volatility的使用》,今天恰好看到一篇Volatility利用的文章,文章不长,就翻译了过来。

原文地址:http://carnal0wnage.attackresearch.com/2014/02/finding-malicious-dlls-with-volatility.html

译文:

Colin和我最近正致力于研究一个内存镜像,需要找到由svchost.exe加载的所有DLL,选择使用大家熟知的内存分析工具 — Volatility。Volatility无法通过进程名查看加载的dll,而是通过指定进程的PID来将所有已加载的dll列出。但是,如果系统中有多个同名的进程(如svchost.exe),我们可以用以类似图1所示的命令进行查找:

不过这个方法在我们的使用过程中不怎么好用,因此决定研究一下Volatility的源码,对其做一些小的调整以使其适应我们的需求。经过研究,我们修改了能最终影响dlllist的模块taskmods.py。未修改之前,用-h选项查看dlllist插件的帮助信息,会列出其支持的所有选项,如offset、pid等,如图2所示:

而我们修改过的taskmods.py模块为其添加了一个新的选项,即通过进程名来添加一个进程或进程列表,如图3:

现在我们只需要简单地给出svchost.exe进程名,就可以得到由该进程加载的DLL文件列表。如果系统中运行着非标准svchost.exe进程,该命令同样会将其显示出来,命令如下:

代码语言:javascript
复制
vol.py -f 7re-912d4ad7.vmem --profileWin7SP1x64 dlllist -n svchost.exe

得到如下输出:

相信还有其它的方法可以达到相同的目的,但本文提到的这种方法在我们的研究过程中工作良好,因此将其共享出来,各位读者可以通过以下地址获取该模块:

https://github.com/AttackResearch/randmon/blob/master/volatility_plugins/taskmods.py

只需要在volatility 安装目录的插件目录$VOLATILITYHOME/volatility/plugins中用新的taskmods.py文件覆盖原来的文件,即可完成安装。

我们在Windows XP 与 Windows 7中测试了volatility2.2, 2.3, 2.3.1,均未发现问题,可以放心使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档