基础事件响应中的Volatility工作流程
导语:最近,我发现自己需要对完整内存转储进行一些调查。本文将讲述基础事件响应中的Volatility工作流程。
最近,我发现自己需要对完整内存转储进行一些调查。经过一段时间的搜索,我发现了Volatility-Labs的这篇文章,根据其中的指导方法,我可以很好的来评估内存转储。当然,你可能会有更好、更深度的内存恶意软件分析技术,但对内存转储进行基本的分析却是必不可少的。
首先,我们需要收集内存转储。具体如何选择相关工具,请点此。在这篇文章的测试中,我选择使用了DumpIt,DumpIt 是一款绿色免安装的windows内存镜像取证工具。利用它我们可以轻松的将一个系统的完整内存镜像下来,并用于后续的调查取证工作。
将可执行文件加载到闪存驱动器后,我将其附加到系统进行调查。在本文,我使用带有/ T标志的命令,以RAW格式复制内存。
.\DumpIt.exe /T RAW
在获取内存并将其复制到分析系统之后,我们首先需要找到的是我们需要使用的内存配置文件,以便我们的工具知道如何读取转储。在本文的示例中,我将使用开源工具Volatility来查询和分析转储文件。在此,我建议从其下载页面直接下载独立可执行文件,以避免产生安全问题。对于Volatility,要运行的命令是imageinfo,这应该会需要等待一段时间,然后出现输出推荐的内存配置文件。
现在,有了配置文件,我们就可以查询任何系统管理员都应该熟悉的一些数据、正在运行的流程和网络活动。
· -profile:设置volatile,以了解如何处理内存转储;
· -f:指定要提取的volatile文件(原始内存文件);
· pslist:列出正在运行的进程;
· netscan:网络活动,类似于许多操作系统上的netstat;
查看此数据,分析师可能会注意到一些奇怪的情况,或者能够检查基线或系统所有者是否有来自系统的已知良好活动的列表。
查询并检查实时数据后,可以对已加载的可执行文件进行评估。为此,我们将转储所有DLL和加载的模块。
在本文,我们将使用-D标志将文件转储到输出目录。
· dlldump:转储加载的dll
· moddump:转储加载的模块
接下来,我们将使用volatility 模块 malfind在运行的进程中查找代码注入,并将其转储到输出目录。
· malfind:寻找注入的shellcode
在收集完这些数据后,我们将使用已知的IOC进行扫描。在本文的示例中,我使用了ClamAV,Loki和SparkCore(顺序如下),其中每个都能够了解恶意运行的代码。
所以现在事件响应者可以确认系统内存中存在恶意代码并且可以适当地进行更深入的分析。
发表评论