infinition/bjorn-chaos-lab
GitHub: infinition/bjorn-chaos-lab
自动化渗透测试环境搭建工具
Stars: 6 | Forks: 0
# Bjorn Chaos Lab
[](LICENSE)   [](https://buymeacoffee.com/infinition)
用于渗透测试训练和 CTF 挑战的自动化漏洞靶机部署工具。通过 SSH 部署具有可配置攻击面的 Docker 容器,并通过带有实时反馈的浏览器 UI 进行管理。
仅限在您拥有或获得明确授权进行测试的系统和网络上使用。
## 功能
- 多种漏洞场景:SQL 注入、LFI、命令注入、无限制文件上传、配置不当的 FTP/SMB/MySQL/SSH/Telnet。
- 权限提升挑战:SUID 二进制文件、配置不当的 sudo、可写的 cron 任务。
- 三个难度级别:简单(弱密码、可见的 flag)、中等(需要进行枚举)、困难(需要组合利用漏洞)。
- 实时 Web UI,通过 Server-Sent Events 提供实时控制台输出。
- Flag 系统:每个场景植入 `BJORN_CTF_*` flag,可从 UI 进行验证。
- 凭据导出:下载 `users.txt` 和 `passwords.txt` 用于字典攻击。
- 凭据上传:通过 SSH 将收集到的凭据推送到远程机器(例如 Bjorn 设备)。
- 可选的 API bearer token 身份验证。
- 容器资源限制(内存 + CPU)以防止主机资源耗尽。
## 架构
```
bjorn-chaos-lab/
lab_engine.py Core deployment engine (SSH + Docker orchestration)
lab_server.py REST API + SSE server (Python stdlib, no framework)
lab-image/
Dockerfile Ubuntu 22.04 victim image with all services
start.sh Service initialization
web/
index.html Browser UI
style.css Y2K terminal theme
app.js Frontend logic (vanilla JS, no dependencies)
```
后端:Python 3.8+,使用 `paramiko` 进行 SSH 连接。
前端:原生 JS,使用 SSE 进行实时流式传输。无需构建步骤。
容器平台:Docker,采用 macvlan 网络进行逼真的网络级模拟。
## 环境要求
- Python 3.8+
- 支持 macvlan 的 Docker
- `paramiko`:`pip install paramiko`
- 一台运行 Docker 的主机,且可从实验室服务器通过 SSH 访问
## 运行
```
pip install paramiko
python lab_server.py
```
在 `http://localhost:8080` 打开 UI。
## Star 历史
标签:CTF平台, Docker容器, Python, TCP SYN 扫描, Web UI, Web报告查看器, XXE攻击, 安全靶场, 攻击面发现, 无后门, 渗透测试, 特权提升, 自动化部署