数字取证分析:方法、工具与流程文档化

本文探讨了在Windows事件响应中进行恶意软件分析的多种技术方法,包括使用AV扫描器、Yara规则、时间线分析以及SRUM、AmCache等系统数据源,并强调了详尽记录分析流程的重要性。

星期三,2025年11月26日

分析思考

警告——在你开始阅读这篇博客文章之前,我有责任警告你……在这篇文章中,我建议你记录你的分析过程。如果你觉得这很令人痛苦,那么你可能想直接跳过。;)

Robert Jan Mora,一个我在DFIR(数字取证与事件响应)领域内认识已久的名字,最近在LinkedIn上发布了一些非常引人入胜的内容,涉及他之前处理过的一个案例。他的帖子又链接到了印度媒体《The Wire》的这篇文章,其中包含了对他的采访。

这篇文章的“核心点”在于,一份初步报告称未发现恶意软件,而随后的两份报告(其中一份基于Robert Jan的分析)则声称在USB设备上发现了恶意软件。

Robert Jan在他的LinkedIn帖子中强调了在执法环境中进行恶意软件扫描的必要性。早在2000年代初,当我刚开始处理案件时(即使是在内部),我也提出过同样的建议,尽管当时使用的是未安装在已镜像端点上的防病毒扫描器。如今有了更多可用工具;例如,可以考虑Yara,或者更偏向于Nextron Systems的Thor扫描器。

想更多了解这个人,可以查看这篇Forensic Focus的采访。

好了,但这又怎样?为什么这很重要,或者说有什么重要意义?

在检查端点上是否存在或曾存在恶意软件时,你可以采取不同的方法,也许使用AV扫描器,或者像Yara这样的工具。或者,有时我们可能找不到恶意软件本身(也许不是立刻找到),但我们会看到它存在或曾执行过的明确迹象。例如,如果你创建了系统活动的时间线,你可能会发现来自不同来源(如注册表、Windows事件日志、文件系统等)的活动簇。单独来看,这些可能并不完全确凿,但当它们结合在一起,并且在很短的时间范围内观察时,就可能提供发生过某事的明确迹象,就像在荒野地区,通过找到足迹、被翻动的泥土、折断的树枝和被压平的草来推断曾有动物经过一样。

你甚至可能发现恶意软件曾存在于系统上或甚至执行过的迹象,尽管在调查时,可执行文件本身已不在端点上。使用诸如SRUM数据库和/或AmCache.hve以及PCA日志文件等来源,即使恶意软件已从端点移除,也可能提供有价值的见解。

当我从事PCI(支付卡行业)法证调查工作时,我们的团队发现威胁行为者使用的一些恶意软件基于“编译的”Perl脚本,用于从进程内存转储中窃取信用卡号。运行时,该程序从EXE中提取Perl运行时环境,并将其放置在一个特定的文件夹路径中,并且每次运行时,路径都略有不同;最终文件夹名称会改变。然而,利用文件系统元数据,我们能够确定一个非常明确的入侵时间线。

或者,我们可能会发现尝试执行恶意软件的迹象,但它失败了,可能是因为被检测并隔离,或者因为某些原因导致其崩溃。PCA日志文件以及应用程序事件日志中的应用程序弹出/WER(Windows错误报告)消息,在我参与的一些案件中已被证明非常具有启发性。

所有这一切的关键在于记录你的分析过程;如果你不知道你做了什么,你就无法对该过程进行修改或调整。例如,如果你有一个内存转储,你是如何搜索特定IP地址的迹象的?使用了Volatility?Bulk_extractor?不记得/不知道?如果你挂载了镜像并用AV扫描,你使用的是哪一个/哪个版本?了解你做了什么以及你发现了什么,意味着你可以随着时间的推移对该过程进行调整和改进。

发布者: H. Carvey 发布时间: 上午9:25

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计