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

# kube-raid (kraid)
**专注于 Kubernetes 的攻击安全与红队框架**
[](LICENSE)
[](https://www.typescriptlang.org/)
[](https://attack.mitre.org/matrices/enterprise/containers/)
[](https://www.linkedin.com/in/cwagnerdevops)
[](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, 安全学习资源, 安全插件, 暗色界面, 红队框架, 自动化攻击