专栏首页FreeBuf使用VOLATILITY发现高级恶意软件

使用VOLATILITY发现高级恶意软件

当一个公司被高级恶意软件感染,一个正确的应急响应应该是去识别恶意软件和修复系统,建立更好的安全控制体系来防止未来此类 事故的发生。在这篇文章中会介绍使用“内存取证”技术来检测高级的恶意软件感染,并且学会如何使用内存取证工具比如Volatility在真实的环境中检测恶意软件。

内存技术是指从运行的电脑中取出内存镜像来进行分析的技术,其在应急响应和调查中扮演一个很重要的角色。它能够从计算机内存中提取取证线索,比如运行的进程,网络连接,加载的模块等等 ,同时他能够帮助脱壳,Rootkit检测和逆向工程。

内存取证步骤

下面是内存取证相关的一些步骤

a) 获得内存——这个步骤是从目标机器中导出内存。你可以在物理机上使用工具比如Win32dd/Win64dd, Memoryze, DumpIt, FastDump 。然而在虚拟机上,获取内存是很容易的,你可以暂停VM并取出“.vmem”文件。

b) 内存分析——取出内存镜像之后,下一步就是从获取的内存中分析取证线索,可以使用Volatility 或者Memoryze

Volatility快速上手

Volatility是用python写的高级内存取证框架。它可以用来对获取的内存进行取证。Volatility可以安装在多个系统上( Windows, Linux, Mac OS X)

演示

为了理解内存取证和相关步骤。让我们来看一个案例,我们的分析基于下面的例子。

案例

你的安全设备发出报警,提示恶意的http连接到域名“web3inst.com”,对应的ip是 192.168.1.2,通信是从192.168.1.100的源ip地址检测到的(如下面的截图所示)。你可以在192.168.1. 100机器上找到内存取证信息。

内存获取

从192.168.1.100获取内存镜像,使用内存获取工具。为了演示,内存导出文件命名为“infected.vmem“。

分析

现在我们获取了“infected.vmem“,让我们开始使用Volatility 高级内存分析框架。

步骤1:从你知道的开始

我们从安全设备知道主机向web3inst.com (192.168.1.2)发起了http连接。所以让我们看一下网络连接。

Volatility’s conn扫描模块,显示进程(pid 888)连接了恶意ip.

步骤2:web3inst.com的信息

Google搜索证明这个域名跟恶意软件是相关的,可能是“Rustock 或 TDSS Rootkit”。这表明ip192.168.1.100可能已经被这些恶意软件感染了,我们需要通过特征分析来确认。

步骤3:pid 888 是什么?

由于网络连接到ip 192.168.1.2 是pid 888发起的,我们需要确定pid 888相关的进程是什么,“psscan”显示pid 888属于svchost.exe。

步骤4:YARA扫描

通过YARA对导出的内存进行扫描,发现连接到这个域名的的进程属于svchost.exe(pid 888).这确定svchost.exe 向域名“web3inst.com”发起连接。

步骤5:svchost.exe中可疑的互斥量

现在我们知道svchost.exe进程(pid 888)向域名“web3inst.com”发起连接。检查发现 svchost.exe创建了一个可疑的互斥量“TdlStartMutex”。

步骤6:互斥量的信息

谷歌搜索显示这个可以的互斥量跟TDSS rootkit相关,这指出互斥量“TdlStartMutex”是可疑的。

步骤7:svchost.exe 的文件句柄

Svchost.exe的文件句柄跟两个可疑的文件有关(DLL和驱动文件)。如下图所示下面的截图显示这两个都是“TDSS”启动的文件。

步骤8:检测隐藏的DLL

Volatility的dll列表模块无法找到“TDSS”启动的DLL,但是ldr模块插件能找到。这证明DLL( TDSSoiqh.dll)是隐藏的。恶意软件隐藏了DLL通过分离3个PEB列表(操作系统保持了对这个DLL列表的追踪)。

步骤9:导出隐藏的DLL

在前面的步骤隐藏的DLL已经被检测到了。这个隐藏的DLL可以通过Volatility的 dlldump模块从内存导出到硬盘,如下所示:

步骤10:将导出的DLL传到VirusTotal

把导出的DLL上传到VirusTotal,确认这是个恶意软件

步骤11:查找其他恶意软件DLL

