子域名枚举的艺术深度剖析
字数 985 2025-08-18 11:39:08

子域名枚举技术深度解析

1. 被动枚举技术

1.1 证书透明度(CT)利用

证书透明度(Certificate Transparency)是子域名枚举的重要数据源:

实用命令

curl -fsSL -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:69.0) Gecko/20100101 Firefox/69.0" "https://crt.sh/?CN=%25.github.com" | sort -n | uniq -c | grep -o -P '(?<=\<TD\TD\>)' | sed -e '/white-space:normal/d'

1.2 搜索引擎枚举

推荐使用以下搜索引擎进行子域名发现:

  • DuckDuckGo
  • Google
  • Bing
  • 百度

注意:Sublist3r工具已集成这些搜索引擎的查询功能

1.3 DNS数据聚合

利用第三方DNS数据集服务:

  • DNSdumpster
  • Netcraft
  • Virustotal
  • ThreatCrowd
  • ReverseDNS

推荐工具:Sublist3r(集成了多个数据源)

1.4 ASN查询

ASN(自治系统编号)查询流程:

  1. 通过域名查询ASN
  2. 通过ASN查询IP范围

实用命令

whois -h whois.radb.net -- '-i origin AS36459' | grep -Eo "([0-9.]+){4}/[0-9]+" | uniq

1.5 SAN(主题备用名称)证书分析

SAN证书允许一个证书关联多个域名/IP地址。

分析脚本

openssl x509 -noout -text -in <( openssl s_client -ign_eof 2>/dev/null <<<$'HEAD / HTTP/1.0\r\n\r' -connect xx.com:443 ) | sed -ne 's/^$ *$Subject:/\1/p;/X509v3 Subject Alternative Name/{ N;s/^.*\n//;:a;s/1\2\n\1/;ta;p;q; }'

2. 主动枚举技术

2.1 字典枚举

推荐工具:

  • Layer子域名爆破工具
  • 基于浏览器的子域名枚举工具

2.2 DNS区域传送

经典DNS漏洞检测方法:

dig @ns.example.com example.com AXFR

2.3 DNSSEC区域遍历

针对使用NSEC记录的DNSSEC区域:

使用ldns-walk测试

ldns-walk @8.8.8.8 iana.org

针对NSEC3哈希的破解流程:

  1. 收集NSEC3哈希
./collect insecuredns.com > insecuredns.com.collect
  1. 破解哈希值
./unhash < insecuredns.com.collect > insecuredns.com.unhash
  1. 提取子域名
cat icann.org.unhash | grep "icann" | awk '{print $2;}'

2.4 DNS记录分析

重点关注记录类型:

  • CNAME:别名记录
  • SPF:通过TXT记录设置的邮件发送授权

2.5 HTTP头信息分析

重点关注:

  • Content-Security-Policy头(防范XSS的白名单)
  • 其他可能泄露子域名信息的HTTP头

3. 自动化工具推荐

  • Amass:全面的子域名枚举工具
  • Sublist3r:集成了多种枚举方法的综合工具

4. 最佳实践建议

  1. 组合使用多种枚举方法以提高覆盖率
  2. 优先使用被动枚举方法避免触发警报
  3. 对重要目标使用主动枚举补充结果
  4. 定期更新字典和工具以应对防御措施
  5. 注意法律合规性,仅在授权范围内进行测试

通过系统性地应用这些技术,可以构建完整的子域名资产地图,为后续的安全评估奠定坚实基础。

子域名枚举技术深度解析 1. 被动枚举技术 1.1 证书透明度(CT)利用 证书透明度(Certificate Transparency)是子域名枚举的重要数据源: 原理 :当网站通过HTTPS提供服务时,需要向CA申请数字证书,这些证书会被记录到公开的CT日志中 常用工具 : crt.sh censys.io Facebook CT工具 Google CT报告 实用命令 : 1.2 搜索引擎枚举 推荐使用以下搜索引擎进行子域名发现: DuckDuckGo Google Bing 百度 注意 :Sublist3r工具已集成这些搜索引擎的查询功能 1.3 DNS数据聚合 利用第三方DNS数据集服务: DNSdumpster Netcraft Virustotal ThreatCrowd ReverseDNS 推荐工具 :Sublist3r(集成了多个数据源) 1.4 ASN查询 ASN(自治系统编号) 查询流程: 通过域名查询ASN 通过ASN查询IP范围 实用命令 : 1.5 SAN(主题备用名称)证书分析 SAN证书允许一个证书关联多个域名/IP地址。 分析脚本 : 2. 主动枚举技术 2.1 字典枚举 推荐工具: Layer子域名爆破工具 基于浏览器的子域名枚举工具 2.2 DNS区域传送 经典DNS漏洞检测方法: 2.3 DNSSEC区域遍历 针对使用NSEC记录的DNSSEC区域: 使用ldns-walk测试 : 针对NSEC3哈希的破解流程: 收集NSEC3哈希 破解哈希值 提取子域名 2.4 DNS记录分析 重点关注记录类型: CNAME :别名记录 SPF :通过TXT记录设置的邮件发送授权 2.5 HTTP头信息分析 重点关注: Content-Security-Policy头(防范XSS的白名单) 其他可能泄露子域名信息的HTTP头 3. 自动化工具推荐 Amass :全面的子域名枚举工具 Sublist3r :集成了多种枚举方法的综合工具 4. 最佳实践建议 组合使用多种枚举方法以提高覆盖率 优先使用被动枚举方法避免触发警报 对重要目标使用主动枚举补充结果 定期更新字典和工具以应对防御措施 注意法律合规性,仅在授权范围内进行测试 通过系统性地应用这些技术,可以构建完整的子域名资产地图,为后续的安全评估奠定坚实基础。