一文学会各种子域名收集方法
字数 1260 2025-08-29 08:30:13
子域名收集方法全面指南
前言
子域名收集是渗透测试和信息收集阶段的重要环节,通过发现目标系统的子域名可以扩大攻击面,发现隐藏的服务和系统。本文将详细介绍各种子域名收集方法,包括技术原理和实际操作步骤。
1. 证书透明度(Certificate Transparency, CT)收集
原理
证书透明度是Google提出的安全机制,要求CA机构在颁发SSL/TLS证书时将信息提交到公开的CT日志中。这些日志包含:
- 证书主体域名(Common Name, CN)
- 备用名称(Subject Alternative Name, SAN)
- 颁发者信息
- 有效期等
常用工具
示例
证书可能包含如下信息:
CN: example.com
SAN: example.com, www.example.com, mail.example.com, api.example.com
2. DNS域传送漏洞利用
原理
域传送(Zone Transfer)是DNS主从服务器同步机制,配置不当可能导致攻击者获取完整DNS记录。
检测方法
- 查询权威名称服务器:
nslookup -type=ns example.com - 尝试域传送:
或使用nmap:dig axfr @ns1.example.com example.comnmap --script dns-zone-transfer -p 53 -Pn ns1.example.com
3. 跨域策略文件检查
原理
跨域策略文件(crossdomain.xml和clientaccesspolicy.xml)通常位于网站根目录,可能包含允许跨域访问的域名。
检查方法
访问:
https://example.com/crossdomain.xml
https://example.com/clientaccesspolicy.xml
4. SAN(主题备用名称)解析
原理
HTTPS证书的SAN字段可能包含多个子域名,可通过解析证书获取。
工具
推荐使用crt.sh进行批量查询。
5. Sitemap文件分析
原理
站点地图文件(sitemap.xml)列出了网站所有页面的URL,可能包含子域名信息。
检查方法
访问:
https://example.com/sitemap.xml
6. DNSSEC记录枚举
原理
DNSSEC中的NSEC和NSEC3记录可能暴露子域名:
- NSEC记录直接指向下一个存在的域名
- NSEC3通过哈希存储子域名(可暴力破解)
示例
sub1.example.com. NSEC sub2.example.com
7. DNS缓存侦测(DNS Cache Snooping)
原理
通过检测DNS服务器是否缓存了特定域名的解析记录来判断该域名是否曾被访问过。
方法
发送非递归查询:
nslookup -norecurse sub.example.com
- 返回IP:域名在缓存中
- 返回"No records found":未缓存
8. DNS爆破
方法
使用常见子域名列表进行暴力枚举,工具如:
- dnsenum
- subbrute
- massdns
9. 空间测绘引擎
常用引擎
- FOFA
- Shodan
- ZoomEye
- Censys
FOFA示例查询
domain="example.com"
10. 搜索引擎利用
常用语法
site:example.com -www
支持引擎
包括Google、Bing、Baidu等18种搜索引擎。
11. 已有资源利用
来源
- 知识星球等社区分享
- 公开的子域名数据库
- 历史收集数据
综合工具推荐
- OneForAll:集成了多种收集方法
- Amass:全面的子域名枚举工具
- Subfinder:快速子域名发现工具
注意事项
- 所有技术仅限授权测试使用
- 敏感信息需打码处理
- 未经授权的攻击属于非法行为
- 造成的后果由使用者自行承担
通过综合运用以上方法,可以全面收集目标系统的子域名信息,为后续渗透测试奠定基础。