使用KAPE自动化采集并分析Windows取证数据

使用KAPE自动化采集并分析Windows取证数据

KAPE(Kroll Artifact Parser and Extractor)用于获取和解析 Windows 取证所需的数据源。KAPE 是一款功能强大的免费软件分类程序,它将针对设备或存储位置,自定义获取重要的取证工件,并在几分钟内对其进行解析。由于速度快,KAPE 允许取证人员优先找到对他们的案件最关键的系统。此外,在数据采集过程中,可以查看 KAPE 生成的数据以获取线索、构建时间表等。

KAPE执行流程

KAPE 有两个主要阶段:

  • 目标收集
  • 模块执行和数据解析

KAPE 专注于快速收集和处理相关数据,将工件分组到分类目录中,例如 EvidenceOfExecution、BrowserHistory 和 AccountUsage。按类别分组的优势在于取证人员不再需要知道如何处理 prefetch、shimcache、amcache、userassist 等,因为它们与需要解析的工件本身有关。

KAPE下载

https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape

在官网填写信息后,他们会将下载链接发送到你的企业邮箱。

KAPE采集目标分析 

下载KAPE后解压打开查看Targets目录,这里就是KAPE要采集的目标信息。

采集目标是文件和目录的基本集合。KAPE 知道如何读取这些原始数据源并将其扩展到目标位置上存在的文件和目录。一旦 KAPE 处理了所有目标并建立了文件列表,就会处理该列表,并将每个文件从源复制到目标目录。

对于被操作系统锁定而无法通过常规方式复制的文件,该文件将添加到辅助队列中。此辅助队列包含所有被锁定或正在使用的文件。处理完主队列后,将处理辅助队列,并使用不同的技术(使用原始磁盘读取)绕过锁定。这将获得文件在源上的副本。无论文件是如何复制的(定期复制还是通过原始访问),所有目录和文件本身的原始时间戳都会重新应用于目标文件。元数据也会收集到日志文件中。

可以看到这些内容按目录进行了进一步分类。查看防病毒目录。

可以看到许多不同防病毒软件供应商的目标文件。这对取证非常有用,例如,我们正在从运行 Avast 防病毒软件的主机上获取数据。在收集阶段,我们也将选择 Avast 目标作为我们的目标之一,将获取与 Avast 防病毒软件相关的相关日志和文件。注意文件的扩展名为 TKAPE,代表 Target KAPE。

我们可以看到它指定了 Avast 存储数据的一些常见位置。因此,当我们运行 KAPE 并将 Avast 指定为目标之一时,KAPE 将通过上述路径收集数据。同样,浏览器类别将包含不同浏览器的目标,日志目标将包含 Apache、IIS、Nginx 等日志的路径。

主要目标目录是 Windows 和复合目录。Windows 目标将包含许多针对 Windows 取证工件(如 amcache、prefetch 等)的不同目标。

当我们想要获取特定类型的数据时会很方便,例如,如果我们只想要与 RDP 相关的事件日志,我们将选择 EventLogs-RDP 目标。另一个重要的目标类别称为复合。这些目标配置为收集整个 Windows 系统中的大多数重要取证工件,而不仅仅是特定工件。例如SANS 分类和 KAPE 分类被广泛使用,因为它们收集了事件响应所需的几乎所有重要类型的工件。

KAPE 目标文件结构

通过分析SANS Target 文件来了解KAPE的目标结构。

Description: SANS Triage Collection
Author: Mark Hallman
Version: 1.4
Id: 1bfbd59d-6c58-4eeb-9da7-1d9612b79964
RecreateDirectories: true
Targets:
    -
        Name: Antivirus
        Category: Antivirus
        Path: Antivirus.tkape
    -
        Name: CloudStorage_Metadata
        Category: Apps
        Path: CloudStorage_Metadata.tkape
    -
        Name: CombinedLogs
        Category: WindowsLogs
        Path: CombinedLogs.tkape
    -
        Name: GroupPolicy
        Category: GroupPolicy
        Path: GroupPolicy.tkape

和复合目标文件中看到的一样,未指定数据源路径、位置,但指定了其他目标文件,其中包含相关工件的实际位置路径。这意味着复合目标由我们之前简要探讨过的所有其他单个目标文件组成。相当于可以自定义目标规则或根据需要修改现有规则。

我们可以使用任何目标及其参数来收集想要的采集类型。例如,有一个用于获取“浏览器”相关数据的目标,它将收集与浏览器分析相关的数据。SANS 研究所制作了一个目标模块,它获取 SANS 推荐的工件和数据。

