0x00 简介
DNS域传送漏洞本质上算是信息泄露漏洞,DNS服务器分为主服务器,备份服务器,缓存服务器。备份服务器需要利用域传送从主服务器上拷贝数据,然后更新自身的数据库,以达到数据同步的目的。本来这样做的好处是增加了冗余,一旦主服务器出现了问题,备份服务器可以顶上去继续使用;但是,“域传送”漏洞却是由于DNS配置不当,本来只有备份服务器能够获得主服务器的数据,但是正是由于这种错误的配置(只要有client发出请求,就会向对方提供一个zone的数据库的详细信息),导致任意客户端都可以通过域传送获得主服务器的数据。这样,攻击者就能获得某个域的所有记录,甚至整个网络拓扑都暴露无遗,同时节省了信息搜集的时间。
0x01 漏洞复现
这里我们使用vulhub所提供的环境进行复现
vulhub使用bind9来搭建DNS服务器,运行DNS服务器
docker-compose up -d
环境运行以后,将会监听TCP和UDP的53端口,DNS协议同时支持从这两个端口进行数据传输。(现在我们的这台机器就是一台DNS服务器了)
在Linux下,我们可以使用dig命令来发送DNS请求,比如我们可以使用
dig @192.168.88.130 www.vulhub.org
来获取域名www.vulhub.com在目标DNS服务器上的A记录:
由于该漏洞的成因就是管理员配置DNS服务器的时候没有限制允许获取记录的来源,就导致了任意client都能通过“域传送”获得主服务器的数据。所以这里我们发送axfr类型的DNS请求(AXFR请求,是从DNS服务器请求在主DNS服务器上更新信息的一类域名系统的请求。)
dig @192.168.88.130 -t axfr vulhub.org
可见,我们获取到了vulhub.org的所有子域名记录,这里(192.168.88.130这台服务器)存在DNS域传送漏洞
通过这个漏洞我们能够得到:(比较准确)
子域名相关信息
网站的子域名对应IP地址
0x02 漏洞防护
指定IP地址,只允许特定的IP地址进行信息同步
来源:freebuf.com 2021-05-30 11:23:20 by: 掌控安全一疯狂的学嘉
请登录后发表评论
注册