Harikalatheeswaran/sudo-fool

GitHub: Harikalatheeswaran/sudo-fool

一款集成了多源被动采集与 DNS 暴力破解的子域名枚举工具,以 Python 和 Rich 构建并拥有优雅的终端界面。

Stars: 0 | Forks: 0

# 高级子域名查找工具
- 一个功能强大、快速且美观的**子域名枚举工具**,使用 Python 和 Rich 构建。 - 它结合了多个被动源 + 智能 DNS 暴力破解 + 自动 `robots.txt` 检查 —— 全部具备优雅的错误处理和令人惊叹的终端 UI。 ## ✨ 功能 - **多源发现**(独立且故障安全): - crt.sh(证书透明度日志) - VirusTotal(被动 DNS) - DNS Dumpster - 带有 **110+ 个真实前缀**的 DNS 暴力破解 - **智能 SSL 处理** —— 优先尝试安全模式(`certifi`),必要时自动回退到不安全模式 - **robots.txt 检查器** —— 自动检测并打印完整内容(如果找到) - **可选的实时 HTTP 检查** —— 标记哪些子域名实际有响应 - **美观的 Rich UI** —— 面板、表格、进度条和彩色输出 - **优雅降级** —— 单个源失败不会阻止其他源 - **交互式提示** —— 直接运行并输入您的域名 - 适用于 macOS、Linux 和 Windows ## 📦 安装 1. 克隆或下载脚本(`sudo_fool.py`) 2. 安装所需的包: ``` pip install rich requests dnspython ``` 3. **推荐**(修复大多数 SSL 证书错误): ``` pip install certifi ``` ## 🚀 使用 ``` python sudo_fool.py ``` - 系统会提示您输入目标域名(例如:`grok.com`) - 按下 Enter 键,扫描将自动开始 ### 选项(在脚本内编辑) 在文件底部,您可以更改: ``` main( domain=domain, enable_bruteforce=True, # Set to False to skip brute-force check_live=False # Set to True to enable live HTTP check (slower) ) ``` ## 🛠 工作原理 | 源 | 类型 | 速度 | 备注 | |---------------------|---------------|-------|-------| | crt.sh | Passive | Fast | 证书日志 | | VirusTotal | Passive | Fast | 观察到的子域名 | | DNS Dumpster | Passive | Fast | 公共数据库 | | Brute-force | Active | Medium| 110+ 个智能前缀 + 通配符检测 | | robots.txt Checker | Active | Fast | 如果存在则显示完整内容 | ## 📋 示例输出 ``` Advanced Subdomain Scanner grok.com 🔍 Fetching from crt.sh for grok.com... [crt.sh Panel] 🔍 Fetching from VirusTotal for grok.com... [VirusTotal Panel] 🔍 Fetching from DNS Dumpster for grok.com... [DNS Dumpster Panel] ✓ crt.sh: 27 subdomains ✓ VirusTotal: 12 subdomains ✓ DNS Dumpster: 8 subdomains 🔍 Starting DNS brute-force (112 prefixes) for grok.com... [Brute-Force Panel] 🔍 Checking robots.txt for grok.com... [robots.txt Checker] ✅ robots.txt FOUND! ← full contents shown in panel ✅ Final Unique Subdomain List ──────────────────────────────────── api.grok.com dev.grok.com blog.grok.com ... Total unique subdomains: 89 ``` ## ⚠️ 故障排除 **SSL 证书错误?** - 脚本会自动检测并显示清晰的消息。 - 只需运行 `pip install certifi` 即可获得最佳体验。 **未找到子域名?** 尝试启用 `check_live=True` 或增加字典(您可以继续添加更多前缀)。 ## 🔧 自定义 - 想要在暴力破解中获得**更多子域名**?只需编辑 `brute_force_subdomains()` 函数内的 `wordlist`。 ## 📝 许可证 免费用于个人和教育目的。 为漏洞赏金 / recon 社区用 ❤️ 制作。 ## 概念 以下是获取网站*所有*子域名的**正确、安全和完整**的方法 —— 采用可靠来源确认的技术。 (当在您**拥有**或获得**许可**进行测试的域名上进行子域名发现时,它是合法的。) ### ✅ **如何获取网站的所有子域名** 子域名枚举是发现与根域名关联的每个子域名的过程。它用于安全审计、SEO 研究和资产清单。[w3tutorials.net](https://www.w3tutorials.net/blog/how-do-i-get-a-list-of-all-subdomains-of-a-domain/)、[ceeyu.io](https://www.ceeyu.io/resources/blog/subdomain-enumeration-tools-and-techniques) **没有单一方法**能返回*所有*子域名,但结合多种技术能获得最佳结果。[w3tutorials.net](https://www.w3tutorials.net/blog/how-do-i-get-a-list-of-all-subdomains-of-a-domain/) ### ✅ **1. 证书透明度日志(最可靠的被动方法)** CT 日志记录了所有已颁发的 SSL/TLS 证书。 在 CT 日志服务(如 **crt.sh**)上查询域名可以揭示许多子域名。[whoisxmlapi.com](https://www.whoisxmlapi.com/blog/subdomain-enumeration-tools-and-techniques) #### 工具 / 服务: * **crt.sh** * **Censys** * **Google CT Search** 示例查询: ``` https://crt.sh/?q=%25.example.com ``` ### ✅ **2. 使用公共数据源的被动枚举** 这些方法不与目标交互,并且完全安全。 常见的被动源包括: * **搜索引擎(Google/Bing dorking)** 使用 `site:example.com` 通常会揭示已索引的子域名。[vaadata.com](https://www.vaadata.com/blog/subdomain-enumeration-techniques-and-tools/) * **DNS 聚合器(例如 WhoisXML API)** 它们存储海量的 DNS 数据集,包括历史 DNS 记录。[whoisxmlapi.com](https://www.whoisxmlapi.com/blog/subdomain-enumeration-tools-and-techniques) * **安全数据库(Shodan, Censys, Virustotal)** 这些收集开放的 DNS 和证书数据。[pentestguy.com](https://pentestguy.com/subdomain-enumeration-a-complete-guide/) ### ✅ **3. 主动方法(与目标直接交互)** 这些方法直接查询 DNS 服务器;请**仅在获得许可后**使用。 ### ✅ **DNS 暴力破解** 尝试常见前缀列表: ``` www, api, dev, staging, mail, portal, test, blog ``` 工具生成 DNS 请求以检查哪些前缀能解析。[whoisxmlapi.com](https://www.whoisxmlapi.com/blog/subdomain-enumeration-tools-and-techniques) ### ✅ **区域传输(AXFR)—— 几乎无效** 这尝试下载包含每个子域名的整个 DNS 区域。 然而,出于安全原因,大多数 DNS 服务器**阻止 AXFR**。[w3tutorials.net](https://www.w3tutorials.net/blog/how-do-i-get-a-list-of-all-subdomains-of-a-domain/) ### ✅ **4. 自动化子域名发现的 OSINT 工具** 许多现代工具结合了上述技术: #### ✅ **Amass**(最全面) 使用被动 + 主动 + 抓取 + 暴力破解。[pentestguy.com](https://pentestguy.com/subdomain-enumeration-a-complete-guide/)、[golinuxcloud.com](https://www.golinuxcloud.com/subdomain-enumeration-tools/) #### ✅ **Subfinder** 使用外部数据源的快速被动枚举器。[pentestguy.com](https://pentestguy.com/subdomain-enumeration-a-complete-guide/) #### ✅ **Sublist3r** 简单的暴力破解 + OSINT 枚举器。[golinuxcloud.com](https://www.golinuxcloud.com/subdomain-enumeration-tools/) #### ✅ **Findomain** 非常快速的被动子域名查找器。[pentestguy.com](https://pentestguy.com/subdomain-enumeration-a-complete-guide/) #### ✅ **PureDNS / dnsx** 非常适合进行大规模 DNS 解析的暴力破解。[whoisxmlapi.com](https://www.whoisxmlapi.com/blog/subdomain-enumeration-tools-and-techniques) ### ✅ **5. 搜索引擎 Dorking** 适用于快速检查: 示例: ``` site:example.com -www site:*.example.com inurl:example.com ``` 像 Google 和 Bing 这样的搜索引擎可以揭示已索引的子域名。[vaadata.com](https://www.vaadata.com/blog/subdomain-enumeration-techniques-and-tools/) ### ✅ **最佳完整方法(推荐)** 为了可靠地获取最大数量的子域名: ##### ✅ 步骤 1 — 查询 CT 日志 (crt.sh, Censys) ##### ✅ 步骤 2 — 使用被动 OSINT (Subfinder, Shodan, Virustotal, DNS history) ##### ✅ 步骤 3 — 运行 Amass 以结合所有技术 [pentestguy.com](https://pentestguy.com/subdomain-enumeration-a-complete-guide/) ##### ✅ 步骤 4 — 运行 DNS 暴力破解 (PureDNS 或 Sublist3r) 这种多步骤工作流程是行业标准。[w3tutorials.net](https://www.w3tutorials.net/blog/how-do-i-get-a-list-of-all-subdomains-of-a-domain/)、[golinuxcloud.com](https://www.golinuxcloud.com/subdomain-enumeration-tools/) ## *__享受子域名狩猎的乐趣!__*
标签:Ask搜索, DNS Dumpster, DNS枚举, HTTP存活检测, Python, Rich库, robots.txt检测, SSL证书处理, VirusTotal, 子域名扫描, 字符串匹配, 无后门, 终端美化, 网络安全工具, 被动收集, 证书透明度日志, 逆向工具