bpmorris22/Hayabusa-Wrapper
GitHub: bpmorris22/Hayabusa-Wrapper
一个零依赖的单文件 HTA GUI 工具,封装 Hayabusa 对 Windows 事件日志进行 Sigma 检测并提供交互式多维度分类分析,专为 DFIR 取证场景设计。
Stars: 0 | Forks: 0
# Hayabusa Wrapper
这是一个单文件、可双击**且可通过命令行调用**的 GUI,专为 DFIR 案件设计,使用 [Yamato-Security Hayabusa](https://github.com/Yamato-Security/hayabusa) 对 **Windows 事件日志**进行分类分析。
无需安装,无额外依赖,无框架要求:只需一个 `.hta` 文件,即可通过系统内置的 `mshta.exe` 在任何 Windows 主机上运行。将其指向实时主机、单个 `.evtx` 文件,或 KAPE/Velociraptor 采集树;它会自动为您运行 `hayabusa csv-timeline`,并将 Sigma 检测的 CSV 结果转化为交互式、感知严重程度的分类视图。


## 功能
- **为您运行 Hayabusa** - 支持文件或递归目录模式;**默认会先更新 Sigma 规则**(`update-rules`),然后运行 `csv-timeline`。异步可见的控制台确保 UI 永不卡死。强制使用 `--no-wizard`(非交互式)、`--ISO-8601`(始终为 UTC `...Z` 时间戳)和 `-C`(覆盖)。最低级别默认为 **informational(查看所有内容)**。**profile** 选择器(standard / verbose / super-verbose)控制每次检测携带的上下文量。
- 同一筛选结果集的**四个同步视图**:
- **时间顺序**(默认)- 所有检测,最新的排在最前。
- **按严重程度** - 可折叠的 Critical -> High -> Medium -> Low -> Informational 分组(默认展开 Critical/High)。
- **按规则标题** - 聚合:每条规则一行,显示计数、唯一计算机数以及首次/最后一次出现时间;可深入查看任何规则。
- **按 ATT&CK 战术** - 根据 **MITRE ATT&CK 战术**聚合的检测结果,按最高严重程度排序,显示每个战术的计数和首次/最后一次出现时间。单个检测可以映射到多个战术;点击战术可深入查看其检测结果。当运行使用 **verbose** profile(它会添加 `MitreTactics` 列),或者加载的 CSV 已经包含该列时,此视图就会出现。
- **报告与枢纽分析工具**:
- **HTML 报告** - 在处理前勾选复选框,以便将 Hayabusa 自己的 `-H` 摘要报告写入到 CSV 旁边,然后点击 **Open HTML report** 进行查看。
- **EID 指标** / **登录摘要** - 运行那些 Hayabusa 子命令(`eid-metrics` / `logon-summary`),并在可排序的网格中显示按事件 ID 的计数和登录概览。
- **在 Timeline Explorer 中打开** - 将当前加载的 CSV 直接交给 Eric Zimmerman 的 Timeline Explorer。它会自动在 `Program Files`、`C:\Tools` 以及 ZimmermanTools 目录(`C:\ZimmermanTools\...`、`C:\Tools\ZimmermanTools\...`,包括带有版本号的 `Net*\TimelineExplorer` 文件夹)或桌面快捷方式中查找。
- **感知严重程度** - 规范化缩写的 Hayabusa 级别(`crit`/`high`/`med`/`low`/`info`),带有颜色编码的标签和行色调,并显示每个级别的计数。
- **概览仪表板** - 数据集统计信息(检测数、规则数、计算机数、各级别计数、时间跨度)、按检测数排名的顶级规则、顶级计算机,以及严重/高级别的最新热点列表,所有这些都会在当前过滤器下重新计算,并且可以点击。
- **IOC / 关键词列表** - 粘贴或加载词条;与规则标题、详细信息、额外字段、计算机、通道和规则 ID 进行不区分大小写的匹配;匹配项得分 +3 并以红色高亮显示。
- **噪声 / 已知误报 (FP) 列表** - 一个单独的可加载列表,用于抑制特定于环境的误报(将它们保留在此处,而不是固化到工具中)。
- **过滤器** - 带有实时计数的级别按钮、跨所有列的自由文本搜索、计算机过滤器和 UTC 日期范围。
- **可调整大小的列** - 拖动列标题边缘可调整大小;宽度会在重启后针对每个视图(时间顺序 / 严重程度 / 规则标题 / 战术 / 通用)单独记忆;双击边缘可重置。
- **详细信息窗格** - 点击任何检测:拆分显示所有字段,`Details` / `ExtraFieldInfo` 被分解为其 ` ¦ ` 连接的子字段,高亮显示 IOC 子字符串;MITRE 战术显示为标签;verbose/super-verbose profile 的额外列会自动呈现。
- **报告** - 将筛选后的视图(任何视图)导出为 CSV,或复制格式化的行到案件笔记中。
- **命令行调用** - `mshta Hayabusa-Wrapper.hta "" [""] [/auto]` - 传入一个预先制作的 CSV 以直接打开查看器,或者传入一个带有 `/auto` 的 `.evtx` 文件夹进行处理后显示。其设计使得 [DFIR Windows Artifact Finder](https://github.com/bpmorris22/DFIR-Windows-Artifact-Finder) 可以驱动它。
## 快速开始
1. 将 `Hayabusa-Wrapper.hta` 放在 `hayabusa.exe`(包含其 `rules\` + `config\` 文件夹)旁边 - 或者放在一个包含 `hayabusa\` 子文件夹的目录中,或者将 Hayabusa 放置在 `C:\Tools\hayabusa`。
2. 双击它。**Download Hayabusa** 会获取并在应用程序旁边安装最新的构建版本 - 自动检测架构(**win-x64** / **win-aarch64**),并包含 `rules\` + `config\`。随时使用 **Update rules** 来刷新 Sigma 规则集。
3. 将输入指向事件日志源,然后点击 **Process -> analyze**:
- `C:\Windows\System32\winevt\Logs` 用于实时主机(**以管理员权限运行**),
- 从 KAPE / Velociraptor 采集获取的 `winevt\Logs`(或任何 `.evtx` 树),
- 或单个 `.evtx`。
- 在 profile 选择器中勾选 **verbose** 以填充 **By ATT&CK tactic** 视图。
4. 或者选择 **Load existing CSV...** 来分析已有的 Hayabusa `csv-timeline` CSV。非时间线 CSV(logon-summary、metrics)会在通用的可排序网格中打开。
## 命令行
```
mshta.exe "Hayabusa-Wrapper.hta" "" [""] [/auto] [/min:LEVEL] [/profile:NAME] [/from:yyyy-MM-dd] [/to:yyyy-MM-dd]
```
- `` - `.csv` 文件(自动加载到查看器中)或 `.evtx` 文件/目录(预填充;如果带有 `/auto` 则进行处理)。
- `` - CSV 输出目录(可选;默认为应用程序旁边的 `_Processed\\Hayabusa`)。
- **目标主机名** 在处理前是必需的 - 它用于在应用程序旁边命名 `_Processed\\Hayabusa` 输出文件夹(这是与 DFIR-Windows-Artifact-Finder 共享的家族约定,以便每个工具都能按主机查看处理后的证据)。它会从 `Collection--...` 路径、传递的 `_Processed\\` outDir 或实时路径的机器名中进行推测 - 如果推测错误,请覆盖它。
- **共享 IOC 列表** - 应用程序旁边的 `IOC.txt`(每行一个词条,支持 `#` 注释)会在启动时自动合并到 IOC 输入框中;一个列表覆盖整个工具包,并且您在本地粘贴的词条会被保留。
- **运行来源 + 分类摘要** - 每次成功运行都会在输出文件夹中追加一个 `runinfo.json` 条目(应用程序、主机、输入路径、文件),包括分类摘要(检测数、crit/high/med/low 计数、顶级规则);DFIR-Windows-Artifact-Finder 会在其清单中按主机显示这些信息,即使是独立运行也是如此。
- `/auto` - 立即处理(仅适用于 evtx 输入)。
- `/min:LEVEL` - 最低 Hayabusa 级别(`informational` / `low` / `medium` / `high` / `critical`)。
- `/profile:NAME` - Hayabusa 输出 profile(`standard` / `verbose` / `super-verbose`);使用 **verbose** 以填充 ATT&CK 战术视图。
- `/from:yyyy-MM-dd` `/to:yyyy-MM-dd` - 案件时间窗口(UTC,包含边界):预填充日期过滤器并记录在 `runinfo.json` 中;绝不会影响评分。[DFIR-Windows-Artifact-Finder](https://github.com/bpmorris22/DFIR-Windows-Artifact-Finder) 每次启动时都会传递这些参数。
## 注意事项与限制
- **时间戳始终为 UTC**(`--ISO-8601`),带有 `...Z` 后缀显示 - 刻意不进行本地时间转换,以确保时间在不同分析人员和时区之间没有歧义。
- **ATT&CK 战术视图需要 MITRE 数据。** Hayabusa 仅在 **verbose**(或 super-verbose)profile 下输出 `MitreTactics` 列 - 使用该 profile 运行,或加载 verbose CSV 以填充该视图。标准 profile 会将其留空,并且视图会对此进行提示。
- Hayabusa 只能检测到其 **Sigma 规则集**所涵盖的内容以及采集到的通道所包含的内容 - 没有检测到并不意味着没有活动。请保持规则更新。
- 大型时间线(数十万条检测)在平面/严重程度视图中会有显示上限(5,000 行);**导出的文件包含完整的筛选结果集**,而 **By rule title** / **By ATT&CK tactic** 视图是可扩展的分析视角。
- ` ¦ ` 子字段分隔符是非 ASCII 字符;从**网络位置**运行会触发 ANSI 回退,可能会导致其乱码 - 虽然拆分操作进行了防御性处理,但请从**本地**路径运行以获得完全的保真度。
- 支持 Velociraptor URL 编码的路径(`C%3A`)。
- Hayabusa 区分特定架构(**win-x64** 与 **win-aarch64**) - 请选择匹配的二进制文件;规则是独立于架构的。
## 许可证
MIT License - Copyright (c) 2026 Ben Morris
标签:GUI, HTA, Windows事件日志, 后端开发, 调试辅助