导语:我们将分别介绍Procmon,Process Explorer,Regshot,ApateDNS,Netcat,Wireshark以及INetSim等工具来进行恶意软件的分析。动态恶意软件分析通常是在静态恶意软件分析达到死胡同后执行。
在本教程中,我们将介绍动态恶意软件分析工具,用于了解恶意软件执行后的行为。本教程是我们恶意软件分析教程中的第2部分。如果您尚未阅读本系列的第1部分,请先阅读本系列教程1,然后再继续这一篇。
在本教程中,我们将介绍用于在虚拟机中执行恶意软件后分析活动的动态恶意软件分析工具。我们将分别介绍Procmon,Process Explorer,Regshot,ApateDNS,Netcat,Wireshark以及INetSim等工具来进行恶意软件的分析。动态恶意软件分析通常是在静态恶意软件分析达到死胡同后执行。例如,当恶意软件打包或混淆时,你将很快就走到死胡同。另外动态恶意软件分析也是快速识别恶意软件类型的好方法,如果你面临勒索软件,那么你会在执行恶意软件后快速了解到加密文件和其强制付款方式。
必须要注意的一点是,动态恶意软件分析很可能会使你的系统和网络面临风险,因为你需要执行真正的恶意软件来进而才能分析它的行为。 因此我们非常建议你仅在未连接到互联网的隔离网络中的虚拟机或专用系统上执行恶意软件。 恶意软件分析工具通常不需要互联网连接,因为其有可用于模拟互联网连接的服务器工具。 本文中我们将重点介绍这些工具中的几个。 当然即使我们在虚拟机中执行恶意软件,也不能保证主机或网络是完全安全的,因为恶意软件开发人员总是会发现令人惊讶的新感染方式,并使恶意软件分析更难进行下去。
Procmon
Procmon也被称为Process Monitor,是一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。
Process Monitor常见功能分析:
Process Monitor 不仅结合了 Filemon(文件监视器) 和 Regmon(注册表监视器) 两个工具的功能,还具有以下一些增强:
监视进程和线程的启动和退出,包括退出状态代码 监视映像 (DLL 和内核模式驱动程序) 加载 捕获更多输入输出参数操作 非破坏性的过滤器允许你自行定义而不会丢失任何捕获的数据 捕获每一个线程操作的堆栈,使得可以在许多情况下识别一个操作的根源 可靠捕获进程详细信息,包括映像路径、命令行、完整性、用户和会话ID等等 完全可以自定义任何事件的属性列 过滤器可以设置为任何数据条件,包括未在当前视图中显示的 高级的日志机制,可记录上千万的事件,数GB的日志数据 进程树工具显示所有进程的关系 原生的日志格式,可将所有数据信息保存,让另一个 Process Monitor 实例加载 进程悬停提示,可方便的查看进程信息 详细的悬停提示信息让你方便的查看列中不能完整显示的信息 搜索可取消 系统引导时记录所有操作
下载地址:https://technet.microsoft.com/en-us/library/bb896645.aspx
Process Explorer
Process Explorer是由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(DLL和内核模式驱动程序)加载、系统引导时记录所有操作等。
Process Explorer的独特之处在于:
1.显示被执行的映像文件的完整路径 2.显示进程安全令牌 3.加亮显示进程和线程列表中的变化 4.显示作业中的进程,以及作业的细节 5.显示运行。NET/WinFX应用的进程,以及与.NET相关的细节 6.显示进程和线程的启动时间 7.显示内存映射文件的完整列表 8.能够挂起一个进程 9.能够杀死一个线程
下载地址:https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
RegShot
RegShot 是一种注册表比较工具,它通过两次抓取注册表而快速地比较出答案。它还可以将您的注册表以纯文本方式记录下来,便于浏览;还可以监察 Win.ini,System.ini 中的键值;还可以监察您 Windows 目录和 System 目录中文件的变化,为您手工卸载某些软件创造条件。
主要功能
1、可以扫描并保存注册表的“快照”,并对两次快照进行自动的对比,找出快照间存在的不同之处,结果可以保存成txt或者是html文档
2、它的非压缩版本体积为 29K,压缩版(UPX)为 13K,在同类软件中可谓是小巧玲珑!
3、支持可以将您的注册表以纯文本方式记录下来,便于浏览;
4、支持监察 Win.ini,System.ini 中的键值;
5、支持监察您 Windows 目录和 System 目录中文件的变化,为您手工卸载某些软件创造条件。
使用方法
1、打开Regshot,勾选"扫描",点击“摄取[1]”,这样就能记录下当前注册表和文件夹的结构;
2、点击“摄取[2]”进行第二次快照;
3、点击“比较”按钮,软件就会自动打开记事本,把对比的结果,使用文本的方式显示出来;
4、如果需要再次比较,需要点击“清除”按钮,之后再重复上述操作就行。
下载地址:http://sourceforge.net/projects/regshot/
ApateDNS
ApateDNS是一个用于控制DNS响应的工具,主要用在本地系统上的DNS服务器。 ApateDNS可以将欺骗由恶意软件生成的DNS请求到UDP端口53上的指定IP地址的DNS响应,比如执行静态恶意软件分析(例如通过检查资源节)或使用沙箱。 ApateDNS还能够使用NXDOMAIN参数恢复多个域,因为恶意软件通常会尝试连接到多个主机。
下载地址:https://www.fireeye.com/content/dam/fireeye-www/services/freeware/sdl-apatedns.zip
Netcat
Netcat能通过TCP和UDP在网络中读写数据,也被称为网络安全中的“瑞士军刀”,因为它提供了许多功能,比如端口扫描、端口转发、文件传输、目录传输等等。
Netcat是执行动态恶意软件分析的一个伟大的工具,因为它可以满足恶意软件分析师所需要的几乎所有的网络连接。它还可用于在任何端口上进行入站和出站连接,并且可以在客户端模式下用于连接,在服务器模式下用于侦听。
很多恶意软件通过端口80(HTTP)和443(HTTPS)进行通信,因为在大多数系统上,这些端口不会被防火墙阻止。当执行动态恶意软件分析时,我们可以使用ApateDNS将由恶意软件创建的DNS请求重定向到正在服务器模式下运行Netcat的主机,侦听指定端口上的指定IP地址。这样,我们可以使用ApateDNS监视恶意软件的请求,重定向请求和Netcat监视请求。在后续的动态恶意软件分析教程中,我们将更详细地介绍ApateDNS和Netcat的使用。
Wireshark
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 – 只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。它是目前全世界最广泛的网络封包分析软件之一。
下载地址:https://www.wireshark.org/
INetSim
INetSim是一个基于Linux的工具,主要用于恶意软件分析,它可以模拟最常见的互联网服务,如http、https、DNS、FTP以及其他的。在Windows机器上执行动态恶意软件分析时,你可以使用和恶意软件分析机器在同一网络中的虚拟机来运行INetSim。 INetSim能够伪造恶意软件可能使用的常见的互联网服务,并回答相应的请求。例如,当恶意软件请求文件时,INetSim将返回该文件。当恶意软件扫描Web服务器时,INetSim将返回Microsoft IIS Web服务器的名称以保持恶意软件运行。 INetSim还将记录所有传入的连接,以便你可以分析恶意软件正在使用的服务及其发出的请求。 INetSim也是高度可配置的,当恶意软件使用非标准端口作为服务时,你可以更改INetSim中特定服务的侦听器端口。我们将在后续的恶意软件分析教程中更详细地介绍INetSim。