浅谈“DNS域传送漏洞”

时间:2024-04-14 17:06:17

一:漏洞名称:

DNS域传送漏洞,DNS区域传输

描述

DNS 区域传送(DNS zone transfer)是指一台备用 DNS 服务器使用来自主 DNS 服务器的数据刷新自己的域(zone)数据库,从而避免主 DNS 服务器因意外故障影响到整个域名解析服务。

一般情况下,DNS 区域传送只在网络里存在备用 DNS 服务器时才会使用;但许多 DNS 服务器却被错误地配置,只要有客户机发出请求,就会向对方提供一个 zone 数据库的详细信息。因此,不受信任的因特网用户也可以执行 DNS 区域传送(zone transfer)操作。

恶意用户可以通过 DNS 区域传送快速地判定出某个特定 zone 的所有主机,并收集域信息、选择攻击目标,进而找出未使用的 IP 地址,绕过基于网络的访问控制窃取信息。

(不明白的再看这位博主写的:摘自https://www.jianshu.com/p/d2af08e6f8fb

浅谈“DNS域传送漏洞”

常用的DNS记录有以下几类:

DNS 类型
A IP地址记录,记录一个域名对应的IP地址
AAAA IPv6 地址记录,记录一个域名对应的IPv6地址
CNAME 别名记录,记录一个主机的别名
MX 电子邮件交换记录,记录一个邮件域名对应的IP地址,如[email protected]
NS 域名服务器记录 ,记录该域名由哪台域名服务器解析
PTR 反向记录,也即从IP地址到域名的一条记录
TXT 记录域名的相关文本信息

检测条件:

1.被测网站可正常访问。

检测方法:

其实利用方法分为手工和工具两种,我们可以利用BT5下面的工具Dnsenum或者是其它工具,手工的话就利用nslookup即可

1.使用工具来获取DNS信息:

使用工具来获取DNS信息

cd /pentest/enumeration/dns/dnsenum

# ./dnsenum.pl --enum domain.com

这样就可以简单的利用了。

2.使用手工的方法,推荐。方法如下:

查看方法:

> set type=ns  //现获取ns记录

> npc.gov.cn

> server ns.npc.gov.cn  //设置ns

> set type=axfr     //设置区域传输

> ls -d npc.gov.cn

查看效果如下:

:

浅谈“DNS域传送漏洞”


查询结果保存在189store.com.txt中
使用如下指令查看

view 189store.com.txt

有74条记录

浅谈“DNS域传送漏洞”

 

(注:

操作基本的步骤是:

  1. 输入nslookup命令进入交互式shell

  2. Server 命令参数设定查询将要使用的DNS服务器

  3. Ls命令列出某个域中的所有域名

攻击者能获取的敏感主要包括:

1)网络的拓扑结构,服务器集中的IP地址段

2)数据库服务器的IP地址

3)测试服务器的IP地址,

4)v*n服务器地址泄露

5)其他敏感服务器

以上示例了存在漏洞的DNS服务器,若是不存在漏洞的主机,则可能提示错误Query Refused:

浅谈“DNS域传送漏洞”

 

漏洞修复:

以下为常见的修复方式:

1.Windows 界面禁止DNS域传送漏洞方法:

1. 打开 DNS。

2. 使用鼠标右键单击一个 DNS 区域,然后单击“属性”。

3. 在“区域传输”选项卡,执行下列操作之一:

要禁用区域传输,请清除“允许区域传输”复选框。

要允许区域传输,请选中“允许区域传输”复选框。

4. 如果允许进行区域传输,请执行下列操作之一:

要允许向任何服务器进行区域传输,请单击“到所有服务器”。

要只允许向“名称服务器”选项卡上列出的 DNS 服务器进行区域传输,请单击“只有在名称服务器选项卡中列出的服务器”。 要只允许向特定 DNS 服务器进行区域传输,请单击“只允许到下列服务器”,然后添加一个或多个 DNS 服务器的IP 地址。

2.Bind 9界面禁止DNS域传送漏洞方案:

关闭BIND9对于ls命令功能,在named.conf.options这样写,对于有slave或者特殊需要的,用ip替换none即可allow-transfer { none; };

3.如果你使用 bind 8,可以在“named.conf”文件(缺省路径是/etc/named.conf)的对某个域的域传输进行限制。

例如,您可以只允许自己本地主机以及某个可信主机(比如辅助域名服务器)对"linux.bogus"域进行域传输:

zone "linux.bogus" {

allow-transfer { 192.168.1.4; localhost; };

};

注意:在修改完配置文件之后,需要重新启动named。

4.如果您使用的是Windows DNS Server,可以启动DNS Manager,在Zone Properties窗口中有一个DNS SERVER的列表,选中Only Allow Access From Secondaries Included on Notify List复选项,服务器就会限制可以进行区域传送的服务器,只有Notify List中授权了的辅DNS Server才可以进行区域传送。

5.设置DNS安全策略:

1.隔离DNS服务器,专机专用

2.隐藏BIND的版本号

3.使用备份域名服务器

4.Chroot bind

5.禁止区域传送

其他补充说明:

来自:https://blog.****.net/c465869935/article/details/53444117

ps: 收集dns服务器,推测出网段与解析的域,从而检测DNS是否存在域传送漏洞。学习研究用得到,手工比较麻烦,仅列出来当作一种方法。

1. 利用网络空间搜索引擎收集域名服务器 
shodan

浅谈“DNS域传送漏洞”

zoomeye

浅谈“DNS域传送漏洞”

fofa

浅谈“DNS域传送漏洞”

注: 还没研究过如何从以上搜索引擎中批量爬取或下载搜索结果。

还可参考:

李劼杰DNS域传送漏洞系列博客 

dns 域传送漏洞利用总结