DNS域传送漏洞

DNS域传送漏洞

0X01原理

DNS作为重要的互联网基础设施,难免成为黑客的重点攻击目标,服务的稳定性尤为重要。

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

若DNS服务器配置不当,可能导致匿名用户获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。凭借这份网络蓝图,攻击者可以节省很少的扫描时间。

大的互联网厂商通常将内部网络与外部互联网隔离开,一个重要的手段是使用Private DNS。如果内部DNS泄露,将造成极大的安全风险。风险控制不当甚至造成整个内部网络沦陷。

常见DNS记录:

主机记录(A记录):A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。

IPv6主机记录(AAAA记录):与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。

别名(CNAME记录):CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。

电子邮件交换记录(MX记录):记录一个邮件域名对应的IP地址。

域名服务器记录 (NS记录):记录该域名由哪台域名服务器解析。

反向记录(PTR记录):也即从IP地址到域名的一条记录TXT记录:记录域名的相关文本信息。

0X02漏洞复现

在vulhub的dns域传送目录下启动

docker-compose up -d

查看服务器ip 192.168.20.243

攻击机 输入dig测试命令。

@192.168.0.161 表示指定域名解析服务器,即DNS服务器

-t axfr 表示发送指定类型

axfr代表域传输请求

vulhub.org 表示待解析的域名

发送域传输请求后,得到了关于vulhub.org域名相关的所有域名信息,证明域传输漏洞是存在。

使用nmap工具对DNS服务器进行扫描测试。

命令nmap --script dns-zone-transfer.nse --script-args "dns-zone-transfer.domain=vulhub.org" -Pn -p 53 192.168.0.161

windows下nslookup命令以两种方式运行:非交互式和交互式。

1、非交互式模式下,查看对应主机域的域名服务器

~# nslookup -type=ns xxx.com

2、进入交互模式,指定域名服务器,列出域名信息

~# nslookup

> server dns.xxx.com


> ls xxx.com
ls: connect: No such file or directory
*** 无法列出域 xxx.com: Unspecified error
DNS 服务器拒绝将区域 xxx.com 传送到你的计算机。
如果这不正确,请检查 IP 地址 xxxxx 的 DNS 服务器上 xxx.com 的区域传送安全设置。

如果提示无法列出域,那就说明此域名不存在域传送漏洞。

0x03漏洞修复

区域传送是 DNS 常用的功能,为保证使用安全,应严格限制允许区域传送的主机,例如一个主 DNS 服务器应该只允许它的备用 DNS 服务器执行区域传送功能。

在相应的 zone、options 中添加 allow-transfer,对执行此操作的服务器进行限制。如:

  • 严格限制允许进行区域传送的客户端的 IP
allow-transfer {1.1.1.1; 2.2.2.2;}
  • 设置 TSIG key
allow-transfer {key "dns1-slave1"; key "dns1-slave2";}
``
posted @ 2021-07-17 21:29  M1n0s博客  阅读(391)  评论(0编辑  收藏  举报