gracia-villarreal/zeromagenta-ai-triage
GitHub: gracia-villarreal/zeromagenta-ai-triage
一款基于 AI 的安全告警分诊工具,解析 Sysmon 遥测数据并自动关联 MITRE ATT&CK 攻击技术与 D3FEND 防御对策,生成结构化调查报告。
Stars: 1 | Forks: 0
# ZeroMagenta AI 分诊工具
一款 Python 工具,用于接收 Sysmon 安全事件遥测数据,利用 AI 对告警进行分诊,并自动结合 MITRE ATT&CK 技术和 D3FEND 防御对策来丰富调查结果。
**状态:** 积极开发中 | 当前版本:V5
**作者:** Gracia V. | [zeromagenta.com](https://zeromagenta.com)
## 本项目的作用
本项目在隔离的 Windows 实验室环境中模拟紫队检测工作流。使用 Atomic Red Team 针对 Windows 10 虚拟机执行真实的 MITRE ATT&CK 技术,该虚拟机由 Sysmon 进行监控。生成的遥测数据被导出并由 Python 脚本进行分析,该脚本筛选可疑活动,将其发送至 Google Gemini 进行 AI 辅助分诊,并利用 MITRE ATT&CK 技术详情和 D3FEND 防御对策丰富每项发现。最终输出为结构化的 JSON 报告,包含严重性评级、攻击描述、建议分析师采取的操作以及防御对策映射。
## 实验室环境
- **宿主机操作系统:** Windows 11 Pro
- **虚拟机:** Windows 10 Pro (VMware Workstation Pro 17)
- **网络:** Host-Only(测试期间隔离,临时切换至 NAT 以下载工具)
- **攻击模拟:** 使用 SwiftOnSecurity Sysmon 配置的 Atomic Red Team
- **模拟的技术:** T1033, T1082, T1016, T1057, T1012, T1053, T1547, T1562, T1003, T1087
- 版本历史
| 版本 | 描述 |
|---------|-------------|
| V1 | 基于 Atomic Red Team T1057 输出的硬编码模拟告警。证明了端到端 AI 分诊概念的可行性。 |
| V2 | 动态输入 -- 接受粘贴到终端的任何告警。增加了错误处理和模块化函数结构。 |
| V3 | 真实的 Sysmon 遥测数据摄取。解析 Sysmon XML 导出文件,过滤可疑活动,并发送至 Gemini 进行分诊。 |
| V4 | 通过 attackcti 进行 MITRE ATT&CK API 丰富。每项识别出的技术会自动丰富其战术、描述和 URL。 |
| V5 | D3FEND 集成。每项检测到的技术通过 D3FEND REST API 自动映射到防御对策。 |
## 工具与技术
| 类别 | 工具 |
|----------|------|
| 攻击模拟 | Atomic Red Team |
| 端点遥测 | Sysmon (SwiftOnSecurity 配置) |
| AI 分诊 | Google Gemini API (gemini-2.5-flash) |
| ATT&CK 丰富 | 通过 attackcti 库实现的 MITRE ATT&CK |
| 防御映射 | MITRE D3FEND REST API |
| 脚本编写 | Python 3.14 |
| 虚拟化 | VMware Workstation Pro 17 |
| 操作系统 | Windows 10 Pro (虚拟机), Windows 11 Pro (宿主机) |
## 设置与使用
### 前置条件
- Python 3.x
- Google Gemini API 密钥(可在 aistudio.google.com 获取免费额度)
- 在 Windows 虚拟机上安装带有 SwiftOnSecurity 配置的 Sysmon
- 在 Windows 虚拟机上安装 Atomic Red Team
### 安装
```
pip install google-genai python-dotenv requests attackcti
```
### 配置
将 `.env.example` 复制为 `.env` 并添加您的 API 密钥:
```
GEMINI_API_KEY=your_gemini_api_key_here
```
### 运行工具
从您的 Windows 虚拟机导出 Sysmon 事件:
```
$events = Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" -MaxEvents 100
$xml = "" + ($events | ForEach-Object { $_.ToXml() }) + " "
$xml | Out-File C:\sysmon-events.xml -Encoding UTF8
```
将 XML 文件传输到宿主机并运行:
```
python scripts/triage_v5.py
```
输出将打印到终端并以 JSON 格式保存在 reports 文件夹中。
## 主要发现
跨 T1033、T1082、T1016、T1057、T1012、T1053、T1547、T1562、T1003 和 T1087 运行 10 项技术的攻击链产生了以下结果:
- **整体严重性:** 严重
- **AI 识别出的技术:** 11 项 MITRE ATT&CK 技术
- **映射的 D3FEND 对策:** T1548 为 35 项,T1033 为 31 项,T1018 为 27 项
- **检测到的工具:** 通过 PowerShell 下载的 SharpView、Seatbelt、SharpUp、SharpWatson
- **被 Defender 拦截:** Mimikatz 执行 (T1059.001),Defender 禁用尝试 (T1562)
- **Living off the land 技术:** 全部通过 Defender 而未被检测到 -- tasklist、systeminfo、whoami、reg query、netstat
**值得注意的发现:** AI 成功从 `C:\AtomicRedTeam\atomics\T1016\src\qakbot.bat` 识别出 QakBot 侦察行为,并将完整的侦察链标记为协调攻击模式,而非孤立事件。
**开源贡献:** 发现了 attackcti 库中的一个数据空白,即 T1548.002 (Bypass UAC) 尽管存在于官方 MITRE ATT&CK 数据库中,但返回结果为零。已向 OTRF/ATTACK-Python-Client 提交了错误报告。
## 限制与未来工作
### 当前限制
- **基于关键字的过滤** 存在已知的检测盲区。老练的攻击者会使用 Base64 编码或 PowerShell 别名来混淆命令,从而完全绕过关键字匹配。例如:`whoami` 可以被替换为 `[System.Security.Principal.WindowsIdentity]::GetCurrent().Name`,产生相同的结果却不会触发任何关键字过滤器。
- **需要手动传输数据** -- 必须从虚拟机手动导出 Sysmon XML 并在分析前传输到宿主机。
- **无持久化记忆** -- 每次运行都是全新的,不感知之前的发现或历史基线。
### 计划的未来版本
| 版本 | 计划功能 |
|---------|----------------|
| V6 | 针对每项检测到的技术,执行受 SOAR 启发的自动化响应剧本 |
| V7 | 计划收集和自动化 Sysmon 导出 |
| V8 | 用于持久化存储发现结果和趋势分析的 SQLite 数据库 |
| V9 | 用于交互式报告查看的 Web 仪表板 |
### 检测工程说明
在生产环境中,检测团队通过行为链分析来解决关键字过滤盲区 -- 标记可疑的父子进程关系(无论命令内容如何)-- 以及基于 ML 的异常检测(将正常活动作为基线,并在统计偏差时发出告警)。这些方法计划在未来版本中实现。
## 致谢
- [Red Canary](https://github.com/redcanaryco/atomic-red-team) -- Atomic Red Team 框架
- [SwiftOnSecurity](https://github.com/SwiftOnSecurity/sysmon-config) -- Sysmon 配置
- [OTRF](https://github.com/OTRF/ATTACK-Python-Client) -- attackcti Python 库
- [MITRE ATT&CK](https://attack.mitre.org) -- 对手战术和技术框架
- [MITRE D3FEND](https://d3fend.mitre.org) -- 防御对策框架
## 联系方式
**Gracia V.**
作品集: [zeromagenta.com](https://zeromagenta.com)
LinkedIn: [Gracia V.](https://linkedin.com/in/graciabella)
标签:AI辅助研判, AMSI绕过, Atomic Red Team, Cloudflare, Conpot, D3FEND, DLL 劫持, JSON, MITRE ATT&CK, Python, Sysmon, VMware, Windows安全, 人工智能, 后渗透, 告警分类, 大语言模型, 威胁检测, 安全运营, 安全遥测, 扫描框架, 攻击模拟, 数据包嗅探, 数据泄露检测, 无后门, 无线安全, 用户模式Hook绕过, 紫队, 结构化报告, 网络安全, 虚拟机隔离环境, 逆向工具, 防御对策, 隐私保护, 驱动签名利用