这个子域名扫描工具的核心功能, 在于利用像域名枚举这种手段, 或者运用字典爆破这种方式, 去快速地查找目标域名下面所有已经注册了的子域名, 还有那些已经完成了解析过程的子域名, 这样做好工作之后, 就能为攻击面的测绘工作提供必要的数据支持, 同时也能够为后续的安全评估环节奠定一个非常稳固的基础。
核心参数配置
当你开始用子域名扫描工具的时候, 有几个参数会直接导致扫描的效果还有运行速度变成不一样的状态。
1. 字典/词表是用来确定爆破目标时那些子地址范围的, 说白了就是划定一个候选名单。通用的那些大字典, 比如 seclist Subdomain 4M 这种, 能把常见的命名习惯都覆盖到;而行业内专门的定制字典, 则是针对金融、医疗这些有特殊取名规矩的行业来用的。
建议大家看看目标单位是干嘛的, 好根据它所在的行业去挑一本合适的字典, 或者把几本不同类型的字典凑在一起用。
2. 线程数与请求间隔: 当线程数提升的时候, 处理速度通常会变快, 可是如果线程数设得太高, 就非常容易触发 WAF 的限流机制, 或者导致被封禁。
对于常规的进行操作来说, 一般建议把线程数设置在 50 到 200 这个范围内, 同时让每次请求之间的等待时间维持在 0.5 秒到 1 秒之间;倘若目标系统有比较严格的 WAF 防护策略, 那就需要把线程数量降到 20 以下, 并且把请求间隔时间相应地延长。
3. 解析方式就是工具通常会提供三种模式, 它们分别是 DNS 解析、HTTP 请求以及批量 DNS-over-HTTPS。在 DNS 解析方面, 它的速度是最快的, 但是它可能会绕过一部分 CDN。
如果是使用 HTTP 请求的话, 它是可以获取到状态码与响应头这些信息的, 这使得信息变得更加丰富,不过它的特点也包含速度比较慢这一项。
4. 这个关于超时与重试的部分子域名扫描工具, 在单次解析的超时时间设置上, 建议取值范围为 3–5 秒。如果在操作过程中失败了, 应该进行 2 次重试验作。
之所以这样规定, 是因为如果设定时间太短的话, 很可能会遗漏那些响应延迟比较高的高质量 DNS 数据包信息。同时, 如果把时间设置得过于长久, 则会直接导致整个处理流程的整体进度受到明显的影响与拖慢。
5. 排除项就是要把那些已经知道没有用的后缀, 还有已经被确认下线了的业务域名, 都加到排除列表里面去,这样做的目的是为了减少那种毫无意义的无效请求。
结果判定标准
扫描结果需区分三类:
有效的解析是指子域名返回了明确的IP地址或者是CNAME记录子域名扫描工具, 这样就确认该子域名是存活的。
当DNS服务器返回说没有找到对应的目标, 于是我们就判定这一条记录是不存在的。
遇到超时/无响应的情况, 比如查询时间太久没有结果, 或者根本没有任何反应了, 这并不能直接就断定说这个东西是不存在的, 你需要换一个DNS服务器源, 或者等一小会儿再重新试一次。
在判定有效子域名这个阶段, 应该至少使用两个独立的DNS源来进行一个交叉验证的动作, 这是为了去避免因为单点DNS缓存出现异常这个情况所导致的误判结果。
常见疑难与处理
很多时候会发生大量返回无响应这种糟糕的情况, 可是那边明明是有服务存在的。这通常是因为目标 DNS 做了区域分片, 或者是用了 Anycast 技术。
而默认使用的 DNS 源根本无法覆盖到所有的节点。正确的解决方式是更换公共 DNS。例如可以换成 8.8.8.8 或者 1.1.1.1。也可以接入对于 Anycast 比较友好的 DoH 服务。
WAF频繁拦截: 用户应当去轮换那个 User 值, 然后降低并发的数量, 再就是增加请求之间的间隔时间, 如果真的没有办法才通过代理池来把出口 IP分散到别的地方去。
结果去重困难: 输出的内容里经常会出现大写字和小写混合在一起的情况, 还经常在末尾带着一个点, 并且CNAME记录中间还会进行多次跳转, 这些都是多种多样的形式, 所以只需要把这些记录全部都转换成小写, 并且把CNAME的链条给去掉, 然后再进行一次去重操作就可以了。
合规与注意事项
子域名扫描属于被动信息收集这种行为。在中国的网络安全法律框架下面, 如果针对自己的资产或者已经拿到了书面授权的目标来开展扫描工作, 那么这就是一个合规的操作行为。
如果是没有获得授权的情况下, 去对别人的资产进行高频的主动爆破, 这种情况很有可能会触及中华人民共和国刑法第二百八十五条里面所提到的非法获取计算机信息系统数据罪的边界问题。所以在进行操作之前的时候, 务必要确认自己的授权范围以及具体的边界所在。
各安全团队, 可以将子域名扫描, 纳入到日常资产测绘的工作流程里面去, 并且, 还需要结合资产的台账进行定期的更新与调整。
关于相关的工具使用规范, 以及策略配置的具体细节部分,大家可以访问 gz88.cn 这个地址来进行查阅和了解龙南市就业服务平台, 那里有子域名扫描的技术文档, 同时, 也可以查阅版本更新日志的相关信息。


