codebysreyas/BruteBox
GitHub: codebysreyas/BruteBox
一款基于 Web 的 4 位 MPIN 暴力破解测试工具,支持 CSRF 自动处理、三阶段字典攻击和实时安全评级分析。
Stars: 0 | Forks: 0
# BruteBox
一款基于 Web 的 4 位 MPIN 暴力破解测试工具,专为授权渗透测试和安全研究而构建。BruteBox 针对使用 CSRF 保护的 POST 表单的登录端点自动执行凭据测试,并通过 WebSocket 实时报告进度。
**在线演示:** https://brutebox.onrender.com/
## 功能特性
- 每次 PIN 尝试均使用全新会话 —— 保证每次请求的 CSRF token 有效
- 三阶段攻击:自定义字典 → 常用 PIN 字典 → 完整 0000-9999 密钥空间
- 支持暂停和恢复 —— 攻击可以挂起而不丢失进度
- 通过 Socket.IO 实时输出控制台信息,带有打字机效果和时间戳
- 基于观察到的防御信号(速率限制、IP 封禁、CSRF 轮换、响应延迟)进行网站安全评级
- MPIN 强度分析,包含常用 PIN 分类
- 会话报告 —— 支持复制并导出为 `.txt`
- Matrix 雨背景、脉动状态栏、LED 状态指示器
- 扫描期间注入虚假系统噪音行,以模拟真实终端
## 技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Python, Flask, Flask-SocketIO |
| 并发 | threading |
| HTTP | requests, BeautifulSoup4 |
| 前端 | HTML, CSS, Vanilla JS |
| 实时通信 | Socket.IO |
| 部署 | Gunicorn + Eventlet, Render |
## 工作原理
1. BruteBox 为每次 PIN 尝试获取一个带有有效 CSRF token 的全新 HTTP 会话 —— 无过期 token,无跳过 PIN
2. 自定义 PIN(如果提供)优先测试
3. 接下来使用字典阶段测试 40 个最常用的 PIN
4. 剩余 PIN(0000-9999)在完整密钥空间中按顺序测试
5. 在整个攻击过程中追踪防御信号,并在完成后用于生成安全评级
## 安装说明
```
git clone https://github.com/codebysreyas/BruteBox.git
cd BruteBox
pip install -r requirements.txt
python app.py
```
在浏览器中打开 `http://localhost:5000`。
## 环境要求
```
Flask
Flask-SocketIO
requests
beautifulsoup4
python-socketio
eventlet
gunicorn
```
## 使用说明
1. 输入目标登录 URL(必须是实际的 POST 端点)
2. 输入要测试的用户名
3. (可选)展开自定义 PIN 字典并粘贴你自己的 PIN
4. 接受授权免责声明
5. 点击 `[ START ]`
控制台显示带有时间戳和颜色编码日志级别的实时进度。完成后,将显示安全评级和 MPIN 强度分析,以及可复制的会话报告。
## 安全评级系统
BruteBox 在攻击期间观察以下信号并生成评级:
| 信号 | 分数 |
|---|---|
| 检测到速率限制 (HTTP 429) | +2 |
| 检测到 IP 或账户封禁 | +3 |
| CSRF token 轮换 (5 次以上) | +2 |
| 存在基础 CSRF 保护 | +1 |
| 故意响应延迟 (平均 >2s) | +2 |
| 中等响应延迟 (平均 >1s) | +1 |
| 分数 | 评级 |
|---|---|
| 0-1 | WEAK (弱) |
| 2-3 | MODERATE (中) |
| 4-5 | STRONG (强) |
| 6+ | FORTRESS (堡垒) |
## 控制台输出
BruteBox 使用带有颜色编码日志级别的军式风格控制台:
| 标签 | 颜色 | 含义 |
|---|---|---|
| [INIT] | 青色 | 初始化和启动 |
| [SCAN] | 黄绿色 | 活动扫描进度 |
| [CSRF] | 黄色 | CSRF token 事件 |
| [RATE] | 黄色 | 检测到速率限制 |
| [BLOCK] | 黄色 | 检测到封禁 |
| [BREACH] | 绿色 | 找到 PIN |
| [HALT] | 黄色 | 攻击停止 |
| [SYS] | 深绿色 | 系统噪音 |
## 项目结构
```
BruteBox/
├── app.py # Flask backend, attack engine, Socket.IO handlers
├── requirements.txt # Python dependencies
├── Procfile # Gunicorn startup command for deployment
├── templates/
│ └── index.html # Frontend UI
└── README.md
```
## 免责声明
此工具旨在**严格用于授权安全测试**。在运行任何攻击之前,您必须拥有目标系统或获得明确的书面许可。针对您不拥有的系统的未经授权使用,在您所在司法管辖区的适用计算机犯罪和网络安全法律下是非法的。作者不对滥用行为承担任何责任。
## 作者
由 [Sreyas](https://github.com/codebysreyas) 构建 · [LinkedIn](https://linkedin.com/in/sreyasvm)
标签:CSRF绕过, DOS头擦除, Flask, HTTP请求, Linux取证, MPIN测试, PoC, Python安全工具, Socket.IO, Web安全, Web应用扫描, 会话池, 凭证填充, 反取证, 后端开发, 安全评估, 实时通信, 密码破解, 并发编程, 暴力破解, 网络安全, 蓝队分析, 逆向工具, 隐私保护