SuperAPI AI 工具集

subdomain-enumeration

安全与审计

查看项目

更新于 10-16 02:44

技能介绍

用途

子域名枚举技能用于在任何侦察流程的起始阶段,全面发现目标域名下的子域名。它通过证书透明度日志、被动 API 聚合和 DNS 解析等方式,揭示暂存环境、内部管理面板、API 网关、被遗忘的 WordPress 安装等通常比生产站点更薄弱的入口点。

主要能力

  • 被动枚举:查询 crt.sh(证书透明度日志)、crt.name(历史证书透明度数据)和 subfinder(聚合 VirusTotal、Shodan、DNSdumpster 等被动 API),收集子域名。
  • DNS 解析:使用 dnsx 批量解析 A/AAAA/CNAME 记录,速度远快于 dig 循环,可发现非 HTTP 服务。
  • 存活探测:使用 httpx 探测 HTTP/HTTPS 存活主机,获取状态码、技术栈、页面标题和重定向位置。
  • 子域名分类:按暂存/开发、管理/内部、API、CDN/静态、邮件、云服务、遗留系统等模式对子域名进行归类。
  • 子域名接管检查:检查悬空 CNAME,识别指向未认领服务的子域名,并提示可能的提供商(AWS、Azure、GitHub Pages、Heroku、Vercel、Zendesk 等)。
  • 排列与预测:使用 gotator 生成智能排列,结合 puredns 解析,发现隐藏服务。
  • TLD 扩展:使用 tldbrute 或 IANA TLD 列表发现同一组织拥有的其他顶级域名变体。
  • 实时证书监控:使用 gungnir 或 certwatcher 监控证书透明度日志,在新子域名签发时即时捕获。

使用方式

技能以 shell 脚本形式提供,按步骤执行:

  1. 被动枚举:设置 DOMAIN 和 OUTPUT_DIR,运行 crt.sh、crt.name 和 subfinder 查询,合并去重得到 all_passive.txt。
  2. DNS 解析:使用 dnsx 批量解析,输出子域名到 IP 的映射,并识别共享托管集群。
  3. 存活探测:使用 httpx 探测存活主机,按状态码和技术栈分类,并提取 WordPress 子域名及 MX/NS/TXT 记录。
  4. 子域名分类:通过 grep 模式匹配将子域名分为暂存/开发、管理/内部、API、CDN/静态、邮件、云服务、遗留系统等类别。
  5. 子域名接管检查:遍历子域名,检查 CNAME 目标是否解析,识别可能的接管机会及提供商。
  6. 排列与预测:使用 gotator 生成排列,puredns 解析。
  7. TLD 扩展:使用 tldbrute 或 IANA TLD 列表发现其他 TLD 变体。
  8. 实时证书监控:使用 gungnir 或 certwatcher 监控新证书。

适用场景

  • 开始对任何目标域名进行侦察。
  • 生产站点防护良好,需要寻找更薄弱的入口点。
  • 在执行 wp-mass-recon 技能后,为每个 WordPress 目标枚举子域名。
  • 为目标组织构建完整的资产清单。

限制与注意事项

  • 前置条件:需要 curl、httpx、dig、jq、dnsx、subfinder 等工具,以及操作员提供的 DNS 爆破字典。需要获得向 crt.sh、crt.name 和 subfinder 提供商等第三方被动源披露域名的授权。
  • crt.sh 速率限制:可能返回空 JSON,需使用延迟或直接查询 PostgreSQL 转储。
  • subfinder 需要 API 密钥:部分源(VirusTotal、Shodan)需要在 ~/.config/subfinder/provider-config.yaml 中配置 API 密钥,否则结果有限。
  • 通配符 DNS:如果 *.example.com 解析到同一 IP,所有子域名在 httpx 中都会显示为存活,需通过解析随机字符串检查。
  • Cloudflare 代理:位于 Cloudflare 后的子域名会显示 Cloudflare IP 而非源站 IP,需使用 SecurityTrails 或 DNSDumpster 获取历史 DNS 记录。
  • 验证要求:每个子域名必须用 httpx 探测确认 HTTP/HTTPS 服务;解析的 IP 必须与已知 CDN IP 交叉比对;子域名接管候选必须手动验证 CNAME 目标未被认领;所有存活子域名应记录 URL、HTTP 状态、技术栈和页面标题。