泛域名攻击利用通配符解析的默认信任,把一个从未启用的子域名变成攻击者的跳板不破主站,却能借你的域名权重做尽坏事。
泛域名攻击近年之所以频繁出现在安全通告里,是因为多数站长对DNS记录的管理停留在“能解析就行”的层面,攻击者不需要渗透服务器,不需要破解后台,只需要找到你的域名开启了泛解析,很多企业在域名设置里开着.example.com的通配符记录,然后放任不管,对攻击者来说,这等于一扇虚掩的后门,随手一推就进去了。
下面把这件事拆开讲清楚,从攻击原理、检测方案、防护操作到实际案例,一条线拉通。
泛域名攻击原理:一个星号让域名失去控制
泛解析是DNS里的一种通配符记录,作用是让所有不存在的子域名都解析到同一个IP,比如你配置了.yourdomain.com指向服务器IP,那么a.yourdomain.com、b.yourdomain.com、随机乱写.yourdomain.com都会指向同一个地址。
这是很多企业为了方便新业务快速上线而做的设置,初衷是“省得以后每个子域名都单独加一条记录”,但问题在于,泛解析不校验“子域名是否存在”,也不校验“解析后有没有人使用”,攻击者扫描到你有泛解析记录,就会做一件事:大批量枚举子域名,找到当前没有被占用的名字,然后用它来指向自己的恶意服务器。
具体流程是这样的:
- 探测阶段:攻击者用字典工具批量请求你的子域名,通过DNS响应判断是否命中泛解析
- 确认阶段:找到可用的通配符记录后,核实哪些子域名没有实际建站
- 利用阶段:将恶意网站、钓鱼页面、违规内容部署到子域名上,借助你的主域名信誉做跳转和引流
整个过程不触碰你主站的任何文件,你在服务器日志里也看不到异常请求,攻击者只需要拿到一个能用的子域名,就能完全控制这部分DNS指向。
为什么泛域名攻击难以察觉
泛域名攻击最让人头疼的地方在于“静默”,它不像DDoS那样瞬间打垮你的带宽,也不像勒索病毒那样高调闹事,多数情况下,攻击者会低调使用,甚至故意让流量保持低位,避开搜索引擎和安全工具的注意。
几个现实的原因:
- 主站业务不受影响:你的网站正常打开,服务器负载正常,日常运营毫无感知
- 子域名数量巨大:手动审计所有子域名几乎不可能,一个中等规模企业可能有几十到上百个子域名处于闲置状态
- 搜索引擎收录延迟:恶意子域名被收录需要时间,等到用
site:语法能查到异常页面时,攻击已经持续一段时间了 - 安全工具存在盲区:多数WAF和CDN的规则集中在主域名,对子域名的监控明显不足
业内专家指出,多数泛域名攻击的受害方是在“收到搜索引擎的违规通知”或“品牌关键词被大量异常结果覆盖”之后才察觉问题的。
泛域名攻击怎么防护:三招阻断攻击路径
第一招:收紧DNS记录,移除危险通配符
最有效的办法就是取消泛解析,给所有实际使用的子域名单独添加A记录或CNAME记录,有人说那我用通配符指向一个固定IP行不行?可以,但前提是那个IP完全受你控制,并且只开放必要的端口,更安全的做法是根本不用通配符,让不存在的子域名返回NXDOMAIN(域名不存在)。
具体操作路径:
- 登录域名注册商的DNS管理后台
- 找到主机记录为的解析记录
- 删除或暂停该记录
- 为每个已使用的子域名逐一添加A记录或CNAME记录
- 等待TTL时间过后,用
nslookup或dig验证
这条路径适合域名数量可控的中小型站点,大型企业如果子域名体系庞大,可以借助DNS厂商的API做批量配置。
第二招:接入CDN或WAF,做子域名请求校验
如果业务上确实需要泛解析(比如多租户SaaS系统),就必须在流量入口层加一道防线,把泛解析指向CDN或云WAF的服务地址,然后在CDN或者WAF层配置“只放行已验证的子域名”。
操作上可以这样做:
- 把泛解析记录的值改为CDN分配的CNAME地址
- 在CDN控制台配置回源规则,只对白名单子域名执行回源
- 对非白名单子域名的HTTP请求直接返回403
- 开启日志分析,监控子域名请求的频次与来源IP
这样即使DNS本身存在通配符,攻击者指向的子域名也无法获得有效内容服务,只能拿到一个空壳页面或错误页面。
第三招:建立子域名资产生命周期管理制度
很多泛域名攻击能成功,是因为企业自己都不知道自己有多少子域名,搜索引擎抓了多少个页面,在哪里部署了什么服务,完全是一笔糊涂账。
推荐的做法:
- 每季度做一次子域名资产盘点,用工具(如Sublist3r、Amass、首选在线子域名搜索工具)收集DNS记录
- 对发现的未知子域名做来源审计
- 建立“域名申请→解析配置→下线路由→回收释放”的全流程规范
- 关注域名过期提醒,防止域名被抢注后连带子域名失控
这个过程需要一个明确的负责人,最怕的是域名管理归属不清,Sales说归IT管,IT说归品牌管,结果没人管。
泛域名攻击检测方案:五分钟自查清单
不确定自己是否已经中招?下面这套检测方案不用安装工具,纯操作浏览器和命令行就能完成。
第一步,检查泛解析是否存在。 打开终端(Windows用CMD,Mac/Linux直接终端),输入以下命令:
dig 随机字符串.yourdomain.com
如果返回结果中包含一个配置的IP地址,而不是NXDOMAIN,说明你的域名存在泛解析,随机字符串是关键,不要用真实子域名去测试。
第二步,用搜索引擎做site审计。 在百度或Google搜索:
site:yourdomain.com -www
逐一翻看搜索结果,确认是否有不认识的子域名被收录。
第三步,核查SSL证书透明度日志。 打开crt.sh网站,输入你的域名,查看是否有攻击者申请的、绑定在你域名下的SSL证书,泛域名攻击通常会为恶意子域名申请证书,以提升页面可信度。
第四步,检查CDN访问日志。 在CDN控制台导出近30天的访问日志,筛选非主站域名的Host字段,对异常子域名做来源分析。
| 检查项 | 操作路径 | 正常状态 |
|---|---|---|
| DNS泛解析 | dig 随机子域名 | 返回NXDOMAIN |
| 搜索引擎收录 | site: 语法 | 无非备案子域名 |
| SSL证书透明度 | crt.sh 查询 | 无可疑证书 |
| CDN日志 | Host字段分析 | 仅白名单子域名 |
第五步,设置被动监控。 用一个免费的子域名监控工具(比如dnsdumpster、在线子域名扫描服务),设定每日自动扫描,新子域名出现时第一时间报警。
泛域名攻击案例复盘:一次典型的中招过程
一家做区域电商的企业,域名注册时间超过五年,主站运行稳定,但子域名管理混乱,最要命的是,早年为了给不同城市的站点做分流,设置了一条.ecommerce-example.com的泛解析记录,指向一台已经报废的测试服务器。
攻击者通过扫描发现了这个泛解析,随后枚举子域名,发现shipping.ecommerce-example.com没有实际建设,于是将其解析到自己的服务器,部署了一个仿冒的物流查询页面,用来诱导用户输入手机号和收货地址。
这个页面的行径持续了将近两个月,直到使用者在百度上搜索该品牌名,发现搜索结果里出现了“您的快递已丢失,请点击核实”的非法网站,他们才意识到问题的存在。
事后复盘时发现,其实攻击者还做了三手准备:
- 恶意子域名用于钓鱼页面,收集个人信息和支付信息
- 后续将子域名用于监控用户访问行为,为后续诈骗提供精准画像
- 在子域名上部署大量垃圾内容,覆盖品牌相关搜索词,拉低主站整体搜索引擎表现
处理过程分为三个阶段:先联系DNS服务商删除恶意解析记录,再将泛解析整体移除并逐条配置新的子域名记录,最后向搜索引擎提交清理申诉,整个过程耗时约两周,期间主站的搜索展现量大幅下滑。
这是泛域名攻击的典型治理过程,处理难度不小,但更值得记住的是:这些事情本可以在五分钟内通过上面列出的自查清单提前发现。
泛域名攻击Q&A
泛域名攻击和域名劫持有什么区别?
两者有本质差异,域名劫持是攻击者直接篡改你的DNS记录,让域名解析到攻击者的服务器你的域名管理权限被窃取了,而泛域名攻击利用的是你配置的合法泛解析记录,攻击者没有修改你的任何DNS数据,只是“借用”了你未启用的子域名,打个比方,劫持相当于小偷撬开你家大门住进去;泛域名攻击相当于发现你家阁楼的窗户没锁,然后偷偷在阁楼里搭了个房间。
泛域名攻击会导致主站被百度降权吗?
在百度搜索资源平台违规说明中,子域名的违规行为确实可能影响主站的信任度,搜索引擎无法实时判断子域名与主站的归属关系,当大量垃圾内容从子域名发布并指向主站内页时,会被视为主站质量不佳的信号,处理方式是在清理恶意子域名后,通过百度搜索资源平台提交死链校验,并针对“站点子域名异常”页面提交反馈,通常需要数天时间恢复。
泛域名攻击多久能处理完?
清理一个具体的恶意子域名只需要几分钟,从DNS解析记录中删掉对应的A记录即可,但完整处置周期要看攻击的影响范围,如果只是单纯被挂页面,一天内可以完成清理;如果收集了用户数据并涉及钓鱼诈骗,则还需配合相关监管要求做溯源和取证,周期会延长到一到两周,最终搜索引擎的信任恢复时间取决于受害子域名被收录的页面数量和站点整体的历史表现。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/663721.html





