DNSSECNSEC遍历(ZoneWalking)

admin 2026-09-16 04:42:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 这篇文章介绍了DNSSECNSEC遍历漏洞的原理与利用方法。NSEC记录用于提供域名不存在的密码学证明,整个区域的NSEC记录构成按字典序排列的单向链表。攻击者通过连续查询NSEC记录可完整枚举区域中所有域名,无需特殊授权。文章还提供了具体的测试验证步骤,包括查找权威服务器和查询区域顶点NSEC记录的方法。 综合评分: 85 文章分类: 漏洞分析,WEB安全


DNSSEC NSEC 遍历(Zone Walking)

原创

信安路漫漫 信安路漫漫

信安路漫漫

2026年9月15日 07:00 上海

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

前言

最近重新在看信息收集的知识,在看子域名收集的时候看到一个DNSSEC NSEC 遍历,以前没有怎么了解过该漏洞,本文记录一下这个漏洞如何去利用。

DNSSEC NSEC 遍历(Zone Walking)是 DNSSEC 设计中一个广为人知的信息泄露漏洞:攻击者可以通过连续查询 NSEC 记录,像“遍历链表”一样完整枚举一个 DNSSEC 签名区域中的所有域名。

目前该漏洞已经很少了,但还是记录一下,作为了解。

NSEC 记录:原理与遍历机制

DNSSEC 需要提供“某个域名不存在”的密码学证明,NSEC(Next Secure)记录正是为此设计的。每个 NSEC 记录包含两个关键信息:

l该记录所属的域名(owner name)

l区域规范排序中的下一个域名(Next Domain Name)

data.lab.test. 3600 IN NSEC help.lab.test. A RRSIG NSEC

上述记录表示:在 data.lab.test 和 help.lab.test 之间,不存在任何其他域名。整个区域的 NSEC 记录构成一个按字典序排列的单向链表,最后一个记录的 Next Domain Name 指回区域顶点(Zone Apex)。

遍历攻击的核心逻辑是:攻击者首先查询一个不存在的域名(如 doesnotexist.lab.test),权威服务器返回一个 NSEC 记录,其中包含“下一个存在的域名”。攻击者读取该域名,再以它为起点继续查询下一个不存在的名称,如此循环,即可在线性时间内枚举整个区域。这种技术被称为 Zone Walking,与需要区域传送(AXFR)权限的传统枚举方式不同,它不需要任何特殊授权,仅依赖标准的 DNS 查询。

通配符记录并不能阻止 NSEC 遍历。即使区域中存在通配符(如 *.example.com),通配符本身也被签名为 * 并出现在 NSEC 链中,攻击者仍然可以完成遍历

测试方式

接下来看看如何验证该遍历是否存在

  1. 找到权威服务器

dig +short NS example.com

假设返回:

ns1.example.com.

ns2.example.com.

后面直接向权威服务器查询,避免递归解析器缓存干扰。

  1. 查询区域顶点的 NSEC 记录

dig @ns1.example.com +dnssec +norecurse example.com NSEC

重点看 ANSWER SECTION:

;; ANSWER SECTION:

example.com. 3600 IN NSEC a.example.com. A NS SOA MX RRSIG NSEC DNSKEY

这表示:

l当前名字:example.com.

l下一个名字:a.example.com.

l中间没有其他名字。

如何返回了NSEC则证明存在


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:信安路漫漫 信安路漫漫 信安路漫漫《DNSSEC NSEC 遍历(Zone Walking)》

本地文档搜索神器qmd 网络安全文章

本地文档搜索神器qmd

文章总结: qmd是一款基于TypeScript开发的开源本地文档搜索工具,GitHub近3万星,支持全本地运行、全格式兼容和语义级搜索,解决本地文件检索效率低
评论:0   参与:  0