DNS 域传送漏洞:原理、危害及防御
字数 1766 2025-08-29 08:30:18

DNS域传送漏洞:原理、危害及防御

1. DNS基础概念

DNS(Domain Name System)是互联网的核心服务之一,主要功能是将域名转换为IP地址。DNS服务通常运行在53端口,使用UDP协议进行通信。

DNS服务器类型

  • 主服务器(Primary Server): 存储原始区域数据的权威服务器
  • 备份服务器(Secondary Server): 从主服务器同步数据的备份服务器
  • 缓存服务器(Caching Server): 临时存储DNS查询结果的服务器

2. DNS域传送机制

DNS域传送(Zone Transfer)是DNS主服务器向从服务器同步区域文件(Zone File)的机制,确保所有DNS服务器数据一致。

传输协议类型

  • AXFR(全量传输): 同步整个区域文件
  • IXFR(增量传输): 仅同步变更部分(需DNS服务器支持)

3. DNS域传送漏洞原理

当DNS服务器配置不当,允许任意IP地址发起AXFR请求时,攻击者可以获取域内所有DNS记录,造成信息泄露。

漏洞产生条件

  1. DNS服务器未限制AXFR请求的来源IP
  2. 服务器收到AXFR请求后无条件执行域传送

攻击步骤

  1. 识别目标域名的DNS服务器(如ns1.example.com)
  2. 向该服务器发送AXFR请求
  3. 若未限制IP,服务器返回完整的区域文件

4. 漏洞检测方法

使用dig工具检测

dig @ns1.example.com example.com AXFR

使用nslookup检测

nslookup
> server ns1.example.com
> ls -d example.com

使用dnsenum工具枚举

dnsenum example.com

5. DNS记录类型详解

代码 名称 RFC 描述
A IPv4地址记录 RFC 1035 32位IPv4地址,最常用于主机名到IP映射
AAAA IPv6地址记录 RFC 3596 128位IPv6地址
CNAME 规范名称记录 RFC 1035 主机名的别名
MX 电邮交互记录 RFC 1035 邮件传输代理列表
NS 名称服务器记录 RFC 1035 委托DNS区域使用的权威服务器
PTR 指针记录 RFC 1035 用于反向DNS查找
SOA 权威记录起始 RFC 1035 指定DNS区域的权威信息
TXT 文本记录 RFC 1035 最初为可读文本,现多用于机读数据
DNSKEY DNSSEC公钥记录 RFC 4034 DNSSEC使用的公钥
RRSIG DNSSEC证书 RFC 4034 存放某记录的签名

(完整记录类型表请参考原文)

6. 漏洞利用案例

案例1:基础域传送利用

  1. 停止本地DNS解析服务(systemctl stop systemd-resolved)
  2. 查询目标域名的A记录
  3. 发送AXFR传输命令获取所有子域名

案例2:CTF题目分析(Nullcon Goa HackIM 2025)

  1. 扫描发现仅开放53端口
  2. 枚举DNS记录发现DNSSEC相关记录
  3. 通过DNSKEY和RRSIG记录分析
  4. 发现flag子域名hereisthe1337flag
  5. 查询该子域名获取flag

7. 防御措施

1. 限制域传送IP范围

仅允许从服务器IP发起AXFR请求

Linux配置示例:

options {
    allow-transfer { 192.168.1.2; }; // 只允许这个IP进行域传送
};

Windows配置:

  1. 打开DNS管理控制台
  2. 右键区域 -> 属性 -> 区域传送
  3. 选择"仅允许到以下服务器"

2. 使用TSIG认证

通过事务签名(TSIG)加密验证主从服务器身份,防止未授权传输

3. DNSSEC配置

  • 将NSEC升级到NSEC3防止区域遍历(Zone Walking)
  • 合理配置DNSKEY和RRSIG记录

4. 其他措施

  • 若无从服务器,可直接关闭域传送功能
  • 定期审计DNS服务器配置
  • 监控异常DNS查询请求

8. 相关工具和参考

