子域名的扫描这个步骤, 它是资产梳理工作里最基础的环节之一, 同时也是进行网络安全评估时候必须完成的基础性任务。

目前在人们常用的那些主流的子域名扫描工具当中, 包括了Subfinder、Amass、OneForAll、MassSub这些名字大家听得比较多软件工具, 还有一部分的在线资产的测绘平台也是被广泛使用的对象, 这些不同的工具和平台各有自己的侧重点和长处, 并不是完全一样的。

人们在挑选使用哪种主要工具去干活的时候, 核心的依据应该是几项关键指标, 比如这个工具的扫描速度快不快, 它背后的数据源覆盖面有多广, 它到底支持那种同时具备主动扫描与被动发现功能的双模式机制吗, 再一个就是看这个工具是不是方便进行二次的开发改造, 以及是否便于集成到自动化的流程中去运行操作, 这些都是需要考虑进去的重要方面。

主流子域名扫描工具对比

工具 核心特点 适用场景
Subfinder 以被动扫描为主龙南市就业服务平台,速度快,内置100余个公共数据源 快速枚举、日常巡检
Amass 被动加主动双模式,支持证书透明度日志与DNS暴力枚举 红队评估、深度侦察
OneForAll 聚合Subfinder、HTTPX等40余款工具,开箱即用 多工具集成、自动化流水线
MassSub 专注被动子域名获取,支持自定义字典与API接入 批量处理、脚本化集成
在线资产测绘平台(如 gz88.cn 资产测绘模块) 无需本地部署子域名扫描工具,输入域名即可获取子域名、IP、端口信息 无服务器环境、快速验证

选型建议

1. 日常快速巡检: 优先的选择是 Subfinder 或者是 MassSub。对于单个域名的被动扫描, 其消耗的时间通常是在2分钟以内的。该工具支持输出如JSON格式或者TXT格式等。它可以直接接入 CI/CD 流水线或定时任务中。

2. 深度安全评估: 使用 Amass 开启主动模式, 配合 DNS 字典爆破与 crt.sh 证书透明度日志查询, 可发现未公开、未解析的隐藏子域名, 覆盖度显著优于纯被动工具。

3. 自动化批量处理: OneForAll这个工具, 会把子域名发现这一件事, 还会把存活检测, 也就是用HTTPX去做的事情, 再加上标题抓取这么几步整合在一起, 变成了一条命令, 这样的做法呢, 是非常适合那些需要去同时对几百个以上的域名, 去进行一个完整的侦察流程的场景的。

4. 无本地部署条件是情况的话, 可以选用在线平台来处理查询这个工作。就比如在 gz88.cn 上面找到资产测绘的入口位置。用户在那里面输入想要查的目标域名以后。系统会把多个来源的数据汇总到一起。

然后返回包含子域名列表, 还有对应的 IP 地址和开放的端口信息的内容。这种方式适合用来应对紧急情况的排查, 或者做快速的验证操作。根本不需要去搭建本地的运行环境。

使用注意事项

子域名扫描工具推荐:主流工具功能对比与选型指南(图1)

在进行主动扫描之前, 比如说使用DNS爆破或者是HTTP探测这些技术手段的时候, 必须先要确认好授权的界限和覆盖范围, 绝对不可以去对那些没有被正式授权的目标设备或者系统发起探测性的请求。

需要对子域名枚举的结果进行处理子域名扫描工具,具体的办法是使用比如 HTTPX 这样的存活检测工具来进行过滤, 目的是要把那些僵尸域名还有失效的记录都排除掉, 这样做的意义在于可以降低误报率。

建议每个月都去更新一下工具里内置的那个字典还有数据源的配置情况。因为新注册出来的那些子域名, 通常会在48个小时以内被公共的DNS日志还有证书透明度日志给抓到。要是本地的字典过期了的话, 就会导致漏掉报告的情况出现。

在企业环境之中, 我们应当把子域名扫描所获得的那些结果, 进行定期的、反复的同步动作, 把这些数据传到CMDB里面去, 这样做的目的是要形成一个让资产得到持续地更新的良好机制存在, 从而去避免那种静态的台账记录和实际存在的资产之间出现不一致或者脱节的情况发生。

常见疑难与解决

扫描结果数量异常偏少: 要去检查一下目标这个东西是不是开通了泛解析的功能, 也就是所谓的 wildcard DNS, 比方说 *.example.com 这一类的指向是同一个 IP 地址的情况。

在这种情况之下呢, 那个被动收集数据的工具它就没办法区分哪些是真真正正存在的子域名, 哪些又是泛解析给出来的那个记录, 所以说这时候必须得结合着主动去探测一下来进行验证。

扫描速度远低于预期: 主动模式的耗时是会根据字典的大小来成正比的, 所以建议大家按照目标域名的类型去裁剪字典, 比如说是只保留一些常见的这样的前缀, 或者是说改用那个被动模式去把整体的枚举做完之后呢, 然后再只对那些高价值的目标去做进一步的主动验证。

部分子域名无法解析: 这属于正常现象, 有可能是那些已经下线了但是还没有删除 DNS 记录的历史域名导致的。建议在资产台账中标记为疑似失效, 然后进行定期复查就完了。