探索Windows系统数字取证的关键目标与处理技术

admin 2024年5月30日14:29:37评论4 views字数 4396阅读14分39秒阅读模式
探索Windows系统数字取证的关键目标与处理技术

点击蓝字 关注我们

  前言

在数字取证领域,面对事件响应时,我们首先需要思考五个基本问题:Who、What、Where、Why和How。这些问题指导我们进行深入的分析和调查。而对于Windows系统,明确其重点分析目标,是提高事件响应效率的关键。下面我们就围绕Windows事件日志、注册表Hive、内存镜像和$MFT (和 $UsnJrnl )这些目标进行分析和处理。

Windows事件日志处理

Windows 事件日志的分析对于事件响应至关重要的。通常,分析人员会使用事件日志资源管理器 (ELE) 等来手动分析各个 Windows 事件日志。这种方法耗时且易遗留关键信息。通过聚合所有可用的 Windows 事件日志在并进行综合分析,分析师可以覆盖整个 Windows 事件日志环境,旨在提取关键的IoC,以辅助后续的取证分析。

应急时,我们通常只关注安全、系统、应用程序这三种日志,也就是上图中,红线框出来的三个,分别对应Logs目录下的Security.evtx,System.evtx,Application.evtx文件。通过使用Hayabusa工具,我们可以将这些日志导入到Timeline Explorer中进行深入分析。下面进行演示。

首先从sbousseaden的https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES下载一些示例EVTX文件。

探索Windows系统数字取证的关键目标与处理技术

对Discovery目录下的EVTX文件进行分析,运行Hayabusa工具:

.hayabusa-2.15.0-win-x64.exe csv-timeline -d ".EVTX-ATTACK-SAMPLES-masterDiscovery" -p super-verbose -o result.csv -w

其中csv-timeline是以CSV格式创建事件的取证时间轴;super-verbose能获得完整的分析结果;-w 是关闭扫描向导,以传统方式运行,但也可以根据自己的需求和偏好选择要启用的检测规则。另外,直接-l可以分析 C:WindowsSystem32winevtLogs下的所有.evtx文件。具体可参见Scan Wizard章节。其他都很好理解。运行后工具很快返回结果。

探索Windows系统数字取证的关键目标与处理技术

然后使用EricZimmersman的Timeline Explorer工具来检查result.csv文件,这是一个CSV查看器,能更好的观察和分析数据。操作就直接把csv文件拖进去。

探索Windows系统数字取证的关键目标与处理技术

将列标题拖到左上方以便进行分组,现在按检测的关键程度和被检测的计算机名称分组,更容易观察和统计数据。

探索Windows系统数字取证的关键目标与处理技术

注册表 Hive 处理

注册表保存有关软件、硬件甚至相关系统用户的重要信息。这包括有关最近使用的程序或文件、可能具有或连接到系统的设备、所转向的系统等的数据。

其中Hive是注册表结构于磁盘的一个具体单独的文件形式,我们看到的注册表是经过编辑器读取之后呈现给我们的。其中每个文件的路径都由注册表项HKLM SYSTEMCurrentControlSetControlHIVElist下的键值指出

探索Windows系统数字取证的关键目标与处理技术

探索Windows系统数字取证的关键目标与处理技术

重点关注的位置:

应分析的关键注册表配置单元如下:- SAM – 存储本地用户的凭据和帐户信息- SYSTEM – 存储所有系统配置信息- SECURITY – 存储安全策略信息- SOFTWARE – 存储有关已安装软件的所有信息

另外,在调查阶段,想分析哪些用户受到威胁,需要深入调查,这时候就可以对 NTUser.dat 和 UsrClass.dat 注册表文件进行分析。RECmd工具就提供了对这类Hive文件的读取解析功能,下面进行演示

# 扫描NTUSER.dat以搜索包含“QQ”的密钥名:RECmd.exe -f .NTUSER.dat --sk QQ# 在UsrClass.dat中搜索包含“QQ”的键值:RECmd.exe -f .UsrClass.dat --sd QQ

RECmd还提供批处理模式,使其具有处理批处理文件(.reb文件)的能力,这些文件可以批量收集和组织注册表证据。并且已经有很多预先编写好的批处理文件。

其中,“RegistryASEPs.reb”这个批处理文件包含大量的自动启动扩展点(ASEPs),这是微软用来描述可以赋予恶意代码持久性的注册表位置的术语。在最近的更新中,这个批处理文件从近 500 个注册表键和 400 个注册表值中收集数据。

例如,对NTUSER.DAT进行收集,以csv文件输出,方便分析。

.RECmd.exe --bn BatchExamplesRegistryASEPs.reb -f C:UsersuserNTUSER.DAT --nl --csv .Result.csv

探索Windows系统数字取证的关键目标与处理技术

通过Timeline Explorer可以对csv进行分析数据了,例如可以通过对KeyPath进行筛选,直接查看“CurrentVersionRun”键的数据。

探索Windows系统数字取证的关键目标与处理技术

探索Windows系统数字取证的关键目标与处理技术

