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绕过, 紫队, 结构化报告, 网络安全, 虚拟机隔离环境, 逆向工具, 防御对策, 隐私保护, 驱动签名利用