使用KAPE进行取证收集与时间线生成
作为SANS网络研讨会的后续内容,我想发布详细说明,介绍如何使用KAPE收集取证数据并从收集的数据生成迷你时间线。虽然我不喜欢说"按钮式取证",但一旦你启动并运行KAPE,真的只需要点击几下就可以开始工作。
我不会在这里详细讨论收集取证数据或时间线的好处(有很多好处!),而是重点介绍如何设置KAPE来实现这一目标。
KAPE基础
KAPE(Kroll Artifact Parser and Extractor)是由Eric Zimmerman编写的免费工具,可在Kroll网站上下载。从网站上看:
“KAPE是一个多功能程序,主要功能是:1)收集文件和2)使用一个或多个程序处理收集的文件。KAPE即时读取配置文件,并根据其内容收集和处理相关文件。这使得KAPE非常可扩展,因为不需要程序作者的参与即可添加或扩展功能”
为此,我编写了一个定义要收集哪些文件以创建时间线的目标,以及大约20个告诉KAPE如何处理数据的模块 - 也就是 - 制作时间线。
设置步骤
步骤1 - 下载/更新KAPE
如果你没有KAPE,请从这里下载。
如果你已经有KAPE,需要版本0.8.6.3或更高版本。要更新KAPE,请在KAPE目录的根目录中运行Get-KAPEUpdate.ps1 PowerShell脚本。
步骤2 - 获取时间线模块和目标
KAPE中的目标定义了要收集的文件。模块定义了将对收集的文件运行哪些可执行文件。
要从github获取最新的目标和模块,请运行gkape.exe并点击KAPE底部的"与GitHub同步"。这将为你提供最新的目标和模块。
我创建的时间线模块应该在\Modules\timelining子文件夹中。
步骤3 - 获取可执行文件
时间线模块将调用特定的可执行文件来运行目标。例如,如果我们想解析事件日志,KAPE会调用EvtxEcmd.exe程序来解析工件。可执行文件放在KAPE bin文件夹中。
所需可执行文件包括:
- MFTeCmd:解析$MFT文件
- EvtxECmd.exe:解析*.evtx事件日志
- Regripper v 2.8:针对各种注册表配置单元运行regripper插件
- Harlan Carvey时间线工具:解析事件日志、时间线注册表配置单元、转换时间线格式等
- Mari DeGrazia时间线工具:在文件格式之间转换
步骤4 生成时间线!
设置好目标、模块和可执行文件后,你就可以生成时间线了。
首先,在KAPE中运行目标选项以收集取证数据。这可以在挂载的映像上完成,也可以连接到感兴趣系统的外部USB驱动器上完成。
检查"使用目标选项"
- 目标源:要从中收集文件的驱动器号
- 目标目的地:要将文件复制到的位置
- 目标:选择MiniTimelineCollection 准备就绪后点击执行
KAPE现在将复制所有必需的文件并将其放入目标目的地文件夹中。
收集目标后,需要对收集的文件运行模块。
选择"使用模块选项"
- 模块源:这是KAPE复制文件的位置
- 模块目的地:这是生成的时间线将创建的位置
- 模块:选择Mini_Timeline,如果需要,选择Mini_Timeline_Slice_by_Daterange
- 变量:使用键和值字段添加两个变量computerName和dateRange
完成后,选择执行:
运行后,你将获得两个CSV格式的时间线。创建的其他文件是过程中创建的临时工作文件。
时间线内容详情
我创建的时间线目标和模块执行以下操作:
目标收集以下文件:
- $MFT
- 注册表配置单元(SAM、SECURITY、SOFTWARE、SYSTEM、NTUSER.DAT、UsrClass.dat)
- 事件日志(.evt、.evtx)
时间线模块将在时间线中包含以下内容:
- 文件MACB时间戳
- 上述注册表配置单元密钥的最后写入时间
- 运行的ReRipper插件:muicache、userassist、AppCompatCache、Services
- 带有事件ID和描述的事件日志
有关KAPE的更多详细信息,包括如何编写模块和目标,请查看KAPE文档。