gourav001-s/EngineX
GitHub: gourav001-s/EngineX
EngineX 是一站式自动化侦察与漏洞扫描框架,解决安全测试中子域名发现、活体验证与漏洞挖掘的连贯性与报告整理问题。
Stars: 0 | Forks: 0
███████╗███╗ ██╗ ██████╗ ██╗███╗ ██╗███████╗██╗ ██╗
██╔════╝████╗ ██║██╔════╝ ██║████╗ ██║██╔════╝╚██╗██╔╝
█████╗ ██╔██╗ ██║██║ ███╗██║██╔██╗ ██║█████╗ ╚███╔╝
██╔══╝ ██║╚██╗██║██║ ██║██║██║╚██╗██║██╔══╝ ██╔██╗
███████╗██║ ╚████║╚██████╔╝██║██║ ╚████║███████╗██╔╝ ██╗
╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝
# ⚡ EngineX v3.0 — 自动化 Bug Bounty 侦察框架
**由 [RAVX](https://github.com/RAVX) 开发**
[](https://python.org)
[](https://kali.org)
[](LICENSE)
[]()
[]()
[]()
*一个具有结构化工作区管理和三格式报告功能的完整自动化侦察与漏洞发现框架。*
## 📸 预览
## 📖 目录
- [什么是 EngineX v3.0?](#-what-is-enginex-v30)
- [v3.0 的新特性](#-whats-new-in-v30)
- [功能](#-features)
- [侦察流水线](#-recon-pipeline)
- [工作区结构](#-workspace-structure)
- [系统要求](#-requirements)
- [安装说明](#-installation)
- [用法](#-usage)
- [基本命令](#basic-commands)
- [跳过特定阶段](#skip-specific-phases)
- [组合实用命令](#combined-practical-commands)
- [后台模式](#background-mode)
- [暂停与恢复](#pause-and-resume-mid-scan)
- [访问输出文件](#accessing-output-files)
- [访问报告](#accessing-reports)
- [所有 Flag 参考](#all-flags-reference)
- [推荐的 Bug Bounty 工作流](#-recommended-bug-bounty-workflow)
- [漏洞覆盖范围](#-vulnerability-coverage)
- [报告格式](#-report-formats)
- [免责声明](#-disclaimer)
- [鸣谢](#-credits)
## 🔍 什么是 EngineX v3.0?
**EngineX v3.0** 是一个模块化、全自动的侦察与漏洞发现框架,专为严谨的 Bug Bounty 猎手和渗透测试人员打造。它将行业标准工具链接为一个单命令流水线,处理从子域名发现到主动漏洞利用检测的所有工作——并在每次扫描结束时生成专业的三格式报告。
每次扫描都会在 `EngineX/
/` 下创建一个干净、隔离的工作区,每个工具的输出都会保存为其独立的 `.txt` 命名文件。再也不用在一堆扁平的输出文件夹里苦苦搜寻了。再也不用猜测哪个文件存放了什么数据。
## 🆕 v3.0 的新特性
| 变更 | 详情 |
|--------|---------|
| **结构化工作区** | 所有输出均存放在 `EngineX//` 内 —— 每个目标对应一个隔离文件夹 |
| **命名的工具输出** | 每个工具都保存到其独立的文件中:`subfinder.txt`、`httpx.txt`、`nuclei.txt` 等 |
| **HTML 报告** | 深色主题、独立的 HTML 报告,带有颜色标识的发现表格 |
| **PDF 报告** | 使用 ReportLab 生成的深色 PDF 报告,在扫描结束时自动生成 |
| **JSON 报告** | 机器可读报告,包含完整的 artifact 路径和发现数量 |
| **报告子文件夹** | 所有三份报告干净地保存在 `EngineX//reports/` 中 |
| **Workspace 类** | 集中化的目录管理 —— 架构清晰,没有散落的路径字符串 |
| **reportlab 引导安装** | `reportlab` 会像所有其他依赖项一样自动安装 —— 无需手动安装 |
| **完成横幅** | 清晰的扫描结束摘要,显示工作区路径和所有三份报告的位置 |
## ✨ 功能
| 功能 | 描述 |
|--------|-------------|
| 🔧 **自动依赖安装** | 首次运行时自动引导安装 `requests`、`colorama`、`tqdm`、`reportlab`。兼容处理 PEP 668 (Debian/Ubuntu 23+) |
| 📁 **结构化工作区** | 每个目标对应 `EngineX//` —— 每个工具输出均保存在其独立的 `.txt` 文件中 |
| 🌐 **子域名枚举** | 合并 `subfinder` + `gau` (Wayback, CommonCrawl, OTX) 以实现最大覆盖率 |
| 🟢 **存活主机检测** | 使用 `httpx` 获取标题、状态码和技术检测 |
| 🕷️ **深度抓取** | 使用 `katana` 进行 JS 抓取和被动模式探测 |
| 🔍 **目录 Fuzzing** | 最多对 20 个存活主机使用 `ffuf` + SecLists `common.txt` |
| 💉 **Nuclei OWASP 扫描** | 完整的 nuclei 扫描,过滤出严重/高/中危漏洞 |
| 🎯 **XSS 检测** | `dalfox` (主动) + 自定义反射扫描器 (支持参数感知的 URL 注入) |
| 🛢️ **SQLi 检测** | 在前 10 个带参数的 URL 上使用具有安全批处理默认设置的 `sqlmap` |
| 🔁 **SSRF 检测** | 16 个关键字的参数模式匹配 |
| 🪪 **IDOR 检测** | 包含 15 个以上关键模式的 ID 参数模式匹配 |
| 📂 **LFI 检测** | 路径遍历 payload 注入 + `/etc/passwd` 响应确认 |
| 🔀 **开放重定向** | 主动注入 + 最终 URL 验证 |
| 🗂️ **漏洞分类器** | 自动将 nuclei 输出分类到 XSS / SQLi / SSRF / LFI / RCE / SSTI / IDOR 文件中 |
| ⏸️ **暂停 / 恢复** | 基于 flag 文件的暂停机制 —— 暂停时不会丢失任何扫描数据 |
| 🌑 **后台模式** | 通过 nohup 在后台执行,并支持实时日志追踪 |
| 📊 **三格式报告** | 扫描完成时自动将 JSON + HTML + PDF 生成至 `reports/` |
## 🔄 侦察流水线
```
Target Domain
│
▼
[1] Subfinder + GAU ───────────────── subfinder.txt + gau.txt
│
▼
[2] Live Host Probing ─────────────── httpx.txt
│
▼
[3] URL Crawling ──────────────────── katana.txt
│
▼
[4] Param Extraction ──────────────── params.txt
│
├──▶ [5a] FFUF Dir Fuzzing ───── ffuf/*.json
├──▶ [5b] Nuclei OWASP ───────── nuclei.txt
├──▶ [5c] Dalfox XSS ─────────── dalfox.txt
├──▶ [5d] SQLmap ──────────────── sqlmap/
├──▶ [5e] XSS Reflection ──────── xss.txt
├──▶ [5f] SSRF Candidates ─────── ssrf.txt
├──▶ [5g] IDOR Candidates ─────── idor.txt
├──▶ [5h] LFI Detection ───────── lfi.txt
└──▶ [5i] Open Redirect ───────── redirect.txt
│
▼
[6] Classify Nuclei Output ────── classified_*.txt
│
▼
[7] Generate Reports
├── reports/report.json
├── reports/report.html
└── reports/report.pdf
```
## 📁 工作区结构
对 `example.com` 进行扫描后,确切会创建以下内容:
```
EngineX/
├── wordlists/
│ ├── PayloadsAllTheThings/
│ └── SecLists-common/
│
└── example.com/ ← isolated folder per target
│
├── subfinder.txt ← discovered subdomains
├── gau.txt ← passive URLs from gau
├── httpx.txt ← live hosts + title + tech stack
├── katana.txt ← all crawled URLs
├── params.txt ← URLs with query parameters
│
├── nuclei.txt ← nuclei OWASP findings
├── dalfox.txt ← dalfox XSS hits
├── xss.txt ← reflection XSS hits
├── ssrf.txt ← SSRF candidates
├── idor.txt ← IDOR candidates
├── lfi.txt ← confirmed LFI hits
├── redirect.txt ← open redirect candidates
│
├── classified_xss.txt
├── classified_sqli.txt
├── classified_rce.txt
├── classified_lfi.txt
├── classified_ssrf.txt
├── classified_ssti.txt
├── classified_idor.txt
│
├── ffuf/ ← per-host directory fuzz (JSON)
├── sqlmap/ ← sqlmap output directory
│
├── enginex.log ← full timestamped execution log
├── status.txt ← current scan phase (live)
│
└── reports/
├── report.json ← machine-readable report
├── report.html ← dark-themed HTML report
└── report.pdf ← professional PDF report
```
## 📋 系统要求
### 系统
- **操作系统:** Linux (推荐使用 Kali Linux, Parrot OS, Ubuntu)
- **Python:** 3.7+
- **Go:** 1.19+ — [在此下载](https://go.dev/dl/)
### 由 EngineX 在首次运行时自动安装
**Go 工具:** `subfinder` `httpx` `katana` `nuclei` `ffuf` `dalfox` `gau` `anew`
**Python 包:** `requests` `colorama` `tqdm` `reportlab` `arjun`
**系统 (apt):** `nmap` `whatweb` `wafw00f` `sqlmap` `curl` `git`
## 🛠️ 安装说明
```
# 克隆仓库
git clone https://github.com/RAVX/enginex.git
cd enginex
# 使其可执行
chmod +x enginex.py
# 运行 — 所有依赖自动安装
python3 enginex.py -d example.com
```
**可选 —— 将 Go 二进制文件添加到 PATH 中 (如果尚未设置):**
```
export PATH=$PATH:$HOME/go/bin
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc
```
## 🚀 用法
### 基本命令
```
# 最小化 — 仅域名,全部使用默认值
python3 enginex.py -d example.com
# 自定义速率限制(每秒请求数)
python3 enginex.py -d example.com -r 30
# 激进速率(快速 VPS / 良好网络)
python3 enginex.py -d example.com -r 100
# 隐蔽速率(避免检测 / 受限目标)
python3 enginex.py -d example.com -r 10
```
### 跳过特定阶段
```
# 跳过工具安装(已安装)
python3 enginex.py -d example.com --skip-install
# 跳过 wordlist 下载(已下载)
python3 enginex.py -d example.com --skip-wordlists
# 跳过 FFUF 目录 fuzzing
python3 enginex.py -d example.com --no-fuzz
# 跳过 sqlmap SQLi 扫描
python3 enginex.py -d example.com --no-sqli
# 跳过安装和 wordlist(重复运行时最快启动)
python3 enginex.py -d example.com --skip-install --skip-wordlists
```
### 组合实用命令
```
# 首次设置后最常见的运行
python3 enginex.py -d example.com --skip-install --skip-wordlists -r 50
# 轻度 recon — 无 fuzzing,无 sqlmap
python3 enginex.py -d example.com --no-fuzz --no-sqli --skip-install
# 完整扫描,隐蔽速率,跳过安装
python3 enginex.py -d example.com --skip-install -r 15
# 在新机器上从零开始完整扫描
python3 enginex.py -d example.com -r 50
```
### 后台模式
```
# 在后台运行(终端关闭后不会停止)
python3 enginex.py -d example.com --bg
# 使用自定义速率的后台运行
python3 enginex.py -d example.com -r 40 --bg
# 实时监控后台扫描
tail -f EngineX/example.com_bg.log
# 检查当前扫描阶段
cat EngineX/example.com/status.txt
# 查看带有时间戳的完整执行日志
cat EngineX/example.com/enginex.log
```
### 在扫描中途暂停与恢复
```
# 暂停正在运行的扫描
touch pause.flag
# 恢复它
rm pause.flag
```
### 访问输出文件
```
# 导航到目标 workspace
cd EngineX/example.com/
# 查看子域名
cat subfinder.txt
# 查看存活主机(标题 + 技术栈)
cat httpx.txt
# 查看所有抓取的 URL
cat katana.txt
# 查看参数 URL(用于手动测试)
cat params.txt
# 查看 nuclei 发现
cat nuclei.txt
# 查看 dalfox XSS 结果
cat dalfox.txt
# 查看 XSS 反射命中
cat xss.txt
# 查看 SSRF 候选
cat ssrf.txt
# 查看 IDOR 候选
cat idor.txt
# 查看已确认的 LFI 命中
cat lfi.txt
# 查看开放重定向候选
cat redirect.txt
# 查看已分类的 vuln 类别
cat classified_xss.txt
cat classified_sqli.txt
cat classified_rce.txt
cat classified_lfi.txt
cat classified_ssrf.txt
cat classified_ssti.txt
cat classified_idor.txt
# 统计所有输出文件中的发现
wc -l *.txt
# 实时查看扫描状态
watch cat status.txt
```
### 访问报告
```
# 导航到 reports 文件夹
cd EngineX/example.com/reports/
# 列出所有生成的 reports 及其大小
ls -lh
# 美观打印 JSON 报告
python3 -m json.tool report.json
# 在默认浏览器中打开 HTML 报告
xdg-open report.html
# 专门使用 Firefox 打开 HTML
firefox report.html
# 打开 PDF 报告
xdg-open report.pdf
# 将所有 reports 复制到桌面
cp EngineX/example.com/reports/* ~/Desktop/
```
### 所有 Flag 参考
```
python3 enginex.py --help
```
| Flag | 描述 | 默认值 |
|------|-------------|---------|
| `-d / --domain` | **必填.** 目标域名 (例如 `example.com`) | — |
| `-r / --rate` | 所有工具每秒的请求次数 | `50` |
| `--skip-install` | 跳过 Go/apt/pip 工具安装 | 关 |
| `--skip-wordlists` | 跳过字典/SecLists 下载 | 关 |
| `--no-fuzz` | 跳过 FFUF 目录 fuzzing | 关 |
| `--no-sqli` | 跳过 sqlmap 扫描 | 关 |
| `--bg` | 通过 nohup 在后台启动 | 关 |
## 🎯 推荐的 Bug Bounty 工作流
```
# ── 第 1 天:新机器首次使用 ──────────────────────────────
# 完整设置 — 安装所有内容,下载 wordlist,完整扫描
python3 enginex.py -d target.com -r 30
# ── 第 2 天及以后:工具已安装 ───────────────────────────────
python3 enginex.py -d target.com --skip-install --skip-wordlists -r 50
# ── 同一台机器上的新目标 ────────────────────────────────────
# 每个目标自动获取其自己的 EngineX// 文件夹
python3 enginex.py -d new-target.com --skip-install --skip-wordlists -r 50
# ── 崩溃或部分扫描后重新运行 ────────────────────────────
python3 enginex.py -d target.com --skip-install --skip-wordlists --no-sqli -r 40
# ── 隔夜扫描 ────────────────────────────────────────────────
python3 enginex.py -d target.com --skip-install --skip-wordlists -r 20 --bg
tail -f EngineX/target.com_bg.log
# ── 检查扫描当前正处于哪个阶段 ─────────────────────────────
watch cat EngineX/target.com/status.txt
# ── 扫描后:打开所有三个 reports ───────────────────────────
firefox EngineX/target.com/reports/report.html
xdg-open EngineX/target.com/reports/report.pdf
python3 -m json.tool EngineX/target.com/reports/report.json
```
## 🛡️ 漏洞覆盖范围
| 漏洞 | 检测方法 | 工具 / 模块 |
|--------------|-----------------|---------------|
| XSS (反射型) | 主动参数注入 + 标记确认 | `dalfox` + 自定义 |
| SQL 注入 | 主动利用 | `sqlmap` |
| SSRF | 16 个关键字的参数模式匹配 | 自定义检测器 |
| IDOR | ID 参数模式分析 (15+ 模式) | 自定义检测器 |
| LFI / 路径遍历 | payload 注入 + `root:` 响应确认 | 自定义检测器 |
| 开放重定向 | 主动注入 + 最终 URL 验证 | 自定义检测器 |
| OWASP Top 10 (广度) | 基于 template 的 nuclei 扫描 | `nuclei` |
| RCE, SSTI, XXE 等 | 基于 template 的 nuclei 扫描 | `nuclei` |
| 隐藏目录 | 暴力破解 fuzzing | `ffuf` + SecLists |
## 📊 报告格式
### JSON — `reports/report.json`
机器可读的结构化输出,包含扫描元数据、各分类的发现数量以及绝对的 artifact 文件路径。可用于自定义解析器、流水线或集成。
### HTML — `reports/report.html`
深色主题、完全独立的 HTML 报告,包含:
- 颜色标识的发现摘要表格 (绿色 = 0,黄色 = 低危,红色 = 高危)
- 完整的分类结果列表 (每个部分显示前 100 个结果)
- 零外部依赖 —— 完全离线可用
### PDF — `reports/report.pdf`
使用 ReportLab 构建的专业深色主题 PDF:
- 扫描元数据页眉
- 发现摘要表格
- 分类输出列表 (每个部分显示前 80 个结果)
- 可直接附加到 Bug Bounty 提交或渗透测试报告中
## ⚠️ 免责声明标签:CISA项目, Python, 子域名收集, 安全工具, 实时处理, 密码管理, 无后门, 渗透测试, 漏洞扫描, 网络调试, 自动化