s1d9e/blood-web

GitHub: s1d9e/blood-web

Blood-Web 是一个零依赖的模块化蜜罐系统,通过模拟多种网络服务来检测和记录攻击行为,专为渗透测试训练而设计。

Stars: 0 | Forks: 0

# Blood-Web

Version Python License Platform

## 功能 | 服务 | 默认端口 | 备用端口 | 检测内容 | |---------|-------------|----------|---------| | SSH | 2222 | 22 | Brute force, 用户名枚举, 密钥交换 | | FTP | 2121 | 21 | 凭据填充, 目录遍历, 文件访问 | | HTTP | 8080 | 80 | SQLi, XSS, 路径遍历, 目录爆破 | | Telnet | 2323 | 23 | Shell 命令, nmap, metasploit 指纹 | | SMB | 4445 | 445 | NTLM 认证, 共享枚举, 敏感文件访问 | | MySQL | 33306 | 3306 | SQL 注入, 枚举, 数据库转储尝试 | | RDP | 33890 | 3389 | 用户名抓取, 连接尝试 | **零依赖** -- 仅需 Python 3.8+,无需 `pip install`。 ## 快速开始 ``` git clone https://github.com/s1d9e/blood-web.git cd blood-web # 使用默认设置运行(非特权端口上的 SSH、FTP、HTTP、Telnet) python3 blood-web.py # 运行所有服务 + Web dashboard python3 blood-web.py --ssh --ftp --http --telnet --smb --mysql --rdp --web-monitor ``` 特权端口(< 1024)需要 root 权限: ``` sudo python3 blood-web.py --ssh --ftp --http --telnet ``` ## CLI 参考 | 参数 | 描述 | 默认值 | |------|-------------|---------| | `--ssh` / `--no-ssh` | 启用或禁用 SSH 蜜罐 | 启用 | | `--ftp` | 启用 FTP 蜜罐 | 启用 | | `--http` | 启用 HTTP 蜜罐 | 启用 | | `--telnet` | 启用 Telnet 蜜罐 | 启用 | | `--smb` | 启用 SMB 蜜罐 | 禁用 | | `--mysql` | 启用 MySQL 蜜罐 | 禁用 | | `--rdp` | 启用 RDP 蜜罐 | 禁用 | | `--web-monitor` | 启动 Web 仪表板 | 禁用 | | `--monitor-port PORT` | 仪表板监听端口 | 8081 | | `--custom-ports S F H T M Y R` | 覆盖全部 7 个服务端口 | 非特权默认值 | | `--log-dir DIR` | 日志输出目录 | `logs/` | | `--version` | 打印版本并退出 | | 默认非特权端口:`2222 2121 8080 2323 4445 33306 33890` ## 仪表板 使用 `--web-monitor` 启用实时 Web 仪表板: ``` python3 blood-web.py --web-monitor --monitor-port 8081 ``` 在浏览器中打开 **http://localhost:8081**。仪表板会显示: - 按严重程度(严重、高、中)分类的**攻击计数器** - 传入事件的**实时推送** - 按命中次数排名的**热门攻击者** - 带有条形图的**分服务统计明细** ## 配置 CLI 参数控制所有行为。以下是用于声明式配置的 TOML 示例: ``` [services] ssh = true ftp = true http = true telnet = true smb = false mysql = false rdp = false [ports] ssh = 2222 ftp = 2121 http = 8080 telnet = 2323 smb = 4445 mysql = 33306 rdp = 33890 [monitor] enabled = true port = 8081 ``` ## Docker ``` docker build -t blood-web . docker run --rm -p 2222:2222 -p 2121:2121 -p 8080:8080 \ -p 2323:2323 -p 4445:4445 -p 33306:33306 -p 33890:33890 \ -p 8081:8081 blood-web --ssh --ftp --http --telnet --web-monitor ``` ## 项目结构 ``` blood-web/ ├── blood-web.py # Core honeypot engine ├── web_monitor.py # Web monitoring dashboard ├── logs/ # Auto-generated attack logs ├── .assets/logo.svg # Project logo ├── LICENSE # MIT License ├── LEGAL.md # Legal notice and disclaimer └── README.md ``` ## 日志格式 ``` 2026-04-03 14:32:15 | 192.168.1.100:54321 -> ssh | SSH_AUTH_BRUTE_FORCE | User: admin | Severity: HIGH 2026-04-03 14:32:10 | 10.0.0.5:44321 -> http | SQL_INJECTION | /api/user?id=1' OR 1=1 | Severity: CRITICAL 2026-04-03 14:31:58 | 172.16.0.20:52341 -> ftp | FTP_CREDENTIALS | admin:password123 | Severity: HIGH ``` ## 许可证 MIT 许可证 -- 详见 [LICENSE](LICENSE)。法律条款详见 [LEGAL.md](LEGAL.md)。

Blood-Web 蜜罐 -- 仅限教育用途。

标签:IP 地址批量处理, PE 加载器, PFX证书, Python, Python安全, 安全监控, 攻击检测, 攻防研究, 无后门, 渗透测试训练, 网络安全, 蜜罐, 证书利用, 请求拦截, 逆向工具, 隐私保护