DNS域传送漏洞
作者:互联网
什么是DNS?
DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。
举例来说,如果你要访问域名math.stackexchange.com
,首先要通过DNS查出它的IP地址是151.101.129.69
。
DNS服务器使用的TCP/UDP端口号是53。
最常用的DNS记录有以下几类:
DNS | 类型 |
---|---|
A | IP地址记录,记录一个域名对应的IP地址 |
AAAA | IPv6 地址记录,记录一个域名对应的IPv6地址 |
CNAME | 别名记录,记录一个主机的别名 |
MX | 电子邮件交换记录,记录一个邮件域名对应的IP地址,如root@xxxx.com |
NS | 域名服务器记录 ,记录该域名由哪台域名服务器解析 |
PTR | 反向记录,也即从IP地址到域名的一条记录 |
TXT | 记录域名的相关文本信息 |
nslookup命令
Windows下的nslookup命令:
λ nslookup.exe ?
用法:
1 λ nslookup.exe ? 2 用法: 3 nslookup [-opt ...] # 使用默认服务器的交互模式 4 nslookup [-opt ...] - server # 使用 "server" 的交互模式 5 nslookup [-opt ...] host # 仅查找使用默认服务器的 "host" 6 nslookup [-opt ...] host server # 仅查找使用 "server" 的 "host"
交互式nslookup命令:
1 λ nslookup.exe 2 默认服务器: UnKnown 3 Address: 8.8.8.8 4 5 > help 6 命令: (标识符以大写表示,[] 表示可选) 7 NAME - 打印有关使用默认服务器的主机/域 NAME 的信息 8 NAME1 NAME2 - 同上,但将 NAME2 用作服务器 9 help or ? - 打印有关常用命令的信息 10 set OPTION - 设置选项 11 all - 打印选项、当前服务器和主机 12 [no]debug - 打印调试信息 13 [no]d2 - 打印详细的调试信息 14 [no]defname - 将域名附加到每个查询 15 [no]recurse - 询问查询的递归应答 16 [no]search - 使用域搜索列表 17 [no]vc - 始终使用虚拟电路 18 domain=NAME - 将默认域名设置为 NAME 19 srchlist=N1[/N2/.../N6] - 将域设置为 N1,并将搜索列表设置为 N1、N2 等 20 root=NAME - 将根服务器设置为 NAME 21 retry=X - 将重试次数设置为 X 22 timeout=X - 将初始超时间隔设置为 X 秒 23 type=X - 设置查询类型(如 A、AAAA、A+AAAA、ANY、CNAME、MX、 24 NS、PTR、SOA 和 SRV) 25 querytype=X - 与类型相同 26 class=X - 设置查询类(如 IN (Internet)和 ANY) 27 [no]msxfr - 使用 MS 快速区域传送 28 ixfrver=X - 用于 IXFR 传送请求的当前版本 29 server NAME - 将默认服务器设置为 NAME,使用当前默认服务器 30 lserver NAME - 将默认服务器设置为 NAME,使用初始服务器 31 root - 将当前默认服务器设置为根服务器 32 ls [opt] DOMAIN [> FILE] - 列出 DOMAIN 中的地址(可选: 输出到文件 FILE) 33 -a - 列出规范名称和别名 34 -d - 列出所有记录 35 -t TYPE - 列出给定 RFC 记录类型(例如 A、CNAME、MX、NS 和 PTR 等) 36 的记录 37 view FILE - 对 'ls' 输出文件排序,并使用 pg 查看 38 exit - 退出程序
1) 使用type参数可以设置记录类型。
2) 使用ls命令,可以列出一个域下面所有的域名。
查询DNS: nslookup -type=ns XX.com
查询邮件服务器: nslookup -type=mx XX.com
在交互式shell中发现一个DNS服务器的域传送漏洞的过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | D:\>nslookup 默认服务器: public1.114dns.com Address: 114.114.114.114 > server dns.nwpu.edu.cn 默认服务器: dns.nwpu.edu.cn Address: 202.117.80.2 > ls nwpu.edu.cn [dns.nwpu.edu.cn] nwpu.edu.cn. NS server = dns.nwpu.edu.cn nwpu.edu.cn. NS server = dns1.nwpu.edu.cn nwpu.edu.cn. NS server = dns2.nwpu.edu.cn nwpu.edu.cn. NS server = dns3.nwpu.edu.cn * A 222.24.192.99 (... 省略大量的记录) npunecas NS server = webcomp.npunecas.nwpu.edu.cn webcomp.npunecas A 202.117.85.146 nwpu03 A 202.117.80.4 nwpudb2 A 222.24.210.149 poj A 192.168.0.248 portal A 61.150.43.10 portal1 A 222.24.192.31 portal2 A 222.24.192.32 rei A 202.117.85.10 saip NS server = saipserver.saip.nwpu.edu.cn saipserver.saip A 202.117.85.72 test A 222.24.192.29 yzb A 202.117.85.3 zsb A 202.117.87.130 zygx A 202.117.80.9 |
操作基本的步骤是:
1) 输入nslookup命令进入交互式shell
2) Server 命令参数设定查询将要使用的DNS服务器
3) Ls命令列出某个域中的所有域名
4) Exit命令退出程序
以上示例了存在漏洞的DNS服务器,若是不存在漏洞的主机,则可能提示错误Query Refused:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | D:\>nslookup 默认服务器: public1.114dns.com Address: 114.114.114.114 > server ns.pku.edu.cn 默认服务器: ns.pku.edu.cn Address: 202.112.7.13 > ls pku.edu.cn [ns.pku.edu.cn] *** 无法列出域 pku.edu.cn: Query refused DNS 服务器拒绝将区域 pku.edu.cn 传送到您的计算机。如果这不正确, 请检查 IP 地址 202.112.7.13 的 DNS 服务器上 pku.edu.cn 的 区域传送安全设置。 |
使用nmap扫描DNS域传送泄露漏洞
使用nmap扫描器附带的脚本,可以扫描DNS服务器是否存在域传送漏洞。语法为:
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=nwpu.edu.cn -p 53 -Pn dns.nwpu.edu.cn
上述命令命令说明如下:
- nmap –script dns-zone-transfer表示加载nmap文件夹下的脚本文件dns-zone-transfer.nse,扩展名.nse可省略
- –script-args dns-zone-transfer.domain=zonetransfer.me向脚本传递参数,设置列出记录的域是nwpu.edu.cn
- -p 53设置扫描53端口
- -Pn设置通过Ping发现主机是否存活
Dig命令
dig来测试DNS服务器是否存在域传送泄露。Dig是一个非常强大的DNS查询工具,输入“dig -h”查看它的使用说明
参考资料:
DNS域传送漏洞(一) | 李劼杰的博客
标签:传送,nwpu,cn,漏洞,DNS,edu,服务器,nslookup 来源: https://www.cnblogs.com/Risk2S/p/11460920.html