ronscorner/ai-powered-purple-team-detection-platform

GitHub: ronscorner/ai-powered-purple-team-detection-platform

一个连接 Atomic Red Team 攻击执行与 Elastic 遥测分析的 AI 辅助紫队检测工程平台,通过自动化验证链路生成符合 MITRE ATT&CK 标准的 KQL 检测规则。

Stars: 0 | Forks: 0

# AI 驱动的紫队检测平台 一个基于 Elastic 和 KQL 的平台,用于运行受控的 MITRE ATT&CK 验证、收集遥测数据,并通过 AI 辅助生成可解释的检测规则。 本代码仓库包含了 [frontend/](frontend/) 中的完整应用程序代码库以及 [docs/](docs/) 中的支持文档。 ## 项目概述 该项目将紫队攻击执行与 Elastic 遥测分析以及 AI 辅助检测工程连接在一起。当前的实现以经过授权的 Windows 实验室环境为中心,在其中通过 Kali 控制节点执行 Red Canary Atomic Red Team 测试,将遥测数据发送到 Elasticsearch 并在 Kibana 中进行审查,然后应用程序根据产生的证据生成符合 ECS 标准的 KQL。 当前支持: - 通过 Evil-WinRM 使用 Red Canary Atomic Red Team 执行 Windows 目标攻击 - Elastic 和 Kibana 遥测数据审查 - 符合 MITRE ATT&CK 标准的 KQL 生成 - AI 辅助的日志解释和检测指导 ## 功能列表 - 通过 Web UI 进行 MITRE ATT&CK 技术和 Red Canary Atomic Red Team 测试选择 - 通过 Kali 控制 VM 路由的远程执行工作流 - 通过 PowerShell 和 `Invoke-AtomicTest` 执行 Windows 攻击 - 从 Elasticsearch 获取 Elastic 遥测数据 - 使用 ECS 风格字段生成对 Kibana 友好的 KQL - AI 辅助的分析师解释和验证指导 - 为可重复的紫队操作设计的检测工作流 ## 架构图 ``` flowchart LR A["User UI"] --> B["Backend API"] B --> C["Kali Control VM"] C --> D["Evil-WinRM"] D --> E["Windows Target"] E --> F["Red Canary Atomic Red Team / Invoke-AtomicTest"] F --> G["Windows Telemetry"] G --> H["Winlogbeat"] H --> I["Elasticsearch"] I --> J["Kibana"] I --> K["Log Analysis in UI"] B --> L["AI-Assisted Detection Generation"] K --> L L --> M["Elastic KQL Output"] ``` ## 后端工作流 后端工作流旨在将执行、遥测数据收集和 AI 推理分离开来但又相互连接: 1. 用户在 UI 中选择一项 MITRE ATT&CK 技术和一个 Red Canary Atomic Red Team 测试。 2. 应用程序在 Next.js 服务器层中调用后端 API 路由。 3. 后端通过 SSH 连接到 Kali 控制 VM。 4. Kali 启动 `evil-winrm` 以连接到 Windows 目标。 5. Windows 目标通过 `Invoke-AtomicTest` 运行针对所选技术的 Red Canary Atomic Red Team 测试。 6. Windows 遥测数据由原生日志和可选的 Sysmon 生成。 7. Winlogbeat 将遥测数据发送到 Elasticsearch。 8. 应用程序查询 Elasticsearch 以获取与执行相关的遥测数据。 9. AI 辅助检测层基于 MITRE 上下文和检索到的信号生成并解释 KQL。 10. UI 展示遥测数据、分析师指导和可重用的 KQL。 ## 后端架构 核心后端职责: - `GET /api/atomic-tests` - 发现或缓存可通过已配置的远程执行路径使用的 Red Canary Atomic Red Team 测试 - `POST /api/run-attack` - 通过 Kali 到 Windows 的工作流启动选定的 Red Canary Atomic Red Team 测试 - `GET /api/logs` - 从 Elasticsearch 检索与执行相关的遥测数据 - `POST /api/detection` - 使用 MITRE 上下文、观察到的遥测数据和确定性验证构建 Elastic KQL - `POST /api/assistant` - 用对分析师友好的语言解释遥测数据、检测和攻击行为 详细的架构说明位于 [docs/backend-architecture.md](docs/backend-architecture.md)。 ## MITRE 攻击执行概述 当前的攻击执行模型为: ``` User selects MITRE ATT&CK technique -> User selects Red Canary Atomic Red Team test -> Backend API launches execution -> SSH to Kali control VM -> Kali runs evil-winrm -> Windows PowerShell session starts -> Invoke-AtomicTest executes -> Windows telemetry is generated -> Winlogbeat ships telemetry to Elasticsearch -> UI queries Elastic and generates KQL ``` 这使得执行模型对于紫队验证而言明确且可重现。 ## Kali 控制 VM Kali 控制 VM 充当应用程序后端和 Windows 目标之间的操作桥梁。 主要职责: - 接收来自后端的 SSH 命令 - 运行 `evil-winrm` - 运行诸如 `curl` 和 `nmap` 等验证工具 - 托管辅助脚本或用于受控执行的编排包装器 Kali 节点还可以与通用的 AI 控制的 SSH 工作流集成,包括 Agent 风格的执行模式和基于 MCP 的 SSH 控制。 ## Evil-WinRM 工作流 当前的 Windows 执行路径依赖于 Evil-WinRM: ``` Backend API -> SSH to Kali -> evil-winrm -> Windows PowerShell -> Invoke-AtomicTest ``` 这允许项目将 Kali 视为操作控制机,同时将攻击执行保留在目标系统上。 ## Atomic Red Team 执行 Red Canary Atomic Red Team 提供用于 ATT&CK 验证的技术级测试内容。 在当前的实现中: - 用户选择一项技术和测试 - 后端触发 `Invoke-AtomicTest` - Windows 目标运行相关的 PowerShell 驱动的测试 - 生成的遥测数据成为 Elastic 审查和 KQL 生成的基础 ## Elasticsearch 和 Kibana 遥测数据流 遥测数据流: ``` Windows logs / Sysmon -> Winlogbeat -> Elasticsearch -> Kibana for manual validation -> Application log retrieval and analysis ``` Elasticsearch 是用于遥测数据检索的核心记录系统。Kibana 是配套的分析师交互界面,用于手动验证、字段检查和查询测试。 ## AI 辅助检测生成 检测层使用 AI 将 ATT&CK 上下文和观察到的遥测数据转化为可重用的 Elastic 检测。 AI 生成的目标是产生: - KQL,而非特定于供应商的 pipeline 语法 - 符合 ECS 标准的字段用法,例如 `process.name`、`process.command_line`、`host.name`、`source.ip` 和 `destination.ip` - 简明的面向分析师的解释,说明查询要查找的内容 ## 为什么 AI 助手很重要 该助手旨在帮助分析师更快地从 ATT&CK 技术选择过渡到有用的检测内容,而无需取代分析师的判断。 实际好处: - 用清晰且面向分析师的语言解释可疑行为 - 突出显示与所选技术或测试最相关的遥测数据 - 帮助将执行证据与符合 ECS 标准的字段联系起来 - 将观察到的行为转化为可供审查和完善的 KQL 草稿 - 支持迭代式的检测工程,而非一次性的查询生成 其目标是在攻击验证、遥测审查和可用检测逻辑之间缩短时间,同时保持分析师对最终查询的控制权。 ## AI 验证 Pipeline AI 辅助验证 pipeline 旨在优化相关性,而不是取代分析师的审查: 1. 应用程序从 Elasticsearch 检索遥测数据。 2. 信号被标准化,以便用于下游推理。 3. AI 帮助识别与所选 ATT&CK 行为最相关的日志。 4. 检测层根据这些信号生成或改进 KQL。 5. UI 展示遥测上下文和生成的 KQL,供分析师审查。 ## 截图 仪表板概览: ![仪表板概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6429a79167005321.png) MITRE ATT&CK 矩阵和 Atomic Red Team 覆盖范围视图: ![MITRE ATT&CK 矩阵和 Atomic Red Team 覆盖范围](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/ea22fde19c005323.png) 计划未来添加的内容: - 远程执行控制台截图 - Elastic 遥测数据审查截图 - 生成的 KQL 和助手指导截图 ## 设置概述 高级设置流程: 1. 准备一个 Kali 控制 VM、一个 Windows 目标 VM 和一个 Elastic/Kibana VM。 2. 将所有系统置于同一个隔离的实验室网络中。 3. 配置到 Kali 的 SSH 访问。 4. 在 Windows 上启用 WinRM。 5. 在 Windows 上安装 Red Canary Atomic Red Team、Winlogbeat 和可选的 Sysmon。 6. 将 Winlogbeat 指向 Elasticsearch。 7. 配置应用程序环境变量。 8. 从 `frontend/` 启动应用程序。 实验室设置的详细信息位于 [docs/lab-setup.md](docs/lab-setup.md)。 ## 路线图 - 扩展文档和截图以供公共 GitHub 使用 - 提高实验室部署的可重复性 - 添加更丰富的 Kibana 验证示例 - 添加检测内容导出和共享工作流 - 扩展对更多 ATT&CK 执行路径的支持 ## Linux 支持路线图 当前版本尚未实现 Linux 执行。 未来的工作应添加: - `LINUX_TARGET_IP` - `LINUX_TARGET_USER` - `LINUX_TARGET_SSH_KEY` 或基于密码的身份验证 - 用于 Linux 执行的后端路由 - 一个攻击路由器,用于选择: - Windows 技术 -> Evil-WinRM - Linux 技术 -> SSH - Linux 遥测数据收集,通过: - `auditd` - Sysmon for Linux - Elastic Agent 或 Filebeat ## 环境变量 常见的公共配置变量: - `KALI_SSH_HOST` - `KALI_SSH_USER` - `KALI_SSH_KEY_PATH` - `WINDOWS_TARGET_IP` - `WINDOWS_TARGET_USER` - `WINDOWS_TARGET_PASSWORD` - `ELASTICSEARCH_URL` - `ELASTICSEARCH_USERNAME` - `ELASTICSEARCH_PASSWORD` - `ELASTICSEARCH_API_KEY` - `KIBANA_URL` - `OPENAI_API_KEY` 当前应用程序还支持面向桥接的名称,例如: - `EXECUTION_BRIDGE_HOST` - `EXECUTION_BRIDGE_USER` - `WINRM_TARGET_HOST` - `WINRM_TARGET_USER` - `WINRM_TARGET_PASSWORD` - `ATOMIC_RED_TEAM_MODULE_PATH` 有关初始模板,请参见 [.env.example](.env.example)。 ## 贡献 欢迎做出贡献,尤其是在以下领域: - 文档改进 - Elastic/KQL 检测内容 - 实验室自动化和设置的可重复性 - 遥测数据丰富和验证 - Linux 支持的规划和实现 在做出贡献时: 1. 开启一个 Issue 或讨论以描述更改。 2. 保持执行逻辑更改的范围清晰并进行记录。 3. 优先使用环境驱动的配置,而不是硬编码的基础设施细节。 4. 保留项目以 Elastic 和 KQL 为核心的方向。 ## 安全免责声明 本项目仅适用于已授权的实验室环境、紫队验证和检测工程研究。请勿对您不拥有或未获得明确测试权限的系统运行攻击模拟。
标签:AI合规, Atomic Red Team, Cloudflare, Conpot, ECS, Elasticsearch, Evil-WinRM, IPv6, IP 地址批量处理, KQL, MITM代理, MITRE ATT&CK, OpenCanary, Petitpotam, PowerShell, Terraform, TGT, Windows安全, Winlogbeat, 人工智能, 内存分配, 子域名变形, 安全检测工程, 安全运营, 扫描框架, 攻防演练, 数据泄露检测, 无线安全, 检测规则生成, 用户模式Hook绕过, 紫队, 网络安全, 网络安全审计, 自动化攻击, 越狱测试, 远程执行, 隐私保护