DNS域传送漏洞

DNS的认识:

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181DNS有规范说明,RFC 2136DNS的动态更新进行说明,RFC 2308DNS查询的反向缓存进行说明。

 

DNS功能:

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。


主机名到IP地址的映射有两种方式:

DNS域传送漏洞_第1张图片

 

DNS(11)

1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;


2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址[1]

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

 

DNS重要性:

1、技术角度看

       DNS解析是互联网绝大多数应用的实际寻址方式 域名技术的再发展、以及基于域名技术的多种应用,丰富了互联网应用和协议。


2、资源角度看

域名是互联网上的身份标识,是不可重复的唯一标识资源; 互联网的全球化使得域名成为标识一国主权的国家战略资源。

 

DNS域传送漏洞原理:

DNS服务器分为:主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据库,需要使用“DNS域传送”。域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。

 

DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。

 

DNS域传送漏洞检测方法:

Windows下的检测方法是:

这里set type=soaset type=ns都可以,这里我们以windows nslookup命令为例

首先输入nslookup



 



Linux下的检测方法是:

dig axfr @ns1.myhostadmin.net linux520.com           @SOA DNS域名要查看的域名称


 


 

通过linux系统和windows系统都可以检测出该站点使用的DNS存在区域传送漏洞,通过执行命令我们可以清楚的看到整个域下的域名解析情况,从而将整个域的信息暴露无遗(如图A记录和MX记录)。


修复建议:

解决方案:区域传送是DNS常用的功能,区域传送的漏洞也不是没有办法解决的,严格限制允许区域传送的主机即可,例如一个主DNS服务器应该只允许它的从DNS服务器执行区域传送的功能。


针对于bind软件,可以通过allowe-transfer指令来控制,可以作为global选项或者zone选项的一个参数,我们可以使用地址列表如下

1

allowe-transfer {192.168.1.1; 172.24.123.253;;

 

但是使用基于地址的访问控制列表可能会被某些“意志坚定”黑客绕过,呵呵。最好方法是使用TSIG key来严格定义区域传送的关系,如下

1

allowe-transfer {key "dns1-slave1"; key "dns1-slave2";;


DNS域传送漏洞_第2张图片


DNS域传送漏洞_第3张图片

你可能感兴趣的:(安全测试)