Cwagne17/kube-raid

GitHub: Cwagne17/kube-raid

kube-raid 是一个基于 MITRE ATT&CK 矩阵的 Kubernetes 红队框架,提供模块化攻击技术模拟、内置 C2 和自动化上下文发现,用于评估容器集群的安全防御能力。

Stars: 0 | Forks: 0

Kraid Logo # kube-raid (kraid) **专注于 Kubernetes 的攻击安全与红队框架** [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/) [![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-red.svg)](https://attack.mitre.org/matrices/enterprise/containers/) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Christopher%20Wagner-0077B5?logo=linkedin)](https://www.linkedin.com/in/cwagnerdevops) [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-Support-FFDD00?logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/cwagne17)
## 概述 **kube-raid**(CLI:`kraid`)是一个专注于 Kubernetes 的攻击安全与红队框架,旨在模拟 Kubernetes 环境内部的对抗行为。kraid 使用 TypeScript 构建并采用模块化架构,使安全研究人员和红团队能够通过基于 ATT&CK 的技术来评估 Kubernetes 集群的安全性。 ### 核心特性 - 🎯 **ATT&CK 驱动**:每个模块均映射到 MITRE ATT&CK® 针对容器的战术和技术 - 🔧 **模块化架构**:插件式扩展,技术与实现明确分离 - 🖥️ **受 Metasploit 启发的控制台**:提供熟悉的 TUI,具备上下文感知提示和丰富的输出格式 - 🤖 **内置 C2**:具备命令与控制能力,可维持持久访问 - 🔐 **上下文发现**:自动发现 Kubernetes 凭证(集群内、kubeconfig、云提供商) - 🎭 **多种执行模式**:可从您的工作站运行,或部署在已攻陷的 pod 内部 ## 快速开始 ``` # 全局安装 kraid npm install -g kube-raid # 启动 console kraid # 或使用特定的 kubeconfig 运行 kraid --kubeconfig ~/.kube/config # 在 in-cluster 中运行 (从受陷的 pod 中) kraid --in-cluster ``` ## 架构 kraid 建立在强大的面向对象(OOP)基础之上,包含抽象类和层次化的模块注册: ``` Tactic (ATT&CK TA####) └─ Technique (ATT&CK T####) └─ TechniqueImplementation (concrete exploit/tool) └─ Payload (reusable payloads) ``` ### 核心组件 - **模块注册表**:所有战术、技术和实现的集中注册表 - **执行引擎**:标准化的执行 pipeline,包含参数验证和错误处理 - **上下文管理器**:管理 Kubernetes 上下文和凭证 - **C2 系统**:负责 agent 部署和会话管理 - **TUI 控制台**:交互式命令行界面 ## 控制台使用 ``` kraid> list tactics kraid> use T1611 kraid(T1611)> show implementations kraid(T1611)> use docker-sock-escape kraid(docker-sock-escape)> show options kraid(docker-sock-escape)> set socketPath /var/run/docker.sock kraid(docker-sock-escape)> run ``` ## 支持的战术 kraid 实现了涵盖 MITRE ATT&CK 容器矩阵的各项技术: - **TA0001** - 初始访问 - **TA0002** - 执行 - **TA0003** - 持久化 - **TA0004** - 权限提升 - **TA0005** - 防御规避 - **TA0006** - 凭证访问 - **TA0007** - 发现 - **TA0008** - 横向移动 - **TA0009** - 收集 - **TA0040** - 影响 ## 开发 ### 前置条件 - Node.js 18+ - TypeScript 5.0+ - kubectl(用于集群外使用) ### 从源码构建 ``` # 克隆 repository git clone https://github.com/yourusername/kube-raid.git cd kube-raid # 安装 dependencies npm install # 构建 npm run build # 在开发环境中运行 npm run dev ``` ### 项目结构 ``` src/ ├── core/ # Core framework (Tactic, Technique, Registry) ├── tactics/ # ATT&CK tactics and techniques ├── payloads/ # Reusable payloads ├── tui/ # Console interface ├── c2/ # Command & control └── context/ # Kubernetes context management ``` ## 创建自定义模块 ### 示例:新技术实现 ``` class MyCustomEscape extends TechniqueImplementation { readonly id = "my-custom-escape"; readonly name = "My Custom Escape"; readonly techniqueId = "T1611"; readonly type = ImplementationType.ACTIVE; readonly executionMode = ExecutionMode.AGENT; readonly parameters: ParameterDefinition[] = [ { name: "target", type: "string", required: true, description: "Target path", }, ]; async execute(execContext: ExecutionContext): Promise { // Your implementation here return { success: true, message: "Escape successful", }; } } ``` 请参阅[开发者文档](./.kiro/specs/documentation-developer-sdk/)获取详细指南。 ## 安全与道德 ⚠️ **警告**:kube-raid 是一款功能强大的攻击安全工具,仅供授权的安全测试使用。 - 仅针对您拥有或获得明确书面授权测试的系统使用 - 在执行前了解每种技术的影响 - 使用内置的 `check` 模式验证前置条件,而不进行实际利用 - 启用“安全模式”以限制破坏性操作 - 始终遵循负责任的披露原则 ## 灵感来源 kube-raid 的灵感来源于: - **Metasploit**:模块化的 exploit 架构和控制台界面 - **Pacu**:云端 exploitation 工作流和会话管理 - **Kubesploit**:专注于 Kubernetes 攻击面 - **Empire/Merlin**:C2 能力和 agent 管理 ## 路线图 - [ ] 核心框架实现 - [ ] 初始战术/技术覆盖(发现、权限提升) - [ ] 带有基础命令的 TUI 控制台 - [ ] 上下文发现(集群内、kubeconfig) - [ ] 基础 agent 部署 - [ ] 云提供商上下文发现(AWS、GCP、Azure) - [ ] 扩展技术覆盖范围 - [ ] 高级 C2 特性 - [ ] ATT&CK Navigator 集成 ## 许可证 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE)。 ## 免责声明 本工具仅供教育和授权安全测试目的使用。作者和贡献者不对本工具被滥用或造成的损害负责。在进行测试前,请务必获取适当的授权。 ## 支持与联系 - 💼 LinkedIn:[Christopher Wagner](https://www.linkedin.com/in/cwagnerdevops) - ☕ 支持开发:[请我喝杯咖啡](https://buymeacoffee.com/cwagne17) - 🐛 GitHub Issues:[报告 Bug 或请求功能](https://github.com/yourusername/kube-raid/issues)
用 ❤️ 为安全研究社区构建
标签:C2框架, MITM代理, StruQ, TypeScript, 安全学习资源, 安全插件, 暗色界面, 红队框架, 自动化攻击