sakib-011/Recon-Scanner
GitHub: sakib-011/Recon-Scanner
ReconX 是一个自动化网络安全工具,用于对Web目标执行侦察、爬取和漏洞扫描,以生成结构化报告。
Stars: 0 | Forks: 0
# 侦察扫描器
Recon Scanner 是一款自动化网络安全工具,可对 Web 目标执行侦察、端点发现、技术检测、爬取和漏洞扫描。它集成了 Nikto 和 Nuclei 等工具来识别安全问题并生成结构化报告。
# ⬡ ReconX — 自动化侦察与漏洞扫描器
## 概述
**ReconX** 是一款模块化、基于命令行的自动化安全评估工具,可执行以下操作:
1. **侦察** — DNS、SSL/TLS、HTTP 头、子域名枚举、端口扫描、技术检测、JS 文件发现、robots.txt/sitemap
2. **爬取** — 递归端点发现、参数提取、表单检测、有趣路径探测
3. **漏洞扫描** — 自定义检查(SQLi、XSS、开放重定向、SSRF、错误配置)+ 可选 Nikto & Nuclei 集成
4. **报告** — 结构化文本报告、JSON 数据以及可选的 HTML 仪表板
## 架构
```
recon_scanner/
├── main.py # CLI entry point
├── modules/
│ ├── banner.py # ASCII banner
│ ├── recon.py # Reconnaissance module
│ ├── crawler.py # Web crawler & endpoint discovery
│ ├── vuln_scanner.py # Vulnerability scanner
│ ├── reporter.py # Report generator (text + HTML)
│ └── utils.py # Shared utilities
├── reports/ # Generated reports (auto-created)
├── requirements.txt
├── Dockerfile
└── README.md
```
## 要求
- **Python 3.8+** — 无需第三方 pip 包(纯标准库)
- *可选:* [Nikto](https://cirt.net/Nikto2) — `sudo apt install nikto`
- *可选:* [Nuclei](https://github.com/projectdiscovery/nuclei) — 请查看其发布页面
## 安装
```
git clone https://github.com/ [OPTIONS]
```
### 选项
| 标志 | 描述 | 默认值 |
|------|-------------|---------|
| `-t`, `--target` | 目标域名、子域名、URL 或 IP | **必填** |
| `--depth` | 爬虫深度 | `2` |
| `--threads` | 并行线程数 | `5` |
| `--timeout` | 请求超时(秒) | `10` |
| `--delay` | 请求间延迟(秒) | `0.5` |
| `--output` | 报告文件名(无扩展名) | 自动生成时间戳 |
| `--html` | 生成 HTML 报告 | 关闭 |
| `--no-vuln` | 跳过漏洞扫描 | 关闭 |
| `--no-crawl` | 跳过爬取阶段 | 关闭 |
| `--nikto` | 运行 Nikto 扫描器(如已安装) | 关闭 |
| `--nuclei` | 运行 Nuclei 扫描器(如已安装) | 关闭 |
| `--stealth` | 隐蔽模式(速率限制) | 关闭 |
| `--verbose`, `-v` | 详细调试输出 | 关闭 |
### 示例
```
# 基本扫描
python main.py -t example.com
# 带有 HTML 报告和外部扫描器的完整扫描
python main.py -t https://testphp.vulnweb.com --html --nikto --nuclei
# 仅 Recon(不进行漏洞扫描),更深层爬取
python main.py -t example.com --no-vuln --depth 4 --threads 10
# IP 上的隐身模式
python main.py -t 192.168.1.100 --stealth --delay 2
# 自定义输出文件名
python main.py -t example.com --html --output my_assessment
```
## 检查内容
### 侦察
- A/AAAA DNS 记录,所有解析的 IP
- SSL/TLS 版本、密码套件、证书详情、SAN 条目
- HTTP 响应头(服务器、X-Powered-By 等)
- 缺失的安全头(HSTS、CSP、X-Frame-Options 等)
- 端口扫描(21 个常见端口,并发)
- 子域名暴力破解(60 词字典,并发)
- 技术指纹识别(WordPress、PHP、React、Nginx 等)
- JavaScript 文件枚举
- robots.txt 和 sitemap.xml
### 爬取
- 递归 BFS 爬取(可配置深度)
- 从 `href`、`src`、`action`、内联 JS 提取链接
- 表单检测(方法、操作、输入名称)
- URL 参数提取
- 有趣路径探测(`.git`、`.env`、`/admin`、phpinfo 等)
### 漏洞检查
| 检查项 | 严重性 |
|-------|----------|
| 缺失 HSTS | 高 |
| CORS 错误配置 | 高 |
| 暴露的 .git/HEAD | 高 |
| 暴露的 .env 文件 | 高 |
| PHP Info 暴露 | 高 |
| SQL 注入(基于错误) | 严重 |
| 反射型 XSS | 高 |
| 开放重定向 | 中 |
| 缺失 X-Frame-Options | 中 |
| 缺失 CSP | 中 |
| Cookie 缺失 HttpOnly/Secure/SameSite | 中 |
| 目录列表 | 中 |
| 易受 SSRF 攻击的参数 | 中 |
| 服务器版本泄露 | 低 |
| 缺失 X-Content-Type-Options | 低 |
## 输出
报告保存在 `reports/` 目录中:
- `reports/report_YYYYMMDD_HHMMSS.txt` — 人类可读的文本报告
- `reports/report_YYYYMMDD_HHMMSS.json` — 原始 JSON 数据
- `reports/report_YYYYMMDD_HHMMSS.html` — HTML 仪表板(使用 `--html`)
## Docker
```
# 构建
docker build -t reconx .
# 运行
docker run --rm -v $(pwd)/reports:/app/reports reconx -t example.com --html
```
## 示例输出
```
██████╗ ███████╗ ██████╗ ██████╗ ███╗ ██╗██╗ ██╗
...
[*] Starting scan on: https://testphp.vulnweb.com
[*] Scan started at: 2025-01-15 14:32:01
============================================================
PHASE 1: RECONNAISSANCE
============================================================
[*] Collecting DNS information...
[+] A Record: 44.228.249.3
[*] Collecting HTTP headers...
[+] HTTP Status: 200
[!] Missing security headers: HSTS, CSP, X-Frame-Options
[*] Scanning 21 common ports...
[+] Open port: 80
[+] Open port: 443
[*] Enumerating subdomains...
[*] Detecting technologies...
[+] Detected: PHP
[+] Detected: Apache HTTP Server
============================================================
PHASE 2: CRAWLING & ENDPOINT DISCOVERY
============================================================
...
============================================================
SCAN COMPLETE
============================================================
Duration : 47.3s
Subdomains : 3
URLs Found : 128
Vulnerabilities: 11
============================================================
```
## 道德与法律
- 仅扫描您拥有或已获得**明确书面授权**进行测试的系统
- 未经许可,请勿将此工具用于生产系统
- 此工具旨在用于教育目的、授权渗透测试和 CTF/实验环境
- 遵守所有适用法律和负责任的披露实践
## 报告示例
标签:Docker支持, Frida, HTML报告生成, JSON数据输出, JS文件发现, robots.txt分析, sitemap分析, SQL注入扫描, SSL/TLS检测, SSRF扫描, Web安全, XSS扫描, 云存储安全, 侦察工具, 参数提取, 反取证, 子域名枚举, 安全测试, 安全评估, 密码管理, 开放重定向扫描, 技术检测, 攻击性安全, 数据统计, 模块化设计, 爬行工具, 端口扫描, 系统安全, 纯标准库, 结构化报告, 网络安全, 网络扫描, 自动化修复, 蓝队分析, 表单检测, 请求拦截, 逆向工具, 配置错误扫描, 隐私保护, 集成Nikto, 集成Nuclei