0xsvenx/scan7x
GitHub: 0xsvenx/scan7x
一款零依赖的 Go 命令行漏洞赏金侦察工具,自动拉取多平台项目范围并完成子域名枚举、存活探测、URL 收集与 JS endpoint 提取。
Stars: 1 | Forks: 0
# scan7x
**获取漏洞赏金项目的范围,然后进行侦察 —— 只需一条命令。**
选择一个平台(HackerOne / Bugcrowd / Intigriti / YesWeHack),输入目标
(例如 `red bull`),选择要获取的内容(domains / APIs / wildcards / …),
scan7x 将会下载范围、枚举子域名、探测存活主机、
收集 JavaScript、提取 endpoint,并生成一份清晰的报告 —— 所有这些都使用 Go 编写,
具有**零外部依赖**且**无需 API 密钥**。
```
███████╗ ██████╗ █████╗ ███╗ ██╗███████╗██╗ ██╗
██╔════╝██╔════╝██╔══██╗████╗ ██║╚════██║╚██╗██╔╝
███████╗██║ ███████║██╔██╗ ██║ ██╔╝ ╚███╔╝
╚════██║██║ ██╔══██║██║╚██╗██║ ██╔╝ ██╔██╗
███████║╚██████╗██║ ██║██║ ╚████║ ██║ ██╔╝ ██╗
╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝
bug-bounty recon & enumeration engine
```
## 功能
- 🎯 **选择平台和目标**:HackerOne、Bugcrowd、Intigriti、YesWeHack。
- 🗂️ **自动范围分类**:domains、wildcards、APIs、mobile apps、CIDR、source 和 other —— 每种类型保存在各自的文件中。
- 🔎 从多个来源进行**被动子域名枚举**:certspotter、crt.sh、hackertarget、rapiddns、AlienVault OTX。
- 🌐 **存活主机探测**,包含状态码和页面标题。
- 🕸️ **Wayback URL 收集** + **JavaScript** 文件提取和下载。
- 🧩 从 JS 文件中**提取 Endpoint**(路径和 API 路由)。
- 📄 **清晰的最终报告**(`report.md` + `summary.json`)和井然有序的文件夹。
- 🧱 使用 **Go** 构建,零外部依赖,可在 Windows/Linux/macOS 上运行。
## 要求与安装
你只需要 **Go 1.22+**。从 下载。
```
git clone https://github.com/0xsvenx/scan7x.git
cd scan7x
go build -o scan7x ./... # on Windows: go build -o scan7x.exe ./...
```
构建完成后,你会得到一个名为 `scan7x`(或 `scan7x.exe`)的可执行文件。
## 快速开始
### 1) 交互模式(最简单)
不加任何选项运行该工具,它会一步步引导你完成所有操作:
```
./scan7x
```
```
Select platform:
1) all
2) hackerone
3) bugcrowd
4) intigriti
5) yeswehack
Choice [1]: 3
Enter target program name (e.g. red bull): red bull
Scope found:
- domains 12
- wildcards 4
- apis 2
What to pull? comma list (domains,apis,wildcards,...) or 'all'
Choice [all]: all
Recon depth:
1) scope — only download & categorize scope
2) passive — scope + passive subdomain enum + Wayback JS list
3) full — enum + live probe + crawl + download JS + endpoints
Choice [3]: 3
```
### 2) Flags(用于自动化)
```
# 在所有平台搜索 "red bull" 并运行完整 recon
./scan7x -target "red bull"
# 仅限 HackerOne,提取 domains 和 wildcards,被动 recon
./scan7x -platform hackerone -target uber -pull domains,wildcards -recon passive
# 仅提取并分类 scope,不进行 recon
./scan7x -target shopify -recon scope
# 跳过平台查找,直接对你已知的 domains 进行 recon
./scan7x -root example.com,api.example.com -recon full -o ./out/example
```
## 工作原理(流程)
```
platform + target ─▶ scope (categorized) ─▶ enumeration ─▶ live probe
│
▼
report.md ◀─ endpoints ◀─ download JS ◀─ Wayback URLs + crawl
```
1. **Scope**:从 `bounty-targets-data` 项目拉取项目数据(每日更新,无需密钥),并自动对资产进行分类。Scope 在本地缓存 24 小时(使用 `-refresh` 强制更新)。
2. **Enumeration**:仅从被动来源收集 **wildcard roots**(例如 `*.example.com`)的子域名。明确非通配符的主机绝不进行扩展,以保持在范围之内。
3. **Probe**(在 `full` 模式下):依次通过 HTTPS 和 HTTP 检查每个主机,并记录存活的主机。
4. **URLs + JS**:从 Wayback 收集 URL,并抓取存活主机页面上的 `