infinition/bjorn-chaos-lab

GitHub: infinition/bjorn-chaos-lab

自动化渗透测试环境搭建工具

Stars: 6 | Forks: 0

Bjorn Chaos Lab # Bjorn Chaos Lab [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ![Python](https://img.shields.io/badge/Python-3776AB?style=flat&logo=python&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-2496ED?style=flat&logo=docker&logoColor=white) [![请我喝杯咖啡](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=flat&logo=buy-me-a-coffee&logoColor=black)](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 历史 Star History Chart ## 许可证 MIT。详情见 [LICENSE](LICENSE)。
标签:CTF平台, Docker容器, Python, TCP SYN 扫描, Web UI, Web报告查看器, XXE攻击, 安全靶场, 攻击面发现, 无后门, 渗透测试, 特权提升, 自动化部署