yisus666-bit/ReconSuite
GitHub: yisus666-bit/ReconSuite
一款 Bash 编写的自动化侦察流水线,将多个主流安全扫描工具整合为统一工作流并生成 HTML 报告。
Stars: 0 | Forks: 0
# recon.sh — 自动化侦察 Pipeline




## 概述
`recon.sh` 是一个模块化、自动化的侦察 pipeline,专为渗透测试人员、CTF 选手和漏洞赏金猎人打造。它将行业标准工具集成到一个单一的工作流中,并生成一份包含所有发现的整洁 HTML 报告。
专为实验室、CTF 环境和授权的测试设计 —— 在 **Kali Linux** 上构建并测试。
## 功能
- **三种输入模式** — 单个主机、文件列表 (`.txt`) 或完整的 CIDR 范围
- **Nmap** — 包含服务/版本检测和默认脚本的端口扫描
- **Gobuster** — 目录和文件暴力破解
- **Nikto** — Web 服务器漏洞扫描
- **Nuclei** — 基于模板的漏洞检测
- **HTML 报告** — 自动生成、带有时间戳的独立输出
- **模块化设计** — 可针对每次扫描启用或禁用工具
- **进度指示器** — 彩色输出,易于阅读
## 演示
```
╔══════════════════════════════════════════════════════╗
║ recon.sh v1.0 — by yisus666-bit ║
╚══════════════════════════════════════════════════════╝
[*] Target : 10.10.11.25
[*] Mode : Single Host
[*] Output dir : ./recon_output/10.10.11.25_20250610_142301/
[*] Started at : 2025-06-10 14:23:01
[+] Running Nmap scan...
→ Ports found: 22, 80, 443, 8080
[+] Running Gobuster on port 80...
→ /admin (Status: 301)
→ /uploads (Status: 200)
→ /api/v1 (Status: 200)
→ /config.php (Status: 403)
[+] Running Nikto on port 80...
→ Outdated Apache version detected
→ X-Frame-Options header missing
[+] Running Nuclei...
→ [critical] CVE-2021-41773 — Apache Path Traversal
→ [medium] Missing security headers
[✔] HTML Report generated: ./recon_output/report_10.10.11.25.html
[✔] Scan completed in 4m 32s
```
## 环境要求
| 工具 | 安装命令 |
|------------|--------------------------------------------------|
| `nmap` | `sudo apt install nmap` |
| `gobuster` | `sudo apt install gobuster` |
| `nikto` | `sudo apt install nikto` |
| `nuclei` | `go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest` |
| `wordlist` | `/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt` |
## 安装说明
```
# 克隆仓库
git clone https://github.com/yisus666-bit/pentest-tools.git
cd pentest-tools
# 使脚本可执行
chmod +x recon.sh
# 可选:移动到 PATH 以进行全局访问
sudo cp recon.sh /usr/local/bin/recon
```
## 使用方法
### 基本语法
```
./recon.sh [MODE] [TARGET] [OPTIONS]
```
### 模式 1 — 单个主机
```
# 扫描单个 IP 或 hostname
./recon.sh -t 10.10.11.25
# 使用自定义输出目录
./recon.sh -t 10.10.11.25 -o /tmp/results
```
### 模式 2 — 文件列表
```
# 从 .txt 文件扫描多个目标(每行一个 host)
./recon.sh -f targets.txt
# 示例 targets.txt:
# 10.10.11.10
# 10.10.11.20
# 10.10.11.30
```
### 模式 3 — CIDR 范围
```
# 扫描整个子网
./recon.sh -c 192.168.1.0/24
# 限制为首次发现(fast mode)
./recon.sh -c 10.10.10.0/24 --fast
```
### 标志
| 标志 | 描述 |
|----------------|-----------------------------------------|
| `-t ` | 单个目标 IP 或主机名 |
| `-f ` | 包含目标列表的文件 |
| `-c ` | CIDR 网络范围 |
| `-o ` | 自定义输出目录 |
| `--fast` | 跳过 Nikto 和 Nuclei (更快的扫描) |
| `--no-gobuster`| 跳过目录暴力破解 |
| `-h` | 显示帮助 |
## 输出结构
```
recon_output/
└── 10.10.11.25_20250610_142301/
├── nmap_results.txt
├── gobuster_80.txt
├── gobuster_443.txt
├── nikto_80.txt
├── nuclei_results.txt
└── report_10.10.11.25.html ← Main HTML report
```
## 测试环境
| 环境 | 状态 |
|----------------------|---------|
| Kali Linux 2024.x | ✅ OK |
| HackTheBox machines | ✅ OK |
| TryHackMe rooms | ✅ OK |
| Local VMware labs | ✅ OK |
| Bug bounty (authorized) | ✅ OK |
## 路线图
- [ ] 添加 Feroxbuster 作为 Gobuster 的替代方案
- [ ] OSINT 模块 (Shodan, theHarvester)
- [ ] JSON 输出格式
- [ ] Slack/Discord webhook 通知
- [ ] Docker 容器支持
## 👤 作者
**Andres** ([@yisus666-bit])
正在向网络安全领域转型的网络与电信工程师
## 📄 许可证
本项目基于 MIT 许可证授权 — 详情请参阅 [LICENSE](LICENSE) 文件。
## 环境要求
| 工具 | 安装命令 |
|------------|--------------------------------------------------|
| `nmap` | `sudo apt install nmap` |
| `gobuster` | `sudo apt install gobuster` |
| `nikto` | `sudo apt install nikto` |
| `nuclei` | `go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest` |
| `wordlist` | `/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt` |
## 安装说明
```
# 克隆仓库
git clone https://github.com/yisus666-bit/pentest-tools.git
cd pentest-tools
# 使脚本可执行
chmod +x recon.sh
# 可选:移动到 PATH 以进行全局访问
sudo cp recon.sh /usr/local/bin/recon
```
## 使用方法
### 基本语法
```
./recon.sh [MODE] [TARGET] [OPTIONS]
```
### 模式 1 — 单个主机
```
# 扫描单个 IP 或 hostname
./recon.sh -t 10.10.11.25
# 使用自定义输出目录
./recon.sh -t 10.10.11.25 -o /tmp/results
```
### 模式 2 — 文件列表
```
# 从 .txt 文件扫描多个目标(每行一个 host)
./recon.sh -f targets.txt
# 示例 targets.txt:
# 10.10.11.10
# 10.10.11.20
# 10.10.11.30
```
### 模式 3 — CIDR 范围
```
# 扫描整个子网
./recon.sh -c 192.168.1.0/24
# 限制为首次发现(fast mode)
./recon.sh -c 10.10.10.0/24 --fast
```
### 标志
| 标志 | 描述 |
|----------------|-----------------------------------------|
| `-t 标签:CTI, 主机安全, 实时处理, 密码管理, 应用安全, 插件系统, 网络调试, 自动化