DNS域传送漏洞

本文介绍了DNS服务器的类型及数据同步机制——DNS域传送,阐述了因配置不当导致的域传送漏洞,以及如何通过设置allow-transfer限制来防止未经授权的数据获取。通过实例展示了利用dig命令和nmap扫描检测漏洞的方法,并提出了添加IP限制或使用key认证的解决方案。

原理

DNS服务器分为:主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据库,需要使用“DNS域传送”。域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。

设置方式为两种:一种设置在options配置域;一种设置在zone配置域。优先级为如果zone没有进行配置,则遵守options的设置。如果zone进行了配置,则遵守zone的设置。

漏洞成因

若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。

默认情况配置项没有allow-transfer 项。如果直接使用默认配置文件进行配置的话(不手动添加allow-transfer项),就会存在dns 域传送漏洞。

在vulhub里进行复现

cd vulhub/dns/dns-zone-transfer  进入目录
docker-compose up -d      启动环境


 

使用dig命令检测,出现XFR就说明有漏洞


 

使用nmap进行扫描
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=vulhub.org -p 53 -Pn 121.4.217.103
nmap –script dns-zone-transfer 表示加载nmap文件夹下的脚本文件dns-zone-transfer.nse,扩展名.nse可省略
–script-args dns-zone-transfer.domain=vulhub.org
-p 53设置扫描53端口
-Pn 设置通过Ping发现主机是否存活


 

漏洞的原因就是默认情况下,对所有要求从主服务器请求拷贝数据的“备份服务器”没有进行验证,造成只要请求就返回的结果。所以解决域传送问题非常简单,只需要在相应的zone、options中添加allow-transfer限制可以进行同步的服务器就可以了,可以有两种方式:限制IP、使用key认证。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值