背景
大概半年前遇到过一次DNS Zone transfer漏洞,今天利用长亭科技phith0n开源的vulhub环境来搭建了下漏洞环境,简单的跑了下实验。
DNS域名解析服务算是很多公司的基础服务,很多公司会对DNS服务器进行主备配置。DNS服务器分为主服务器、备份服务器和缓存服务器。Zone Transfer指的是备份服务器使用主服务器的数据来更新自己的域数据库。有些环境下DNS服务器配置不当,对于匿名client发起的请求,也会返回一个域数据库的详细信息,攻击者可能会获取到被攻击域下的所有子域名、服务器IP地址等。
DNS Zone Transfer关键配置关注两个点
1 | options { |
实验
阿里云ECS运行docker,将环境跑起来
docker-compose up -d
设置安全组策略:vulhub使用bind9搭建的dns服务器,环境运行后将会监听TCP和UDP的53端口。阿里云默认安全组的入口方向53端口是关闭的,这里需要配置下开放端口,否则后面dig发请求的时候无响应。
Linux下用dig命令发送dns请求来测试是否由DNS Zone Transfer漏洞
dig @your-ip www.vulhub.org 这里ip是阿里云ECS的公网IP
发送axfr类型的dns请求:dig @your-ip -t axfr vulhub.org
可以获取vulhub.org的所有子域名记录。
利用nmap script脚本也可以自动扫描获取
1 | nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 your-ip |
参考
https://github.com/vulhub/vulhub/tree/master/dns/dns-zone-transfer
http://sunu11.com/2017/03/16/8/
http://drops.xmd5.com/static/drops/papers-64.html
后记
赞赏了24块钱支持下这个项目,phith0n这种分享精神我特别感激。phith0n的小密圈也是干活满满,安全娱乐圈里面的一股清流啊