HCKNKnuckle/PlanetHack_BudddyTool
GitHub: HCKNKnuckle/PlanetHack_BudddyTool
一款融合复古赛博朋克美学与实用渗透测试功能的CTF和Bug Bounty综合工具套件。
Stars: 0 | Forks: 0
# 🌍 PlanetHack - CTF 与 Bug Bounty 工具
由 **HCKNKnuckle** 创建
一款受经典电影《Hackers》美学启发的综合 CTF 和 Bug Bounty 搜寻工具。专为 **Hack The Box**、**TryHackMe**、**PwnLab** 和 **VulnHub** 等平台上的 CTF、练习靶机和实验室环境,以及经授权的 Bug Bounty 测试而构建。
**平台:** Linux (Ubuntu, Kali, Debian)。Docker 可运行于任何 Linux 主机。
## 🎯 功能
- **引导式侦察工作流** - 以“你想做什么?”开始;输入目标(IP 或域名);构建分阶段工具计划;执行或复制命令
- **80 年代复古 GUI** - 赛博朋克美学,霓虹色彩与终端氛围
- **Kali Linux 就绪** - 为 Kali 设计,支持 nmap、nikto、gobuster、whatweb、nuclei(备选:feroxbuster、dirb)
- **模块化架构** - 每个 Bug Bounty Bootcamp 章节都有其专属模块
- **多语言** - Python (API/引擎),TypeScript (SPA 前端)
- **Docker 就绪** - 在容器中运行所有内容
- **CI/CD 流水线** - 自动化构建与部署
- **全面日志记录** - 通过结构化日志追踪所有活动
## 📚 模块 (Bug Bounty Bootcamp)
每个章节对应一个模块。指南:*Bug Bounty Bootcamp* by Vickie Li。
| 章 | 模块 | 描述 |
|----|--------|-------------|
| 5 | **Reconnaissance** | nmap, whatweb, nikto, gobuster, nuclei。预设:Full, CTF, Web |
| 6 | **XSS** | Reflected, stored, DOM-based XSS |
| 7 | **Open Redirect** | 开放重定向漏洞测试 |
| 8 | **Clickjacking** | UI 伪装,点击劫持 |
| 9 | **CSRF** | 跨站请求伪造 |
| 10,17 | **Access Control** | IDOR, 权限提升, 逻辑错误 |
| 11 | **SQL Injection** | 检测, 利用, payload |
| 12 | **Business Logic** | 竞态条件, 流程操纵 |
| 13 | **SSRF** | 服务端请求伪造 |
| 14 | **Deserialization** | 不安全的反序列化 |
| 15 | **XXE** | XML 外部实体 |
| 16 | **Template Injection** | SSTI 测试 |
| 18 | **RCE** | 远程代码执行 |
| 20 | **Authentication** | Session, JWT, OAuth, SSO |
| 21 | **Information Disclosure** | 敏感数据泄露 |
| 24 | **API Security** | REST/GraphQL, 速率限制 |
| 25 | **Fuzzing** | 自动漏洞发现 |
| — | **Brute Force** | 密码/凭证攻击 — SSH, HTTP forms, FTP, MySQL, RDP, SMB |
此外还有:文件上传, 会话管理, 请求走私, Web 缓存
## 更新系统 (Staging)
用于 Ubuntu Server staging 环境的自我更新:
- **版本:** `VERSION` 文件 (SemVer)。通过 `./scripts/version.sh bump patch|minor|major` 升级版本号
- **重置:** `./scripts/version.sh reset` → 0.0.0-dev
- **更新:** `./scripts/update.sh` (git pull + deps + build) 或 `./scripts/update.sh --restart`
## 首次设置
1. **克隆或下载** 本仓库
2. **运行设置** (推荐在 Kali 上):`python main.py --setup` 或 `./setup.sh`
- 检查所需工具 (nmap, nikto, gobuster, whatweb, nuclei 等)
- 提示通过 apt 安装缺失工具 (仅限 Kali/Debian)
3. **配置**:复制 `config/config.example.yaml` 到 `config/config.yaml` 进行自定义 (可选)
4. **无需 API 密钥**;该工具在本地运行
## 🚀 快速开始
### 统一启动器 (最简单)
```
chmod +x launch.sh && ./launch.sh
```
从菜单中选择:Web、GUI 或 CLI — 本地 venv 或 Docker。
📖 **查看 [SETUP_OPTIONS.md](SETUP_OPTIONS.md) 了解完整选项矩阵**
### 运行选项一览
| 模式 | 本地 | Docker |
|------|--------------|--------|
| **Web** | `./launch.sh` → 1 / `make run-web` | `docker-compose up -d` → http://localhost:8080 |
| **GUI** | `./launch.sh` → 2 / `make run-gui` | *(不支持)* |
| **CLI** | `./launch.sh` → 3 / `make run-cli` | `docker-compose exec planet-hack python main.py --cli` |
### Docker (Web UI)
```
docker-compose up -d
# 访问 http://localhost:8080
```
📖 **查看 [DOCKER_GUIDE.md](DOCKER_GUIDE.md) 获取详细 Docker 说明**
### TypeScript/React UI (默认)
构建后的 Web UI 使用 **React SPA**。构建一次,然后启动:
```
# 1. 构建 React frontend 和 legacy scripts(一次,或在拉取更改后)
cd frontend && npm install && npm run build
cd ..
# 2. 启动服务器
python main.py --web
# 访问 http://localhost:8080 — React UI
```
如果 `frontend/dist` 不存在,Flask 将回退到旧版 Jinja2 UI。构建步骤也会将旧版脚本 (`app.js`, `terminal.js`, `matrix-rain.js`) 从 TypeScript 编译到 `python/web/static/js/`。
### 开发模式 (Vite dev server)
用于前端开发时的热重载:
```
# 终端 1:Flask API
python main.py --web
# 终端 2:Vite dev server
cd frontend && npm run dev
# 访问 http://localhost:5173 — 带有 live reload 的 React dev UI
```
**Kali**:侦察工作流会调用 nmap、nikto、gobuster、whatweb、nuclei。字典列表:`config/config.yaml` → `tools.kali`。
## 🏗️ 项目结构
```
PlanetHack_BudddyTool/
├── python/ # Python (API engine, modules)
│ ├── gui/ # Tkinter GUI (legacy)
│ ├── web/ # Flask API + legacy Jinja2 UI
│ │ ├── api_blueprint.py # REST API v1 (/api/v1/*)
│ │ ├── jobs.py # Job store for async runs
│ │ ├── static/ # CSS, JS (cyber theme)
│ │ └── templates/ # Jinja2 HTML (legacy)
│ ├── core/ # config, recon_plan, tool_runner
│ ├── modules/ # Bug bounty modules
│ └── utils/ # helpers
├── frontend/ # TypeScript SPA (Vite + React)
│ └── src/ # Pages, API client, styles
├── config/ # config.yaml
└── logs/ # Application logs (planethack_errors.log = errors only, check first)
```
## 🎨 主题
灵感来源于 **Hackers (1995)**、**Swordfish (2001)** 和 **The Matrix (1999)**:
- Matrix 数字雨动画 (Canvas / Tkinter)
- 黑底配霓虹绿、青色、洋红
- CRT 扫描线叠加
- 来自这三部电影的轮播名言
- ASCII 艺术横幅
- 自定义霓虹发光按钮
## 🔧 故障排除
当出现问题时,**请先检查 `logs/planethack_errors.log`** — 错误会自动保存至此,包含完整的回溯信息。
📖 请参阅 **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** 了解日志位置、常见问题及详细日志记录。
## 📝 许可证
MIT License - 详情见 LICENSE 文件
## 👤 作者
**HCKNKnuckle**
## 安全与法律
**本工具仅用于授权安全测试。**
- **仓库中无密钥** — 不提交 API 密钥、凭证或个人数据。参见 [SECURITY.md](SECURITY.md)。
- **仅限授权使用** — 仅测试您拥有或获得明确书面许可测试的系统
- **无担保** — 使用风险自负;维护者不对滥用行为负责
- **数据处理** — 扫描结果、日志和报告仅保存在本地。切勿将 `config/config.yaml`、`.env`、`logs/`、`sessions/` 或 `reports/` 提交到版本控制
**切记:仅黑客您拥有或明确获得许可测试的系统!**
标签:Bug Bounty, CISA项目, Clickjacking, CSRF, CTF工具, Docker, GitHub, GUI客户端, HackTheBox, IDOR, Nmap, Nucleus, PE 加载器, Python, SSRF, SSTI, TryHackMe, TypeScript, Windows内核, XSS, XXE, 二进制发布, 反序列化, 可自定义解析器, 安全插件, 安全防御评估, 密码管理, 开源工具, 插件系统, 无后门, 漏洞情报, 漏洞搜索, 用户模式钩子绕过, 白帽子, 网络安全, 网络安全框架, 虚拟驱动器, 请求拦截, 赛博朋克, 逆向工具, 隐私保护