子域网名查询

核心结论

子域网名查询是通过多种被动和主动技术收集某个主域名下存在或曾存在的子域名列表的过程。常用方法包括查询证书透明日志、被动 DNS 数据库、搜索引擎、在线子域枚举服务以及本地命令行工具或专用扫描器。不同方法互补,通常无法保证穷尽所有子域,但可以显著提高发现率。

背景说明

子域广泛用于区分不同的服务或环境(如 web、api、dev、mail 等),同时攻击者也经常利用未受保护的子域发动入侵或信息泄露。因而安全评估、资产管理、事故响应等场景常需进行子域网名查询。查询可分被动(不向目标直接发起探测)和主动(对目标 DNS 发起请求或尝试暴力枚举),选择时要考虑合法性与对目标的影响。

操作方法

1. 被动收集

- 证书透明(Certificate Transparency):在 crt.sh、Censys 等平台上检索以主域名为关键词登记的证书,可获含子域的主机名记录。示例:在 crt.sh 搜索 target.com。

- 被动 DNS/情报库:使用 VirusTotal、SecurityTrails、PassiveTotal 等服务查看历史解析记录和关联主机名。

- 搜索引擎与网页索引:在 Google、Bing 中用 site:、inurl: 等高级搜索语法查找公开出现的子域。

2. 主动探测

- DNS 查询工具:使用 dig、nslookup、host 等查询具体子域的 A/AAAA/CNAME/TXT/MX 等记录,例如 dig A 子域.example.com 或 nslookup 子域.example.com。

- 子域枚举工具:利用 amass、subfinder、assetfinder、sublist3r 等工具整合多源情报并进行被动和主动扫描。示例命令通常为 amass enum -d target.com。

- 目录暴力/子域暴力:用字典对潜在子域名进行逐一解析,工具如 gobuster、dnsenum 等可并行尝试大量候选名。

- 尝试 DNS 区传送(AXFR):如果权威 DNS 服务器错误配置,AXFR 可能返回完整域名列表,但这属于主动探测并且大多数服务器已禁用。

3. 验证与清理

把多来源结果去重并对存活主机进行解析验证,排除泛解析(wildcard)产生的误报。可对解析到 IP 的主机进一步进行服务探测以确认用途。

注意事项

- 合法合规:仅对自己拥有或得到明确授权的域名进行主动扫描和暴力尝试。未经授权的探测可能违反法律或服务条款。被动收集通常风险较低,但也要注意隐私与合约约束。

- 限流与影响:暴力枚举和并行解析会增加 DNS 服务器负担,应设置合理速率并监控影响,避免对目标服务造成中断。

- 误报与遗漏:被动数据可能包含历史或错误条目;主动暴力可能被防火墙、解析策略或泛解析干扰。综合多种方法并结合人工复核,可降低误判。

常见问题

问:能否找到所有子域?

答:通常不能。公开来源和有效解析记录共同决定能否发现子域。内部未公开或被移除的记录难以被外部完全枚举。

问:有没有免费工具?

答:市面上有许多免费或开源工具与公共查询服务(如 crt.sh、amass、dig 等),它们可以作为起点;付费情报服务则通常提供更全面的被动数据和历史记录。

问:发现子域后下一步是什么?

答:应对结果进行验证与归类,评估暴露的服务和潜在风险;在安全评估场景下,可进一步进行漏洞扫描或渗透测试,但须获授权。

总结

子域网名查询是资产发现与安全评估的重要环节,合理结合被动情报与主动探测、配合验证流程,能够有效构建域名资产清单。执行时注意法律与伦理要求,采取稳健、可控的方法以避免对目标造成不必要的影响。