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记录,造成信息泄露。
漏洞产生条件
- DNS服务器未限制AXFR请求的来源IP
- 服务器收到AXFR请求后无条件执行域传送
攻击步骤
- 识别目标域名的DNS服务器(如ns1.example.com)
- 向该服务器发送AXFR请求
- 若未限制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:基础域传送利用
- 停止本地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配置示例:
options {
allow-transfer { 192.168.1.2; }; // 只允许这个IP进行域传送
};
Windows配置:
- 打开DNS管理控制台
- 右键区域 -> 属性 -> 区域传送
- 选择"仅允许到以下服务器"
2. 使用TSIG认证
通过事务签名(TSIG)加密验证主从服务器身份,防止未授权传输
3. DNSSEC配置
- 将NSEC升级到NSEC3防止区域遍历(Zone Walking)
- 合理配置DNSKEY和RRSIG记录
4. 其他措施
- 若无从服务器,可直接关闭域传送功能
- 定期审计DNS服务器配置
- 监控异常DNS查询请求
8. 相关工具和参考
常用工具
- dig
- nslookup
- dnsenum
- nmap