点击上方蓝字,意外获取最新黑客技能~
写在前面的话
★★★★★
域名不仅是我们实现互联网的基础,也使我们更加方便地访问互联网资源。尽管很多人在日常生活中使用各种域名,但很少有人真正了解它们是如何运作的。借助多个抽象层和多个 Web 服务,用户可以轻松购买和持有域名,然后构建整个网站,而无需了解任何有关 DNS、域名注册商或 WHOIS 的信息。尽管这种抽象形式给最终用户带来了很多好处,但它也阻止了他们获取许多重要信息。例如,很多域名注册商会主动向用户推荐.io域名,但购买了.io域名的用户有多少知道谁真正持有和管理这些.io域名呢?
我想表达的并不是“绝大多数域名持有者不知道自己域名背后的运行机制”。其实我这篇文章想和大家讨论的是域名后缀( )的安全问题。
DNS结构简介
★★★★★
注意:如果您已经了解 DNS 的工作原理及其委托机制,可以直接跳过本章。
那么,当您购买域名时,您实际上购买的是什么?简单来说,你购买的其实是一些NS(域名解析服务器)记录,这些记录托管在该域名后缀的域名解析服务器上。这不包括 WHOIS、域名注册商服务和 ICANN 服务等辅助服务。里面。
在研究过程中,我发现如果想要深入了解DNS的运行机制,那么可视化绝对是一个非常好的学习方式,所以我专门写了这个工具叫,它可以生成域名委托路径图。为了更好地理解域名后缀在整个DNS执行链中的具体位置,我们首先看一下下图,它展示了委托链。
如上图所示,委托链从根节点DNS服务器开始,通过一系列节点间的传递,最终找到目标域名解析服务器。客户端发送的DNS查询请求也是从根节点DNS服务器开始的。客户端会向其中一台根域名解析服务器发送 DNS 查询请求,但该服务器不知道如何响应此请求,因此会将查询请求委托给 TLD(顶级域名),并且TLD负责将请求发送到正确的域名解析服务器,最终客户端将收到正确的域名解析服务器返回的权威响应。上图展示了所有可能的委托路径(蓝色代表权威响应)。之所以有这么多路径,是因为DNS响应中包含了一堆随机排序的响应列表,这是为了平衡查询负载而设计的(这种技术称为Round Robin DNS)。根据返回结果的顺序,最终负责处理查询请求的域名解析服务器会有所不同,因此也可能会提供不同的查询结果。上图也展示了不同的排序以及域名解析服务器之间的关系。
因此,您购买后,.com会在其DNS空间中添加一些NS记录,这些记录负责将相关的DNS查询请求委托给您提供的域名解析服务器。这种“委托您的域名解析服务器”的方法不仅可以让您控制自己的域名,还可以让您创建任何子域名和DNS记录。如果.com删除了指向你的域名解析服务器的NS记录,那么就没有人可以再访问你的域名解析服务器了,所以就没有意义了。
事实上,在如上所示的链图中,TLD和域名后缀的工作机制非常相似。 TLD之所以能够存在并运行,是因为根域名解析服务器将查询请求委托给TLD的域名解析服务器。如果根域名解析服务器突然从其域名空间数据库中删除.com的NS记录,那么全球所有.com域名将无法正常访问。
与域名一样,域名后缀也会受到域名解析服务器漏洞的影响。
现在我们知道TLD和域名后缀和普通域名一样都有域名解析服务器,那么问题来了,“这是否意味着TLD和域名后缀也会像普通域名一样受到DNS安全问题的影响?” ? ”答案是肯定的。如果你看过我之前的一些文章,你就会知道劫持DNS服务器的方法有很多种。不仅如此,我们还介绍了如何利用过期域名劫持域名解析服务器[参考]材料1]以及如何在无需身份验证的情况下获得对域名空间的完全控制[参考材料2]。有了上述知识库,我们就准备实现一个更有趣的目标:接管整个域名后缀。
接管域名后缀-攻击计划
★★★★★
与恶意攻击者不同,我不会走捷径来实现我们的目标,即劫持域名扩展。下面我就按照攻击域名后缀的研究方法一步步带大家了解。然而我发现很多域名后缀/TLD域名解析服务器都处于非常不安全的状态,所以利用漏洞并获得对域名后缀的控制权其实比你想象的要容易。虽然讨论“如何在 DNS 服务器/记录上实现远程代码执行”这样的话题有点超出范围,但我仍然想提一下这一部分,因为它是实现我们目标的方法之一。
一般来说,攻击者通常使用以下方法来破坏TLD或域名后缀:
利用托管给定域名后缀的 DNS 服务器中的漏洞,或利用该域名后缀的域名解析服务器中其他服务中的漏洞。攻击域名记录的方法也属于此类,因为更新域名空间是它们的常规操作。
查找并注册过期或拼写错误的 DNS 服务器域,该域可以为域名后缀/TLD 提供权威答案。
通过创建DNS空间劫持域名后缀。
查找 TLD 的 WHOIS 联系信息并劫持其电子邮件地址。
接下来,我们将一一讨论上述方法,并尝试一步步实现我们的目标。
许多顶级域名和域名后缀的域名解析服务器都存在安全漏洞。
在研究第一种攻击方法之前,我计划对所有 TLD 名称解析服务器进行简单的端口扫描。正常情况下,服务器会打开53端口来监听UDP/TCP连接,此时所有其他端口都会关闭。鉴于这些域名解析服务器的功能和地位如此重要,管理员会尽量减少服务器与外界接触的范围。暴露任何冗余服务(例如HTTP、SSH或SMTP等)意味着我们正在给攻击者提供更多的入侵方法。
协议
★★★★★
203.119.60.105(e.dns-.vn):顶级域名.vn(越南)的权威域名解析服务器
202.29.151.3(.oz.au):顶级域名.ba(波斯尼亚和黑塞哥维那)的权威域名解析服务器
Les 在 1971 年设计了一个协议,允许用户检查远程计算机上的用户状态。这是一个非常古老的协议,现代系统很少再使用。该协议的核心思想是回答以下问题:“嘿,Dave 现在正在使用他的设备吗?他忙吗?”借助该协议,您可以检测远程用户的登录名、真实姓名、终端名称、空闲时间、登录时间、办公地点和办公电话号码等。接下来我们将使用该协议来检查权威域名上面波斯尼亚的解析服务器,然后查看root用户的情况:
bash-3.2$-lroot@202.29.151.3
[202.29.151.3]
登录::
:/:/bin/sh
:(信息通信技术)
。
。
看来这台服务器的root用户已经很久没有上线了……接下来我们看一下越南的域名解析服务器:
10
11
12
13
14
15
16
17 号
18
19
20
21
22
23
24
25
26
27 号
28
29
30
bash-3.2$-luser@203.119.60.105
[203.119.60.105]
::呃
:/
。
。
::
:/
。
。
::.ser
:/
。
。
::
:/home/:/bin/假
。
。
bash-3.2$
bash-3.2$-lroot@203.119.60.105
[203.119.60.105]
::超级用户
:/外壳:/sbin/sh
,/-E
。
该服务器的 root 用户上次登录时间为 2014 年 9 月 30 日。需要注意的是,这些服务器安装了协议,这暗示了这些服务器的年龄。
动态网站
★★★★★
除了53端口之外,域名解析服务器中最常见的开放端口应该是80端口(HTTP)。我们甚至可以直接访问这些网站来获取很多有趣的信息。例如,其中一台域名解析服务器会将我直接重定向到广告网站:
10
11
12
13
14
15
16
17 号
18
*:
*.190.140.242...
*.190.140.242(93.190.140.242)(#0)
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。