Jacob-dot-bit/RootMeUp
GitHub: Jacob-dot-bit/RootMeUp
开源 CTF 训练平台,通过容器化隔离方式为蓝队和红队提供渐进式实战挑战。
Stars: 0 | Forks: 0
# RootMeUp
面向学生和网络安全专业人员的开源 CTF 平台。提供逐步进阶的蓝队/红队实战挑战,按团队进行容器化和隔离。
## 目标
- 按团队(3名参与者)隔离的实战挑战
- 通过 CTFd 界面进行分数可视化和提交 flag
- 免费的法语学习环境
## 架构

服务器是一台根据 CIS 基准加固的 Debian 虚拟机,承载了:
- **CTFd**:作为 systemd 服务进行管理,在 8000 端口提供访问
- **Docker**:用于构建和存储挑战的镜像
- **containerd**:实际运行挑战实例的容器运行时;作为 CTFd 与启动的容器之间的纽带
- **CTFdDockerContainersPlugin**:一个 CTFd 插件,在启动挑战时通过 containerd 为每个团队触发创建一个实例
通过 **Tailscale**(虚拟专用网络)访问平台,避免了将服务器直接暴露在互联网上。
## 前置条件
### 服务器端
- Debian(CIS 加固)
- 已安装 Docker 和 containerd
- 已安装 CTFd 并配置为 systemd 服务
- 已在 CTFd 中安装 [CTFdDockerContainersPlugin](https://github.com/Bigyls/CTFdDockerContainersPlugin) 插件
- 虚拟机上已安装 Tailscale
### 客户端
- 已安装 Tailscale 客户端:https://tailscale.com/download
- 已加入项目的 Tailscale 网络邀请(由团队提供)
## 访问平台
1. 在您的工作站上安装 Tailscale 并连接
2. 通过提供的邀请链接加入网络
3. 在 https://login.tailscale.com/admin/machines 获取虚拟机的 Tailscale IP
4. 在浏览器中访问 CTFd:
```
http://:8000
```
5. 创建账户,加入或创建团队(最多 3 名参与者)
## 启动挑战
1. 在 CTFd 中打开挑战列表
2. 选择一个挑战
3. 点击 **Start Instance** —— CTFdDockerContainersPlugin 会为您的团队创建一个专用的 Docker 实例
4. 通过提供的 URL/端口连接到实例
5. 在 CTFd 界面中提交 flag
## 可用挑战
| # | 名称 | 类别 | 状态 |
|---|-----|-----------|--------|
| 1 | corp.local 网络钓鱼 —— 事后日志分析 | 蓝队 | 已集成 |
| 2 | 内存与恶意软件分析 (Volatility) | 蓝队 | 已集成 |
| 3 | LFI 提取 flag | 红队 | 进行中 |
| 4 | 日志检测 (SIEM / ELK) | 蓝队 | 进行中 |
## 在服务器上添加挑战
在本地构建 Docker 镜像,将其导出并传输到服务器:
```
# 从 PowerShell (Windows)
scp -i "" ".\mon-challenge.tar" jakub@:/tmp/
```
在服务器上,导入镜像:
```
docker load -i /tmp/mon-challenge.tar
docker images | grep mon-challenge
```
然后在 CTFd 中创建挑战(`Admin Panel > Challenges > Create Challenge > Type: container`),并配置镜像、端口和启动命令。
## 服务器加固
根据 CIS Debian 基准应用的措施:
- 仅限通过 SSH 密钥访问,禁止 root 登录
- `iptables` 防火墙过滤进出流量
- 自动更新 (`unattended-upgrades`)
- 对本地账户实施严格的密码策略
- 配置 `auditd`(追踪密码更改、敏感文件修改)
- 使用 `Fail2Ban` 防范暴力破解尝试
## 项目团队
| 成员 | 角色 |
|--------|------|
| Jakub | 项目负责人 |
| Sarah | 网络安全架构师 |
| Evan | 网络安全开发者 |
| Lucas | 开发者与挑战设计师 |
## 有用的链接
- 任务跟踪 (Trello):https://trello.com/b/noVfLRlC/rootmeup
- GitHub 仓库:https://github.com/Jacob-dot-bit/RootMeUp
- CTFd 插件:https://github.com/Bigyls/CTFdDockerContainersPlugin
## 许可证
MIT 许可证(教育类开源项目)。详见 `LICENSE` 文件。
标签:CIS基准加固, containerd, CTFd, CTF平台, Debian, DNS解析, Docker, NIDS, OPA, Tailscale, VPN, 信息安全竞赛, 团队协作, 子域名枚举, 安全教育, 安全防御评估, 实验环境, 容器化, 开源项目, 插件开发, 插件系统, 数据展示, 法语, 系统安全, 红队, 网络安全, 网络安全审计, 网络靶场, 虚拟化, 请求拦截, 逆向工具, 隐私保护, 靶场