大家好!
我是小黄,很高兴又跟大家见面啦 !
拒绝水文,从我做起 !!!!
今天更新的是:
-
P5 利用Vulnhub复现漏洞 -DNS域传送漏洞
-
往期检索:程序设计学习笔记——目录
创建时间:2021年3月29日
软件: kali 2020.4 、Burp Suite Pro 、火狐浏览器 、Vulhub靶机
Vulhub 复现
漏洞原理
- 作为重要的互联网基础设施,难免成为黑客的重点攻击目标,服务的稳定性尤为重要。DNS服务器分为:主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据库,需要使用“DNS域传送”。域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。
- 若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。
- 大的互联网厂商通常将内部网络与外部互联网隔离开,一个重要的手段是使用Private DNS。如果内部DNS泄露,将造成极大的安全风险。风险控制不当甚至造成整个内部网络沦陷。
环境准备
- 打开漏洞存放路径:
cd /home/vulhub/vulhub/dns/dns-zone-transfer
- 搭建及运行漏洞环境:
docker-compose up -d
- 嗯? 报错了?????? 这是嘛意思
- 经过查资料发现原来这个DNS域传送漏洞会用到
53端口
,53端口被占用
了。 - 关闭内建DNS服务器 :
service systemd-resolved stop
- 重新启动一下容器:
docker-compose up -d
- 环境运行后,
将会监听TCP和UDP的53端口,DNS协议同时支持从这两个端口进行数据传输。
因为涉及到1024以下的端口号,所以运行上述命令可能需要root权限。
漏洞复现
- 常用的三种检测方法:
nslookup命令
,nmap命令
,dig命令
, - 下面将分别演示如何用三种方法检测dns域传送漏洞
第一种方法:dig命令
- 这里涉及
dig
一个重要的命令axfr
: axfr 是q-type类型的一种: axfr类型是Authoritative Transfer的缩写,指请求传送某个区域的全部记录。
- 我们只要欺骗dns服务器发送一个axfr请求过去, 如果该dns服务器上存在该漏洞,就会返回所有的解析记录值
- 第一步: 找到解析域名的dns服务器(Server服务器), 我们可以发送一个ns类型解析请求过去
- 第二步: 然后向该域名发送axfr 请求:
dig @your-ip -t axfr vulhub.org
- 可见,我获取到了
vulhub.or
g的所有子域名记录,这里存在DNS域传送漏洞。
第二种方法:namp命令
- 使用nmap扫描器附带的脚本,可以扫描DNS服务器是否存在域传送漏洞。语法为:
nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 your-ip
- nmap –script dns-zone-transfer表示加载nmap文件夹下的脚本文件dns-zone-transfer.nse,扩展名.nse可省略
- -script-args dns-zone-transfer.domain=vulhub.org向脚本传递参数,设置列出记录的域是vulhub.org
- -p 53设置扫描53端口
- -Pn设置通过Ping发现主机是否存活
- 可见,我获取到了
vulhub.or
g的所有子域名记录,这里存在DNS域传送漏洞。
第三种方法:nslookup命令
走过路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。
每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
把握现在 ,展望未来 ,加油 !
由于水平有限 ,写的难免会有些不足之处 ,恳请各位大佬不吝赐教 !