Venu-exe/bountyrecon
GitHub: Venu-exe/bountyrecon
一款零依赖的纯 Python 一体化 bug bounty 侦察工具包,可自动执行多维度安全信息收集并生成可直接提交的 Markdown 报告。
Stars: 1 | Forks: 0
# 🎯 BountyRecon
**一体化 bug bounty 侦察工具包 —— 零依赖,纯 Python。**
BountyRecon 可对目标执行子域名发现、端口扫描、Header/CORS/SSL 审计、技术指纹识别、Wayback Machine 收集以及目录爆破,随后将所有内容汇总为一份可直接提交给 H1 的 Markdown 报告。
```
██████╗ ██████╗ ██╗ ██╗███╗ ██╗████████╗██╗ ██╗
██╔══██╗██╔═══██╗██║ ██║████╗ ██║╚══██╔══╝╚██╗ ██╔╝
██████╔╝██║ ██║██║ ██║██╔██╗ ██║ ██║ ╚████╔╝
██╔══██╗██║ ██║██║ ██║██║╚██╗██║ ██║ ╚██╔╝
██████╔╝╚██████╔╝╚██████╔╝██║ ╚████║ ██║ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝
```




## ✨ 功能
| 模块 | 标志 | 功能描述 |
|---|---|---|
| 🌐 DNS 侦察 | `dns` | A / AAAA 记录 + 反向 DNS 查询 |
| 🛡️ 安全 Headers | `headers` | 审计 OWASP 推荐的 headers,标记信息泄露 headers,检查 cookie 标志 |
| 🔌 端口扫描 | `ports` | 在通用及扩展端口列表上进行快速多线程 TCP 扫描,抓取服务 banner |
| 🔒 SSL/TLS 分析 | `ssl` | 协议/加密套件检查,证书 subject/issuer/SANs,过期倒计时 |
| 🔍 技术指纹 | `tech` | 从 headers + HTML 检测框架、服务器、CDN 和 JS 库 |
| 🌐 子域名发现 | `subs` | Certificate Transparency (crt.sh) 查询 + 字典爆破,并发解析 |
| 📜 Wayback URLs | `wayback` | 从 Wayback CDX API 获取存档 URL,标记潜在的敏感路径 |
| 📂 目录爆破 | `dirs` | 多线程探测常见的敏感文件/路径(如 `.env`, `.git`, 管理面板等) |
| 🔓 CORS 检查 | `cors` | 测试反射源和通配符 `Access-Control-Allow-Origin` 配置错误 |
每个发现都会被评分(`critical` / `high` / `medium` / `low` / `info` / `good`)并写入一份带有时间戳的 Markdown 报告中,你可以直接将其附在 bug bounty 提交内容中。
## 📦 安装
无依赖 —— 仅需 Python 3.8+。
```
git clone https://github.com/Venu-exe/bountyrecon.git
cd bountyrecon
python3 bountyrecon.py -h
```
## 🚀 用法
```
# 完整 recon(所有 modules)
python3 bountyrecon.py -t example.com
# 运行单个 module
python3 bountyrecon.py -t example.com -m headers
# 运行多个特定 modules
python3 bountyrecon.py -t example.com -m ports,ssl,cors
# 快速/缩小范围的扫描
python3 bountyrecon.py -t example.com --fast
# 自定义报告输出目录
python3 bountyrecon.py -t example.com -o ./reports
# 禁用彩色输出(例如用于 CI logs)
python3 bountyrecon.py -t example.com --no-color
```
### CLI 选项
| 标志 | 描述 |
|---|---|
| `-t`, `--target` | 目标域名,例如 `example.com`(必填) |
| `-m`, `--modules` | 以逗号分隔的模块列表(默认:`all`) |
| `--fast` | 减小范围以实现更快的扫描 |
| `-o`, `--output` | 报告输出目录(默认:`./recon_reports`) |
| `--no-color` | 禁用 ANSI 颜色输出 |
## 📄 输出示例
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡️ Security Headers Audit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[HIGH] Strict-Transport-Security: MISSING
✓ Content-Security-Policy: default-src 'self'
[MEDIUM] Server (info leak): nginx/1.18.0
ℹ Header Score: 62% (5/10 headers present)
```
每次运行都会生成一份 Markdown 报告,例如 `recon_reports/recon_example.com_20260730_155141.md`,其中包含严重程度计数的汇总表以及各模块的发现 —— 可随时直接粘贴到 HackerOne/Bugcrowd 报告中。
## 🧩 构建原理
- **零第三方依赖** —— 仅使用 Python 的标准库(`socket`, `ssl`, `urllib`, `concurrent.futures`, `argparse` 等),因此只要有 Python 3 的地方它就能运行。
- **多线程 I/O** —— 端口扫描、子域名解析和目录爆破使用 `concurrent.futures.ThreadPoolExecutor` 来并行处理数千次网络检查。
- **可插拔的模块注册表** —— 每种侦察技术都是一个独立的 `mod_*(target, report)` 函数,并注册在 `MODULES` 字典中。因此,添加新检查只需编写一个函数和一条字典条目即可。
- **集中的 `Report` 收集器** —— 每个模块都会调用 `report.add(section, finding, severity, detail)`;最后,`Report.generate()` 会将所有内容渲染成一个带有严重程度汇总表的 Markdown 文件。
- **无需密钥的外部 API** —— 使用公共端点(crt.sh,Wayback CDX API),开箱即用。
## ⚠️ 免责声明
本工具仅供**授权的安全测试**使用 —— 即您拥有或获得明确书面许可进行测试的目标(例如通过 bug bounty 项目的范围)。未经授权扫描系统可能在您所在的司法管辖区属于违法行为。作者对滥用行为不承担任何责任。
## 📜 License
MIT
标签:GitHub, Python, 动态插桩, 实时处理, 密码管理, 无后门, 资产测绘, 逆向工具