欢迎各位阅读基于Volatility的内存分析系列文章。为了顺利阅读本系列文章,读者最好具备Windows内部运行机制方面的基础知识。准确来说,读者需要了解内存在Windows中运行机制方面的基础知识,为此,我们将给出详尽的介绍。除此之外,不管你有什么不懂的知识,都不会影响您理解本文的内容!
阅读清单:
· 内核模式
· 用户模式
· 虚拟内存
· Windows进程
一点背景知识:
内存取证(有时称为内存分析)是指对计算机内存转储中易失性数据进行的一种分析。信息安全专业人员可以通过内存取证,奇热来调查和识别那些不会在硬盘驱动器数据中留下痕迹的攻击或恶意行为。
通过内存取证,安全人员可以了解运行时的各种系统活动,例如开放的网络连接或最近执行的命令和进程等。
程序在计算机上运行之前,首先需要被加载到内存中,这使得内存取证变得非常重要——这意味着所有被创建、检查或删除的程序或数据都将被保存到RAM中。这其中包括图像、所有Web浏览活动、加密密钥、网络连接或注入的代码片段。在许多情况下,某些证据只能在RAM中找到,例如在崩溃期间存在的开放网络连接。由于攻击者可以开发只驻留在内存中而不在硬盘落地的恶意软件,从而使标准的计算机取证方法几乎看不到它。这使得内存取证工具变得愈发重要。
Volatility是一个先进的内存取证框架。它为调查人员提供了许多自动工具,人们可以利用其先进的内存分析技术揭示主机上的恶意活动。需要指出的是,该框架是用python实现的,而且是开源的。该框架的下载地址为https://github.com/volatilityfoundation/volatility,相关的文档地址为https://github.com/volatilityfoundation/volatility/wiki/Command-Reference-Mal。
在这个系列文章中,我们将以Coreflood木马为例,来介绍相关的内存取证方法。
Coreflood是由一群俄罗斯黑客创建并在2010年发布的木马和僵尸网络。FBI已经将“大约17个州或地方政府机构,包括1个警察局;3个机场;2个国防承包商;5个银行或金融机构;大约30个学院或大学;大约20个医院或医疗公司;以及数百家企业”[1]列入受感染系统的名单中。截至2011年5月。它已经感染了世界各地230多万台计算机;到目前为止,它仍然是一个巨大的威胁。——维基百科
对于该样本软件,可以通过下面的地址进行下载(.vmem文件)