adarshvardhansingh12/subdomain-takeover-scanner
GitHub: adarshvardhansingh12/subdomain-takeover-scanner
一款集成被动侦察、DNS 暴力破解与 HTTP 指纹识别的 Python 子域名接管扫描器,用于发现并验证 AWS S3、GitHub Pages、Azure 等云服务上可被接管的悬挂 CNAME 记录。
Stars: 0 | Forks: 0
# 🔍 子域名接管扫描器
一个 Python 工具,用于发现子域名并检查其是否存在针对 AWS S3、GitHub Pages 和 Azure 的接管漏洞。
## 🧠 工作原理
1. **被动侦察** — 查询 crt.sh(证书透明度日志)以获取已知的子域名
2. **主动暴力破解** — 通过多线程 DNS 从字典中解析子域名
3. **CNAME 匹配** — 根据已知存在漏洞的云服务模式检查 CNAME 记录
4. **HTTP 指纹识别** — 获取每个子域名的页面并寻找“未认领”的错误页面
5. **报告生成** — 输出终端表格、HTML 仪表板和 PDF 报告
## ⚙️ 设置
### 1. 克隆仓库
```
git clone https://github.com/adarshvardhansingh12/subdomain-takeover-scanner.git
cd subdomain-takeover-scanner
```
### 2. 创建虚拟环境
```
python3 -m venv venv
```
### 3. 激活虚拟环境
**Linux / Kali / macOS**
```
source venv/bin/activate
```
**Windows**
```
venv\Scripts\activate
```
### 4. 安装依赖
```
pip install -r requirements.txt
```
### 5. 验证安装(可选)
```
python3 main.py -h
```
## 🚀 用法
```
# 基础扫描(passive + brute-force)
python3 main.py -d example.com
# 仅 Passive(无 brute-force)
python3 main.py -d example.com --no-bruteforce
# 自定义 wordlist + 输出名称
python3 main.py -d example.com -w wordlists/subdomains.txt -o results/example_scan
# 更多 threads 以实现更快的扫描
python3 main.py -d example.com -t 50
```
## 📊 输出
每次运行都会生成:
* 🖥️ **终端** — 带有严重程度和置信度的彩色发现结果表格
* 🌐 **HTML 报告** — 执行摘要卡片 + 完整发现结果 + 所有子域名表格
* 📄 **PDF 报告** — 包含修复步骤的专业渗透测试风格报告
## ☁️ 支持接管的云服务
| 服务 | 严重程度 | 检测方法 |
| ------------ | -------- | ----------------------------------------------- |
| AWS S3 | 严重 | CNAME + `NoSuchBucket` 响应 |
| GitHub Pages | 高危 | CNAME + `There isn't a GitHub Pages site here` |
| Azure | 严重 | CNAME + `404 Web Site not found` |
## 📁 项目结构
```
subdomain-takeover-scanner/
├── main.py
├── scanner/
│ ├── enumerator.py
│ ├── detector.py
│ ├── fingerprints.py
├── reports/
│ ├── html_report.py
│ ├── pdf_report.py
│ ├── terminal_report.py
├── wordlists/
├── requirements.txt
├── README.md
└── .gitignore
```
## ⚠️ 局限性
* 依赖外部 API(可能会失败或触发速率限制)
* 可能存在误报
* 指纹数据库有限
* 暂无速率限制(尚未实现)
## 🚀 路线图
* [x] crt.sh 被动枚举
* [x] 多线程 DNS 暴力破解
* [x] AWS S3 / GitHub Pages / Azure 检测
* [x] HTML + PDF + 终端报告
* [ ] Heroku / Netlify / Fastly 指纹
* [ ] Slack/邮件告警
* [ ] CI/CD 集成模式
## 💼 简历项目描述
## ⭐ 支持
如果您觉得这个项目有用:
* ⭐ 给仓库加星标
* 🍴 复刻仓库
* 🛠️ 贡献改进
标签:AWS S3, Azure, CNAME记录, dangling CNAME, DNS安全, DNS爆破, GitHub, GitHub Pages, GraphQL安全矩阵, HTML报告, HTTP指纹识别, PDF报告, Python, 域名安全, 子域名接管, 子域名枚举, 安全工具库, 安全扫描器, 插件系统, 无后门, 系统安全, 网络安全, 被动侦察, 证书透明度日志, 资产梳理, 逆向工具, 隐私保护