DNS域传送漏洞复现

DNS域传送漏洞复现

DNS域传送漏洞这个漏洞算是信息泄露的漏洞,DNS服务器分为主服务器,备份服务器,缓存服务器。备份服务器需要利用“域传送”从主服务器上copy数据,然后更新自身的数据库,以达到数据同步的目的,这样是为了增加冗余,万一主服务器挂了还有备份服务器顶着。而“域传送”漏洞则是由于dns配置不当,本来只有备份服务器能获得主服务器的数据,由于漏洞导致任意client都能通过“域传送”获得主服务器的数据(zone数据库信息)。这样,攻击者就能获得某个域的所有记录,甚至整个网络拓扑都暴露无遗,同时节省了信息收集的时间。对系统管理员来说,允许不受信任的因特网用户执行 DNS 区域传送(zone transfer)操作是后果最为严重的错误配置之一。

因为这个漏洞本身也很简单,所以直接用vulhub的环境复现了。

在dns-zone-transfer这个目录下主要关注named.conf.local和vulhub.db文件。前者是配置文件,后者是域名解析信息。对于该漏洞主要可以用到3个工具,dig,nslookup,nmap。这里提一下dig和nslookup命令,是用 yum install bind-utils 来安装的。

用的是docker环境,将会监听TCP和UDP的53端口,DNS协议同时支持从这两个端口进行数据传输。现在我的vps就是一台dns服务器了。

这里用dig命令来演示。

由于该漏洞的成因就是管理员配置DNS服务器的时候没有限制允许获取记录的来源,导致任意client都能通过“域传送”获得主服务器的数据。所以发送axfr类型的dns请求。

我获取到了vulhub.org的所有子域名记录,这里存在DNS域传送漏洞。这里为了做一些对比,我们可以试试其他的域名服务器,这里以国内常用的114.114.114.114为例。

这里我们查询vulhub.org的解析是成功的,但是从主域名服务器上请求zone文件却失败了,说明不存在该漏洞。

我们也可以用nmap script来扫描该漏洞,nmap –script dns-zone-transfer.nse –script-args “dns-zone-transfer.domain=vulhub.org” -Pn -p 53 ip

虽然该漏洞简单,但是用于信息收集非常高效准确。

zgao

如果有什么技术上的问题,可以加我的qq 1761321396 一起交流。