那些年没追过的DNS域传送漏洞

版权声明:看不尽的尘埃版权所有,转载请注明出处 https://blog.csdn.net/weixin_42936566/article/details/86936627

基础知识

DNS :一个保存IP地址和域名相互映射关系的分布式数据库,重要的互联网基础设施,默认使用的TCP/UDP端口号是53。

因此我们需要找开放53端口的服务器,不过现在很难找到这类漏洞。

常见DNS记录类型:

A       IP地址记录,记录一个域名对应的IP地址

AAAA    IPv6 地址记录,记录一个域名对应的IPv6地址

CNAME   别名记录,记录一个主机的别名 

MX      电子邮件交换记录,记录一个邮件域名对应的IP地址,如[email protected]

NS      域名服务器记录 ,记录该域名由哪台域名服务器解析

PTR     反向记录,也即从IP地址到域名的一条记录

TXT     记录域名的相关文本信息

域传送

DNS服务器分为:主服务器、备份服务器和缓存服务器。 

域传送是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。 

在主备服务器之间同步数据库,需要使用“DNS域传送”。

漏洞原理

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

 

靶场测试

dig @your-ip www.vulhub.org 

dig @your-ip -t axfr vulhub.org

检测方法

这个靶场使用的命令和实际环境有点差异。于是,我去wooyun镜像站上找了一些DNS域传送漏洞。

总结一下检测的方法。

1、nslookup命令

2、dig命令

3、Nmap脚本

nslookup命令

个人习惯感觉nslookup比较麻烦,交互式的,后来在网上找到了一个非交互式的方法。

编写一个ls.bat

echo ls %1 | nslookup – %2
%1代表第一个参数,即xxx.edu.cn 
%2代表第二个参数,即dns.xxx.edu.cn 

dig命令

dig NS xxxx.com
dig axfr @ns1.xxxx.com xxxx.com
@指定域名服务器;axfr 为域传送指令;xxxx.com表示要查询的域名;

自己用python写了一个脚本,很水...

import os
print "--------------------dns-zone-transfer--------------------"
url = raw_input("Please input your target,like xxxx.com : ")
os.system("dig NS "+url)
strings = raw_input("If not error , please input like ns.xxxx.com ,or input 'q' exit it: ")
if(strings == "q"):
	exit()
else:
	os.system("dig axfr @" + strings + " " + url)

Nmap命令

nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=xxxx.com -p 53 -Pn dns.xxxx.com

参考

https://blog.csdn.net/c465869935/article/details/53444117

猜你喜欢

转载自blog.csdn.net/weixin_42936566/article/details/86936627