查看TDSS启动的所有模块显示msiexec.exe进程(pid 1236 )跟临时文件有关(TDSS启动的),这些文件是可疑的。

步骤12:msiexec加载的可疑DLL

用dlllist模块检查msiexec 进程(pid 1236) 加载的DLL,发现如下msiexec进程加载的可疑dll(dll.dll)。

步骤13:导出DLL上传到VT

导出DLL上传到VirusTotal 确认这个DLL跟TDSS rootkit有关。

步骤14:隐藏内核驱动

在步骤7我看到了相关的驱动文件(TDSS启动的)。Volatility模块找不到那个驱动 Volatility的driverscan 插件可以找到。这说明内核驱动(TDSSserv.sys)被隐藏了。下面的截图显示驱动的基地址是“ 0xb838b000”,大小是“0x11000”。

步骤15:内核回调

检查回调发现回调(起始地址0xb38)时被未知的驱动设置的

步骤16:检查未知的驱动

下面的截图显示未知驱动的地址在TDSSserv.sys地址范围内。这说明未知的驱动是“TDSSserv.sys”

步骤17:内核api 钩子

恶意软件对内核API下钩子,并且钩到TDSSserv.sys的地址上(如下图所示)

步骤18:导出内核驱动

将内核驱动导出,然后上传到VirusTotal ,确认这是TDSS rootkit。

结论

内存取证时一项非常强大的调查技术,而Volatility能够发现高级的恶意软件,从内存里找到的线索有助于事件响应,恶意软件分析和逆向工程。也正如你所见,通过一点线索,我们就能检测到高级的恶意软件和相关的组件。

*参考来源:eforensicsmag ,FB小编老王隔壁的白帽子翻译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 世界上最著名也最危险的APT恶意软件清单

    本文尝试列举出由各国军事情报处的网络安全部门开发的最危险、最有效也是最闻名的恶意软件清单,其中有些可以说早已盛名在外,另一些可能你还没听过……然而这正是它最危险...

    FB客服
  • 针对“DorkBot”的样本分析

    概述 DorkBot是一种已知的恶意软件,最早可以追溯到2012年。它被认为通过社会媒体链接、即时消息应用程序或受感染的可移动设备等多种方式进行传播。尽管它是众...

    FB客服
  • 如何成为一名恶意软件逆向与分析专家

    到底我们怎样才能成为一名恶意软件研究专家呢?在这篇文章中,我将跟大家分享一下我的独特观点。

    FB客服
  • 曾经的荣耀王者Flash,为什么要凉了?

    早在2017年,Adobe宣布停止支持Flash,这位曾经风光无两的网页播放器王者,就已经被宣判了死缓。这也预示着,互联网开始逐渐向Flash时代告别。

    保利威视频云
  • 一文揭开AI芯片的神秘面纱

    今天一朋友咨询我AI芯片怎么样?我是搞软件的,历来计算机系专业学生里搞软件的不懂硬件,但是要聊到AI芯片,它真的很简单,哈哈。

    用户1594945
  • 【AI快报】特斯拉挖走奥迪高管 | 谷歌很可能在I/O大会发布VR产品

    特斯拉挖走奥迪高管负责汽车生产 计划提升5倍产量 ? 北京时间5月14日上午消息,特斯拉周五宣布,已聘请大众高管皮特·霍齐霍丁格(Peter Hochhold...

    新智元
  • SAP CRM文本配置里的Continue标签,到底控制了什么行为

    Subject: [wave8 backend research]what does the checkbox “Continue” mean in Text ...

    Jerry Wang
  • 中国芯片差在哪?这篇讲全了

    在半导体这个领域,中国需要挑战的是,西方上百年积累起来的工业体系。中国半导体一直是在冒着敌人的炮火匍匐前进,如今,敌人的炮火越来越凶猛。围追堵截中,谁让我“芯”...

    钱塘数据
  • 如何在SAP Fiori应用里消费SAP HANA Query view

    In CRM Fiori there is one standard application called Customer report, where you...

    Jerry Wang
  • 【Rust 日报】2020-06-10 RustCrypto 发布了多种密码学库

    新发布的密码学库包括:aead, block-cipher, crypto-mac, digest, signature, stream-cipher 等,其中...

    MikeLoveRust

扫码关注云+社区

领取腾讯云代金券