ebuggy84/bss-recon
GitHub: ebuggy84/bss-recon
一款集 19 个扫描模块于一体的开源安全侦察平台,提供攻击面评分、OWASP/MITRE 映射和 PDF 报告生成。
Stars: 0 | Forks: 0
# BSS Recon
**专为渗透测试人员、漏洞赏金猎人和安全团队构建的开源安全侦察平台。**
BSS Recon 针对目标域名运行 19 个扫描模块——包括被动 OSINT 和主动探测——然后将每个发现映射到 OWASP Top 10 和 MITRE ATT&CK 类别,对整体攻击面进行评分,并生成专业的 PDF 报告。包含一个用于实时监控扫描的 Web dashboard。
由 [Emilio Burgohy](https://github.com/ebuggy84) 构建和维护。
## 功能
- **19 个扫描模块**,涵盖 DNS、子域名、SSL、WHOIS、Web 探测、JS 分析、WAF 检测等
- 对每个发现进行 **OWASP Top 10 + MITRE ATT&CK 映射**
- **攻击面评分** —— 0-100 的综合评分及严重程度细分
- **Web dashboard**,提供实时扫描进度、动画仪表盘、严重程度甜甜圈图和模块状态跟踪
- **PDF + Markdown 报告** —— 带有品牌标识的、可直接交付给客户的评估报告
- **Traffic Analyzer** —— 粘贴 Burp HTTP 历史记录,提取 endpoint,发掘潜在的 IDOR
- **Phishing Analyzer** —— 粘贴邮件头,获取 SPF/DKIM/DMARC 判定结果并进行危险信号检测
- **Monitor 模式** —— 计划性重新扫描并带有 diff 跟踪,以检测随时间推移的变化
- **模块化架构** —— 启用/禁用单个模块,仅运行被动扫描或完整的主动扫描
## 模块
| 模块 | 类型 | 描述 |
|--------|------|-------------|
| DNS | 被动 | DNS 记录枚举 (A, MX, TXT, NS, SOA) |
| WHOIS | 被动 | 域名注册和所有权查询 |
| SSL | 被动 | SSL/TLS 证书分析和过期检查 |
| Subdomains | 被动 | 通过 Certificate Transparency 发现子域名 |
| SubMutate | 主动 | 异步 DNS 变异引擎(500-1000 次查询/秒) |
| Wayback | 被动 | 通过 Internet Archive CDX API 发现历史 URL |
| VirusTotal | 被动 | 域名/IP 信誉和威胁情报(需要 API key) |
| Shodan | 被动 | 暴露的服务和端口查询(需要 API key) |
| Hunter.io | 被动 | 电子邮件地址发现(需要 API key) |
| Google Dorks | 被动 | 用于人工调查的 OSINT 查询生成 |
| Nmap | 主动 | 端口扫描和服务检测 |
| Nuclei | 主动 | 漏洞模板扫描 |
| Web Probe | 主动 | 带有智能 404 指纹识别的路径/文件发现 |
| WAF Detect | 主动 | Web application firewall 识别 |
| Tech Detect | 主动 | 技术栈指纹识别 |
| Headers | 主动 | HTTP 安全头分析 |
| JS Analyzer | 主动 | JavaScript 密钥和 endpoint 提取 |
| Diff Tracker | 分析 | 扫描间的变更检测 |
| Score | 分析 | 综合攻击面评分 (0-100) |
## 快速开始
### 前置条件
- Python 3.10+
- Git
### 安装说明
```
git clone https://github.com/ebuggy84/bss-recon.git
cd bss-recon
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp config.yaml.example config.yaml
```
### 添加 API Keys(可选)
编辑 config.yaml 并添加您的密钥以增强扫描功能:
```
shodan:
api_key: "your-shodan-key"
virustotal:
api_key: "your-virustotal-key"
hunter:
api_key: "your-hunter-key"
```
如果未配置密钥,需要 API key 的模块将自动优雅跳过。该工具开箱即用,支持不需要密钥的被动模块。
### 运行您的首次扫描
```
# 被动扫描并生成 report
python -m bssrecon scan example.com -r
# 从扫描结果生成 PDF report
python -m bssrecon report example.com -f pdf
# 监控模式 - 每 6 小时重新扫描并跟踪变更
python -m bssrecon scan example.com -r --monitor 6
```
### 启动 Web Dashboard
```
source venv/bin/activate
cd bss-dashboard/backend && uvicorn main:app --host 0.0.0.0 --port 8000 &
cd ../frontend && python3 -m http.server 3000 --bind 0.0.0.0 &
```
在浏览器中打开 http://localhost:3000。
## Dashboard
Web dashboard 提供实时扫描监控,包含:
- 每个模块的动画状态仪表盘(从 pending 到 running 再到 done)
- 攻击面评分仪表盘(0-100,带颜色区间)
- 严重程度细分甜甜圈图(Critical/High/Medium/Low/Info)
- 带有 OWASP 和 MITRE ATT&CK 映射的发现表
- JSON 和 PDF 导出
- 用于 IDOR 候选检测的 Traffic Analyzer
- 用于邮件头分析的 Phishing Analyzer
## 项目结构
```
bss-recon/
├── bssrecon/
│ ├── core/ # 19 scanning modules
│ ├── reporting/ # PDF and Markdown report generators
│ ├── frameworks/ # OWASP/MITRE mapping definitions
│ ├── tools/ # Utility tools
│ ├── utils/ # Helper functions
│ ├── wordlists/ # Custom wordlists for subdomain mutation
│ ├── cli.py # CLI entry point and orchestrator
│ └── config.py # Configuration loader
├── bss-dashboard/
│ ├── backend/ # FastAPI server
│ └── frontend/ # React dashboard (single HTML file)
├── config.yaml.example # Template configuration
├── requirements.txt # Python dependencies
└── LICENSE # MIT License
```
## 报告
BSS Recon 生成 PDF 和 Markdown 格式的专业评估报告:
- **封面**,包含目标、日期和分析师姓名
- **执行摘要**,包含严重程度细分
- **发现表**,包含 OWASP 类别和 MITRE 技术映射
- **详细发现**,包含修复指南
- **免责声明和范围**文档
## 法律声明
此工具仅供授权的安全测试使用。在扫描您不拥有的任何目标之前,请务必获得书面许可。未经授权的扫描可能违反计算机犯罪法律。
## 许可证
[MIT License](LICENSE) — 可免费使用、修改和分发。
## 作者
**Emilio Burgohy** — [GitHub](https://github.com/ebuggy84) | [LinkedIn](https://linkedin.com/in/emilioburgohy)
标签:CTI, 逆向工具