此外还可以使用图形化的工具RegRipper

内存镜像处理

尽管在事件响应的过程中通常没有足够的事件进行彻底的内存镜像分析,但内存镜像中蕴含丰富的信息。

Volatility 是命令行内存分析工具,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。在某些情况下,可能需要在版本 2 和 3 之间切换。下面列出了一些常用运行的插件:

Volatility v2- Cmdline- Cmdscan- Dlllist- Iehistory - Ldrmodules- Malfind- Modules- Netscan- Notepad - Pslist- Pstree Volatility v3- windows.info.Info- windows.cmdline.CmdLine- windows.dlllist.DllList- windows.ldrmodules.LdrModules- windows.malfind.Malfind- windows.netscan.NetScan- windows.netstat.NetStat- windows.registry.hivelist- windows.pslist.PsList- windows.psscan.PsScan- windows.vadyarascan.VadYaraScan

以Volatility3的使用为例,显示内存样本的操作系统和内核详细信息。

python vol.py -f ~/Desktop/memory.dmp windows.info.Info

探索Windows系统数字取证的关键目标与处理技术

列出Windows内存镜像中存在的进程:

python vol.py -f ~/Desktop/memory.dmp windows.pslist.PsList
探索Windows系统数字取证的关键目标与处理技术

Volatility3也可通过yara对进行进行扫描。首先创建rules目录,并执行这个脚本https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9,来合并所有yara恶意软件规则。然后执行扫描

# 针对Windowspython vol.py -f ~/Desktop/memory.dmp windows.vadyarascan.VadYaraScan --yara-file .rulesmalware_rules.yar# 所有python vol.py -f ~/Desktop/memory.dmp yarascan.YaraScan --yara-file .rulesmalware_rules.yar

转储注册表Hive,这里以SOFTWARE为例进行转储

python vol.py -f ~/Desktop/memory.dmp -o ./ windows.registry.hivelist --filter SOFTWARE --dump

探索Windows系统数字取证的关键目标与处理技术

转储出来的文件可以用注册表编辑器打开,也可以用上一章节所说的工具进行进一步分析。

最后,也可以使用Autotimeliner 对捕获的内存映像进行自动处理,创建 CSV 文件格式,并导入到 Timeline Explorer 中进行进一步分析。

$MFT (和 $UsnJrnl )处理

$MFT 是最关键且重要的取证文件之一。它记录了卷中所有文件的信息,包括文件在目录中的位置、文件在驱动器上的物理位置以及文件的元数据。

$UsnJrnl($J)是另一个关键且重要的证据,它将提供指向文件创建、删除、重命名等活动的信息。面对攻击者删除或重命名文件,这些信息可以提供相关证据,并确定发生了什么。并且可以将此文件信息与 $MFT 文件中包含的信息进行关联。关于 $UsnJrnl,特别是在活跃度高的卷上,数据可能只会部分保存。

这里可以使用KAPE工具和METECmd工具配合对$MFT (和 $UsnJrnl )进行分析处理。首先使用KAPE工具, 获取 NTFS 的$MFT和journals。探索Windows系统数字取证的关键目标与处理技术

探索Windows系统数字取证的关键目标与处理技术

探索Windows系统数字取证的关键目标与处理技术

用METECmd解析处理$MFT 和 $UsnJrnl,并以CSV文件输出。

METECmd.exe -f 'H:C$MFT' --csv . --csvf mft.csvMFTECmd.exe -f 'H:C$Extend$J' --csv . --csvf usnjrnl.csv

探索Windows系统数字取证的关键目标与处理技术

同样,可以将其导入到Timeline Explorer中进行分析。其中包含时间的就有四种类型,分别是创建时间、最后修改时间、mft最后记录更改时间、最后访问时间;而0x10和0x30分别是$SI和$FN属性,相应时间戳匹配时,0x30值将保留为空。还有一个”SI<FN"字段,显示创建或最后修改的$SI小于对应的$FN时间就会标注true。

探索Windows系统数字取证的关键目标与处理技术

因为这些文件大小可能存在很大的情况,所以确定一个时间范围是非常有帮助的。此外还可以使用图形化的工具 MFTExplorer。

  小结

掌握正确的工具和流程,熟练地对重点目标进行分类和数据获取,将使我们能够快速识别威胁,确定威胁的优先级,并高效响应事件,实现事半功倍的效果。

  参考

https://www.trustedsec.com/blog/are-you-looking-for-ants-or-termites/

https://blog.onfvp.com/post/volatility-cheatsheet/

https://volatility3.readthedocs.io/en/stable/volatility3.plugins.html

https://aboutdfir.com/toolsandartifacts/windows/mft-explorer-mftecmd/

https://blog.csdn.net/m0_68012373/article/details/127419463

https://ericzimmerman.github.io/

原文始发于微信公众号(Desync InfoSec):探索Windows系统数字取证的关键目标与处理技术

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月30日14:29:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   探索Windows系统数字取证的关键目标与处理技术https://cn-sec.com/archives/2795279.html

发表评论

匿名网友 填写信息