DNS域傳送漏洞
\DNS協議支持使用axfr類型的記錄進行區域傳送,用來解決主從同步的問題。如果管理員在配置DNS服務器的時候沒有限制允許獲取記錄的來源,將會導致DNS域傳送漏洞。
環境搭建
vulhub使用bind9來搭建dns服務器,但不代表只有bind9支持axfr記錄。運行DNS服務器:
docker-compose up -d
環境運行后,將會監聽TCP和UDP的53端口,DNS協議同時支持從這兩個端口進行數據傳輸。因為涉及到1024以下的端口號,所以運行上述命令可能需要root權限。
漏洞復現
在Linux下,我們可以使用dig命令來發送dns請求。比如,我們可以用dig @your-ip www.vulhub.org獲取域名www.vulhub.org在目標dns服務器上的A記錄:

發送axfr類型的dns請求:dig @your-ip -t axfr vulhub.org

可見,我獲取到了vulhub.org的所有子域名記錄,這里存在DNS域傳送漏洞。
我們也可以用nmap script來掃描該漏洞:nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 your-ip

Vulhub 文檔
推薦文章: