信息收集:子域名枚举与资产测绘

理解子域名枚举的常见思路(证书透明、被动查询、字典爆破)、存活验证与去噪,以及为什么信息收集必须限定在授权范围内。

写在前面:合法学习边界

信息收集只允许在你自己负责、或明确书面授权的目标上进行。对不属于你的域名、系统做扫描和枚举可能违反相关法律。本文只讲方法和边界,不鼓励对任意目标操作。

一、为什么先做资产测绘

渗透测试的第一步是“搞清楚对方有哪些入口”。很多问题就出在那些“没人记得的子域名”上:

1
2
3
4
过期的管理后台
未上线的测试系统
忘了续费的旁站
开发环境的 API

子域名往往比主站更容易出问题,因为它没人维护。

二、子域名枚举的常见方法

1. 证书透明日志

通过证书透明日志(Certificate Transparency)可以查到域名下签过哪些证书,从中提取子域名。

1
2
crt.sh 这类服务
通过 API 查证书里的 DNS 名称

特点是:覆盖广、不需要爆破,但只能拿到“签过证书的”。

2. 被动收集

1
2
3
搜索引擎结果
第三方被动 DNS 数据
DNS 解析记录

被动方式不主动接触目标,适合早期快速建资产清单。

3. 字典爆破

用常见前缀去碰 DNS:

1
2
3
4
5
6
admin
api
dev
test
old
backup

爆破会主动产生大量 DNS 查询,必须注意流量和授权边界。

三、存活验证与去噪

枚举出来一堆域名,不代表都可用。需要验证:

1
2
3
4
能解析吗
有对应服务吗
返回什么状态码
是目标资产还是泛解析干扰

常见干扰:

1
2
3
泛解析:任意子域名都能解析到同一 IP
CDN 兜底:很多域名指向同一 CDN
历史残留:证书里的域名早已不生效

去噪的重点是把“真正属于目标、有独立服务的资产”筛出来。

四、常见风险与误区

1
2
3
4
把被动收集当成唯一手段,漏掉未签证书的子域
不验证泛解析,拿到一堆假资产
爆破过大,流量异常,打扰无关系统
把资产直接判给目标,没确认归属

五、防御建议

1
2
3
4
5
先建资产清单,再决定测试范围
区分被动与主动,主动探测前确认授权
用存活验证过滤泛解析和死资产
对每个资产记录来源和归属
把结果写进报告供复核

六、小结

子域名枚举的价值不在“扫得多”,而在“认得出”。真正的资产测绘要能回答:这些域名是谁的、有没有服务、值不值得进一步测。