1.漏洞原理
如果管理员在配置DNS服务器的时候没有限制允许获取记录的来源,将会导致DNS域传送入侵。
2.漏洞复现
环境搭建
ubuntu需要先停止系统的解析服务
sudo systemctl stop systemd-resolved
/vulhub-master/dns/dns-zone-transfer# sudo docker-compose up -d
使用dig命令查询vulhub.org的A记录
尝试发送axfr区域传输命令
或者使用Nmap的nse脚本进行探测
nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 192.168.0.105
3.漏洞修复
区域传送是 DNS 常用的功能,为保证使用安全,应严格限制允许区域传送的主机,例如一个主 DNS 服务器应该只允许它的备用 DNS 服务器执行区域传送功能。在相应的 zone、options 中添加 allow-transfer
,对执行此操作的服务器进行限制。如:
-
严格限制允许进行区域传送的客户端的 IP:
allow-transfer {1.1.1.1; 2.2.2.2;}
-
设置 TSIG key:
allow-transfer {key "dns1-slave1"; key "dns1-slave2";}