DNS 区域传输 (AXFR)
使用 AXFR 协议的 DNS 区域传输是跨 DNS 服务器复制 DNS 记录的最简单机制。为避免在多个 DNS 服务器上编辑信息的需要,您可以在一台服务器上编辑信息并使用 AXFR 将信息复制到其他服务器。但是,如果您不保护您的服务器,恶意方可能会使用 AXFR 来获取有关您所有主机的信息。
参考:
- https://www.acunetix.com/blog/articles/dns-zone-transfers-axfr/
- https://nmap.org/nsedoc/scripts/dns-zone-transfer.html
Vulhub 使用Bind9构建 dns 服务器,但这并不意味着只有 Bind9 支持 AXFR 记录。
漏洞复现
运行DNS服务器,环境运行后,会监听 TCP 和 UDP 的 53 端口,DNS 协议支持从这两个端口传输数据。
在Linux下,我们可以使用dig命令发送AXFR记录请求:
1 | dig @your-ip -t axfr vulhub.org |
得到了的所有子域记录vulhub.org
,这里有一个 DNS 区域传输漏洞。
我们也可以使用 Nmap 脚本来扫描这个漏洞:
1 | nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 your-ip |