恶意软件分析的重要组成部分之一是随机存取存储器(RAM)分析。 它有助于识别受影响系统中运行的恶意进程,网络活动,开放连接等。 本文是关于易失性存储器分析的开源安全工具“波动性”。 它可以用于32/64位系统RAM分析,并支持Windows,Linux,Mac和Android系统的分析。 Volatility Framework以Python脚本语言实现,可在Linux和Windows操作系统上轻松使用。 它用于分析崩溃转储,原始转储,VMware和VirtualBox转储。 提取技术完全独立于正在调查的系统,并对系统的运行时状态进行完整的了解。因此,本文介绍使用波动工具对RAM内存转储的法医分析。 波动的“恶意”插件有助于转储恶意流程并对其进行分析。 挥发性的另一个插件是“cmdscan”也用于列出受感染机器上的最后一个命令。 在这种法医调查中,将使用诸如“杀毒”和“有效负载安全”网站的在线资源来验证结果。 最后,Windows Defender和恶意软件字节将被用于扫描恶意程序。
内存格式支持
最新的Volatility版本[1]支持以下内存格式。
- 原始/填充物理内存
- 火线(IEEE 1394)
- 专家证人(EWF)
- 32位和64位Windows崩溃转储
- 32位和64位Windows休眠
- 32位和64位MachO文件
- Virtualbox核心转储
- VMware保存状态(.vmss)和快照(.vmsn)
- HPAK格式(FastDump)
- QEMU内存转储
安装
波动工具适用于Windows,Linux和Mac操作系统。 对于Windows和Mac OS,独立的可执行文件可用,并且可以使用以下命令安装在Ubuntu 16.04 LTS上。
apt-get install volatility
记忆分析
在本教程中,原始内存转储的取证分析将使用独立可执行的波动工具在Windows平台上执行。 在调查过程中,法医调查员可能会在受损硬盘上发现几个恶意程序。 因此,内存分析在这种事件中变得非常重要,因为恶意程序或恶意软件可能在受损系统上运行。
诚信验证
恶意系统的内存转储的MD5哈希如下。 计算在开始法医分析之前验证获取的图像。
MD5: ee043142485a83f4d49a3a7899408500
波动率分析
波动工具用于确定PC是否被感染。 我们知道,可以从内存转储的正在运行的进程中提取恶意程序。 因此,首先,需要确定转储内存映像支持的“配置文件”。 如下所示,以下命令用于标识图像的“配置文件”。
"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" imageinfo -f memdump3.raw
因此,“imageinfo”命令提示了以下两个配置文件。
Win7SP0x86 , Win7SP1x86
现在,下面提到的命令用于获取内存转储中运行进程的列表。
"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pslist -f memdump3.raw
第1部分
第2部分
波动工具的“pslist”插件显示了内存转储中的进程。 如上面的输出所示,Windows操作系统上的新的程序就像“ 0KqEC12.exe ”和“ rdpclip.exe ”一样。 这些可能是Windows操作系统的恶意软件或新应用程序。 同样,多个“ iexplore.exe ”程序也似乎是可疑的。
因此,以下命令的目的是以树(父/子)格式显示进程。 这将显示进程与父进程的链接。 这将有助于我们识别恶意程序的父进程。
"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pstree -f memdump3.raw
第1部分
第2部分
如波形工具“ pstree ”插件的上述输出所示,流程显示为PID和PPID。 我们已经强调恶意程序进一步调查受害机器。 现在,对于突出显示的流程,将使用“ malfind ”插件(用于检测过程中的恶意DLL)的波动性。
进程ID:1120(svchost.exe)
使用malfind开关的以下命令用于将恶意DLL转储到“输出”目录中。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1120 -p 1120 -f memdump3.raw
如下图所示,malfind插件没有找到dll。
进程ID:1788(rdpclip.exe)
再次运行与PID 1788相同的命令来提取进程的DLL。 但是,插件没有找到DLL。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1788 -p 1788 -f memdump3.raw
进程ID:2104(explorer.exe)
如下图所示,使用PID“2104”运行以下命令,malfind从进程中提取DLL。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2104 -p 2104 -f memdump3.raw
恶意插件的输出显示了提取的DLL的恶意进程的转储。
进程ID:2240(0kqEC12.exe)
恶意插件正在PID“2240”上运行,这对于Windows操作系统来说似乎是可疑的。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2240 -p 2240 -f memdump3.raw
PID“2240”的恶意插件的输出如下所示。
进程ID:2840(iexplore.exe)
波形工具对PID“2840”的输出如下所示。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2840 -p 2840 -f memdump3.raw
这个过程也似乎是恶意的,因为它也使用与Windows进程“iexplorer”相同的名称。
进程ID:2364(iexplore.exe)
类似地,恶意运行与PID“2364”的恶意程序“iexplore”。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2364 -p 2364 -f memdump3.raw
对PID“2364”的恶意转储如下所示。
进程ID:3728(iexplore.exe)
如下图所示,倾销恶意程序的波动性插件是针对PID“3728”
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-3728 -p 3728 -f memdump3.raw
以下快照显示了对PID“3728”的恶意插件的转储。
扫描结果
垃圾邮件的恶意程序正在扫描使用Windows防御者和恶意软件字节。
Windows Defender的
Windows Defender的扫描结果如下所示,它被标识为“Trojan:Win32 / EyeStye.N”和“Trojan:Win32 / EyeStye.plugin”
木马的细节如下。
该 木马记录击键,监控互联网活动并窃取某些登录凭据,然后将捕获的数据发送给远程攻击者以获得经济利益。 它可能会下载其他恶意软件,降低Web浏览器的安全性,并使用rootkit隐藏其恶意活动[2]。 恶意软件利用代码注入来阻止检测和删除。 当“ EyeStye.N” 执行时,它可能会将代码注入运行的进程,如 cmd.exe和explorer.exe。
我们的分析表明,恶意程序被注入到“explorer.exe”程序中,该程序是恶意程序“iexplore.exe”的父级。
的Malwarebytes
以下快照显示MalwareBytes还检测到提取的DLL是恶意的,并将其命名为“Trojan.Grabber”。
命令历史(CMD历史)
波形工具的另一个插件是“cmdscan”,用于扫描在机器上运行的命令的历史记录。 以下命令的结果显示在受感染PC上运行的命令的历史记录。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 cmdscan -f memdump3.raw
“cmdscan”的输出显示,攻击者在命令提示符下运行多个命令,并执行恶意程序“iexplorer.exe”和“ieplore.exe”。 上面输出的另一个可疑的是“_lt112.spn”。 在线资源搜索,结果表明它与恶意软件程序相关联。
_lt112.spn文件
分析师在互联网上搜索“ _lt112.spn ”字符串,并在以下网站上找到它。
网络连接
我们知道在内存分析中可以找到网络连接,所以对内存映像运行“netscan”插件,结果显示恶意程序“iexplore”在受害计算机上打开了几个连接。
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 netscan -f memdump3.raw
第1部分
第2部分
部分3
因此,详细的内存分析表明,PC受到受害机器上以“explorer.exe”和“iexplore.exe”运行的恶意软件的威胁。 它还显示,恶意程序“iexplore.exe”正在从受害者机器80端口连接。