DNS服务器提供域名解析的基础性服务,可以细分为主服务器、备份服务器、缓存服务器,备份服务器会从主服务器中拷贝数据来更新自己的数据库,而这个同步的过程中就需要用到DNS域传送,一旦配置不当,就可能会导致任何匿名用户都可以获取DNS服务器某一域的所有记录,泄露重要信息

漏洞成因

在域传送中关键的配置项有这两个

allow-transfer {ipaddress;}; 通过ip限制可进行域传送的服务器
allow-transfer { key transfer; }; 通过key限制可进行域传送的服务器

有两种设置方式,options或是zone,默认优先级为zone 如果为空则遵循options,示例

options {
listen-on { 1.1.1.1; };
listen-on-v6 { any; };
directory "/bind";
pid-file "/bind/run/pid";
dump-file "/bind/data/named_dump.db";
statistics-file "/bind/data/named.stats";

    allow-transfer  { any; };
    allow-query    {any;};


};
zone "wooyun.org" {
type master;
file "/bind/etc/wooyun.org.conf";
allow-transfer {any;};
};

如果没有手动添加allow-transfer来限制获取记录的来源,就会存在DNS域传送漏洞

检测方式

dig / linux

以vulhub为例,以常规的8.8.8.8作为DNS服务器进行解析,如果发送axfr的请求会failed

image-20220506160422503

如果使用存在漏洞的DNS服务器进行查询,则会返回域内所有的字域、A记录和CNAME等信息

image-20220506160602721

nslookup / windows&linux

正常情况:

image-20220506163501741

存在漏洞的情况(linux示例):

image-20220506164756031

Nmap

nmap -script dns-zone-transfer -script-args dns-zone-transfer.domain=vulhub.org -p 53 -Pn 172.27.0.2

dnsrecon

dnsrecon -d example.com

dnsenum

dnsenum example.com

以下是本文中涉及到的 和我学习时看过的所有文章的链接 每日感谢互联网的丰富资源(

浅析DNS域传送漏洞

DNS域传送信息泄露

vulhub复现环境