使用 KAPE进行目标采集

上面分析了KAPE 的结构以及如何收集数据。在主 KAPE 目录中,我们看到 2 个 .exe 文件,一个名为“kape.exe”,另一个是“gkape.exe”。我们这里使用 gkape(GUI 版本)。

注意:以管理员身份运行该工具。

打开后的KAPE主界面是空的,启用“使用目标选项”开始获取数据。

我们将看到命令提示符打开并且 KAPE 正在收集数据。GUI KAPE 仅提供了一个易于使用的界面,后端实际还是调用的 CLI命令行。

取证的数据源采集会花费一段时间。

预览压缩包,可以看到KAPE几乎采集了我们取证所需的所有数据。主要数据都位于“C”目录下。

虽然我们用 FTK Imager 也可以做到类似的事情。但是使用 KAPE根据我们的目标选择自动收集数百个重要的数据源和工件,而不是对整个磁盘制作镜像。KAPE 在不到 5 分钟的时间就能采集操作,并且包含取证所需各类文件和工件,能最大程度提升我们应急响应的效率。

KAPE分类和分析模块

与目标一样,模块也是使用简单属性定义的,用于运行程序。这些程序可以针对任何内容,包括通过目标功能收集的文件,以及实时响应过程还需要用哪些其他的程序进一步处理采集到的数据。可以简单理解为对源数据的分析处理。

例如,采集了Jumplist,可以使用JLECmd 之类的工具将跳转列表的内容进一步解析并保存到 CSV。如果要收集 netstat 或 ipconfig 的输出,也可以这样做。这些选项中的每一个都将包含在其自己的模块中,然后根据模块之间的共同性分组在一起。

Description: Displays all scheduled tasks
Category: Persistence
Author: Brian Maloney
Version: 1.2
Id: 66d26feb-6dd7-4b12-b88b-b43ee17cd2c7
ExportFormat: csv
Processors:
    -
        Executable: C:\Windows\System32\schtasks.exe
        CommandLine: /Query /V /FO CSV
        ExportFormat: csv
        ExportFile: Scheduled Tasks.csv
    -
        Executable: C:\Windows\System32\schtasks.exe
        CommandLine: /Query /XML
        ExportFormat: xml
        ExportFile: Scheduled Tasks.xml

Windows_schtasks.mkape 计划任务模块将查询系统中的计划任务并自动将结果保存在CSV中。这是通过利用 Windows 中的“schtasks.exe”实用程序以及其他所需参数来完成的。我们不需要手动运行该命令,配置后KAPE 会自动运行。

EZTools 目录

此目录包含 mkape 配置文件,这些文件告诉 KAPE 如何使用 Eric Zimmerman 工具来解析许多 Windows 工件。EZTools 或 Eric Zimmerman 工具是非常优秀的取证工具,可以解析几乎所有的 Windows 工件。

bin 目录 

该目录包含所有 Eric zimmerman 工具本身,这些工具由 EZTools 或 amcache 等模块使用。

这些工具将解析大部分有价值的工件,但是我们也可以在bin目录中添加我们自己的应用程序,然后为其创建一个 mkape 文件。

复合模块 

就像在目标中一样,复合模块也存在,我们可以在其中同时利用多个其他模块。访问“Compound”目录并读取“!EZParser”模块的 mkape 文件,该模块利用了上面 EZTools 目录中的所有 mkape 文件。

可以看到它引用了 EZtools 命名的 mkape 文件,这些文件可以在 EZTools 目录中找到。模块可以与目标获取一起执行,这意味着在收集工件的同时,也会由选定的模块进行分类和解析。

KAPE自动采集并解析工件

模块可以与目标获取一起执行,这意味着在收集工件的同时,它们也会由选定的模块进行分类和解析。模块目标就是我们想要存储分类结果的地方。

“模块源”是包含要处理的文件的目录。如果已经获取了数据,则可以选择目录作为模块源,所选模块将处理该路径下的文件。

但是我们要做的是动态获取和解析分类数据,因为我们尚未获取数据,所以我们将模块源留空,。KAPE 将自动将模块源设置为目标目的地,也就是获取后数据将存储在何处,KAPE 将自动在那里处理文件。

在弹出的窗口中单击“确定”。如果在目标或模块目标路径中取消选择刷新选项,就不会出现此提示。然后和上面收集的流程是一样的。

现在我们就可以直接查看取证工具解析好之后的结果,而无需手动解析工件。 应急效率提升几十倍。

赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

发表评论