RudrakshP07/SHADOWL
GitHub: RudrakshP07/SHADOWL
SHADOWL 是一款模块化的被动 OSINT 侦察框架,通过聚合 12 个公开数据源自动构建域名目标的外部攻击面画像,并生成结构化 JSON 和 HTML 报告。
Stars: 0 | Forks: 0
```
██████╗ ██╗ ██╗ █████╗ ██████╗ ██████╗ ██╗ ██╗██╗
██╔════╝ ██║ ██║██╔══██╗██╔══██╗██╔═══██╗██║ ██║██║
╚█████╗ ███████║███████║██║ ██║██║ ██║██║ █╗ ██║██║
╚═══██╗ ██╔══██║██╔══██║██║ ██║██║ ██║██║███╗██║██║
██████╔╝ ██║ ██║██║ ██║██████╔╝╚██████╔╝╚███╔███╔╝███████╗
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝
S H A D O W L — Passive Recon Framework v4.0
Author: Rudra Potghan | For authorized use only
```
## 🔍 SHADOWL 是什么?
SHADOWL 是一款模块化、以命令行界面为主的被动侦察工具,通过聚合来自公开来源的情报,为任何域名目标构建全面的画像。它串联 12 个独立的扫描模块,保存结构化的 JSON 输出,并生成精美的深色主题 HTML 报告——所有操作仅需一条命令。
**无主动扫描。不向目标发送任何数据包。纯 OSINT。**
## ✨ 功能特性
- **12 模块流水线** — DNS、WHOIS、证书、Wayback Machine、Google Dorks、GitHub 密钥、Hunter.io 泄露检查、Shodan、云存储桶、技术指纹识别、安全头、VirusTotal
- **首次运行 API 密钥向导** — 首次启动时交互式配置,密钥安全存储在操作系统配置目录中(无需再编辑源文件)
- **跨平台** — 开箱即用,支持 Windows、macOS 和 Linux
- **丰富的 HTML 报告** — 深海军蓝界面搭配电光蓝点缀、统计卡片、可折叠章节和内联 iframe
- **结构化 JSON 输出** — 每次扫描结果以机器可读的 JSON 格式保存,便于后续处理
- **完整 CLI** — `run`、`configure` 和 `status` 子命令,所有命令均支持 `--help`
## 🛠 环境要求
- **Python 3.10+**
- 安装依赖:
```
pip install requests shodan dnspython tabulate tldextract colorama
```
## ⚙️ API 密钥
SHADOWL 使用多个第三方 API。**首次运行时**,向导会提示您输入每个密钥。密钥保存在操作系统配置目录中——您无需编辑源代码。
| 密钥 | 是否必需 | 获取地址 |
|-----|----------|----------------|
| Shodan API Key | ✅ 必需 | https://account.shodan.io |
| Google Custom Search API Key | 可选 | https://console.cloud.google.com |
| Google CSE ID | 可选 | https://programmablesearchengine.google.com |
| GitHub Personal Access Token | 可选 | https://github.com/settings/tokens |
| VirusTotal API Key | 可选 | https://www.virustotal.com/gui/my-apikey |
| Hunter.io API Key | 可选 | https://hunter.io/api-keys |
| LeakLookup API Key | 可选 | https://leak-lookup.com/account/api |
密钥存储位置:
- **Windows:** `%APPDATA%\PassiveReconTool\api_keys.json`
- **macOS:** `~/Library/Application Support/PassiveReconTool/api_keys.json`
- **Linux:** `~/.config/PassiveReconTool/api_keys.json`
## 🚀 使用方法
### 运行完整扫描
```
python main.py run example.com
```
### 运行扫描但不生成 HTML 报告
```
python main.py run example.com --no-html
```
### 自定义输出文件名
```
python main.py run example.com --output acme_recon
```
### 设置或更新 API 密钥
```
python main.py configure
```
### 检查已配置的密钥
```
python main.py status
```
### 旧式简写(向后兼容)
```
python main.py example.com
```
## 📁 输出目录结构
对 `example.com` 扫描后,您将看到:
```
example.com_reconnaissance_report.html ← rich HTML report (open in browser)
recon_output.json ← full consolidated JSON
example.com/
├── example.com_certsh.json ← certificate transparency data
├── example.com_dns.json ← DNS records
├── example.com_dns_report.html ← DNS visual report
├── whois_.json ← WHOIS data
└── whois_summary_.txt ← WHOIS summary
hunter_example.com.json ← Hunter.io email data
shodan_example.com_.json ← Shodan host data
```
## 🧭 扫描流水线
```
DNS → WHOIS → Certificates → Wayback Machine → Google Dorks
→ GitHub Secrets → Hunter.io + Breach Check → Shodan
→ Cloud Buckets → Tech Fingerprinting → Security Headers → VirusTotal
```
每个模块完全独立——即使某个模块失败,其余模块仍会继续运行。
## 🗂 文件结构
```
PassiveReconTool/
main.py ← CLI entry point & orchestrator (v4)
config_manager.py ← API key wizard & storage (NEW in v4)
dns_tool.py ← DNS reconnaissance
whois.py ← WHOIS lookup
certsh.py ← Certificate transparency (crt.sh)
wayback.py ← Wayback Machine / CDX API
dork.py ← Google Custom Search dorking
gitleaks.py ← GitHub secrets scanning
hunter_breachcheck.py ← Hunter.io email + LeakLookup breach check
shodan_scanner.py ← Shodan host intelligence
cloud_buckets.py ← AWS/GCP/Azure bucket enumeration
tech_fingerprinter.py ← Technology stack detection
security_headers.py ← HTTP security header analysis
virustotal.py ← VirusTotal domain reputation
README.md ← This file
```
## 🛡️ 道德与法律声明
SHADOWL 专为**授权安全测试、漏洞赏金研究和防御性 OSINT** 而设计。所有数据均来自公开 API 和档案库——不向目标发送任何数据包。
**请仅对您拥有或已获得明确书面授权进行测试的域名运行此工具。作者对滥用行为概不负责。**
## 📄 许可证
MIT License — 可自由使用、修改和分发,但需保留署名。
## 📝 更新日志
### v4.0(当前版本)
- 更名为 **SHADOWL**,新增 ASCII 艺术横幅
- 新增 `config_manager.py` — 跨平台 API 密钥向导
- 完整 CLI,支持 `run` / `configure` / `status` 子命令
- HTML 报告重新设计:深海军蓝 + 电光蓝配色方案
- 跨平台路径支持(Windows、macOS、Linux)
- 源代码中不再有任何硬编码密钥
### v3.0
- 带配色主题的 HTML 报告
- 所有模块集成 JSON 文件读取
- 完整流水线的编排器模式
### v2.0 / v1.0
- 初始模块化结构
- 各模块独立 JSON 输出
标签:API安全, API密钥管理, Ask搜索, Atomic Red Team, CDN识别, DNS查询, ESC4, GitHub secrets, Google Dorks, HTML报告, Hunter.io, JSON 请求, JSON输出, Linux兼容性, macOS兼容性, OSINT, SEO关键词, Snort++, VirusTotal, Wayback Machine, WHOIS查询, Windows兼容性, 云存储桶, 代码生成, 协议探测, 反汇编, 域名安全, 域名调查, 多平台支持, 多源数据聚合, 威胁情报, 安全头检测, 安全工具库, 开发者工具, 技术栈:Python, 数据泄露检测, 数据结构化, 暗色主题, 模块化CLI, 深色UI, 混合加密, 渗透测试工具, 网络安全, 自动化侦察, 蓝队防御, 被动侦察, 被动扫描, 证书信息, 逆向工具, 隐私保护