常用工具

  • dig
  • nslookup
  • dnsenum
  • nmap

参考资源

  1. DNS Vulnerability for AXFR queries
  2. DNS Zone Transfer Vulnerability
  3. DNS Hacking: Zone Walk
DNS域传送漏洞:原理、危害及防御 1. DNS基础概念 DNS(Domain Name System)是互联网的核心服务之一,主要功能是将域名转换为IP地址。DNS服务通常运行在53端口,使用UDP协议进行通信。 DNS服务器类型 主服务器(Primary Server) : 存储原始区域数据的权威服务器 备份服务器(Secondary Server) : 从主服务器同步数据的备份服务器 缓存服务器(Caching Server) : 临时存储DNS查询结果的服务器 2. DNS域传送机制 DNS域传送(Zone Transfer)是DNS主服务器向从服务器同步区域文件(Zone File)的机制,确保所有DNS服务器数据一致。 传输协议类型 AXFR(全量传输) : 同步整个区域文件 IXFR(增量传输) : 仅同步变更部分(需DNS服务器支持) 3. DNS域传送漏洞原理 当DNS服务器配置不当,允许任意IP地址发起AXFR请求时,攻击者可以获取域内所有DNS记录,造成信息泄露。 漏洞产生条件 DNS服务器未限制AXFR请求的来源IP 服务器收到AXFR请求后无条件执行域传送 攻击步骤 识别目标域名的DNS服务器(如ns1.example.com) 向该服务器发送AXFR请求 若未限制IP,服务器返回完整的区域文件 4. 漏洞检测方法 使用dig工具检测 使用nslookup检测 使用dnsenum工具枚举 5. DNS记录类型详解 | 代码 | 名称 | RFC | 描述 | |------|------|-----|------| | A | IPv4地址记录 | RFC 1035 | 32位IPv4地址,最常用于主机名到IP映射 | | AAAA | IPv6地址记录 | RFC 3596 | 128位IPv6地址 | | CNAME | 规范名称记录 | RFC 1035 | 主机名的别名 | | MX | 电邮交互记录 | RFC 1035 | 邮件传输代理列表 | | NS | 名称服务器记录 | RFC 1035 | 委托DNS区域使用的权威服务器 | | PTR | 指针记录 | RFC 1035 | 用于反向DNS查找 | | SOA | 权威记录起始 | RFC 1035 | 指定DNS区域的权威信息 | | TXT | 文本记录 | RFC 1035 | 最初为可读文本,现多用于机读数据 | | DNSKEY | DNSSEC公钥记录 | RFC 4034 | DNSSEC使用的公钥 | | RRSIG | DNSSEC证书 | RFC 4034 | 存放某记录的签名 | (完整记录类型表请参考原文) 6. 漏洞利用案例 案例1:基础域传送利用 停止本地DNS解析服务( systemctl stop systemd-resolved ) 查询目标域名的A记录 发送AXFR传输命令获取所有子域名 案例2:CTF题目分析(Nullcon Goa HackIM 2025) 扫描发现仅开放53端口 枚举DNS记录发现DNSSEC相关记录 通过DNSKEY和RRSIG记录分析 发现flag子域名 hereisthe1337flag 查询该子域名获取flag 7. 防御措施 1. 限制域传送IP范围 仅允许从服务器IP发起AXFR请求 Linux配置示例 : Windows配置 : 打开DNS管理控制台 右键区域 -> 属性 -> 区域传送 选择"仅允许到以下服务器" 2. 使用TSIG认证 通过事务签名(TSIG)加密验证主从服务器身份,防止未授权传输 3. DNSSEC配置 将NSEC升级到NSEC3防止区域遍历(Zone Walking) 合理配置DNSKEY和RRSIG记录 4. 其他措施 若无从服务器,可直接关闭域传送功能 定期审计DNS服务器配置 监控异常DNS查询请求 8. 相关工具和参考 常用工具 dig nslookup dnsenum nmap 参考资源 DNS Vulnerability for AXFR queries DNS Zone Transfer Vulnerability DNS Hacking: Zone Walk