All Your DNS Records Point to Us

admin 2021年6月23日22:55:03评论112 views字数 3317阅读11分3秒阅读模式

All Your DNS Records Point to Us

笔记作者:ZeddYu@SecQuan
原文作者:Daiping Liu , Shuai Hao , and Haining Wang
原文标题:All Your DNS Records Point to Us
发表会议:CCS '16
原文链接:https://dl.acm.org/doi/10.1145/2976749.2978387

这篇文章中,作者介绍了 Dangling DNS (Dare) 的攻击方式,这种攻击方式主要现象是 DNS 记录所指向的资源是无效的,但记录本身还没有从DNS中清除。作者的工作揭示了主要利用 Dare 的三种攻击方式,并在一项大规模的测量研究中,在 277 个 Alexa 排名前 10,000 的域名和 52 个 edu 域名中发现了 467 个可利用的 Dare 漏洞。最后作者提出了三种防御机制,以有效地防御 Dares 的问题。

第二部分简单介绍了 DNS 的工作机理。主要对后文设计到的几种类型做了介绍:

  • A 记录:将域名指向一个 IPv4 地址(例如:100.100.100.100),需要增加 A 记录
  • CNAME 记录:如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加 CNAME 记录。这个域名一般是主机服务商提供的一个域名
  • MX 记录:建立电子邮箱服务,将指向邮件服务器地址,需要设置 MX 记录。建立邮箱时,一般会根据邮箱服务商提供的 MX 记录填写此记录
  • NS 记录:域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置 NS 记录

第三部分开始介绍 Dangling DNS Records ,作者使用了 Use-After-Free 进行举例类比,例如存在一个域名指向 1.2.3.4 这个 IP 记录,当这个 IP 不再被使用被释放时,这个域名便成了一个 Dangling DNS Record 。并且作者在调研了 40 多种 DNS Resource Record 之后,总结出来主要是存在 4 种比较容易受攻击的 DNS Resource Record ,主要是以下四种:

  • Dare-A 类型, A 记录将一个域名映射到一个 IPv4 地址上,所有对 A 记录中的域名字段的请求都会被指向该 IP 地址的主机并由其处理。因此,如果 IP 地址可能被原域名所有者以外的第三方获取,那么该域名就会受到影响。

  • Dare-CN 类型, CNAME 记录指定了一个域名是另一个域名的别名。对该别名的请求将被解析到其规范域名,再进一步解析到 A 记录。利用 Dare-CN 与利用 Dare-A 的效果几乎一样。

  • Dare-MX 类型, MX 记录指定了负责代表域名接受邮件的邮件服务器。在有多条 MX 记录的情况下,用户可以给每条记录设置一个优先级,并首先使用数值最低(即优先级最高)的服务器。在下面的例子中,电子邮件客户端将首先联系 a.mail.com 和 b.mail.com(通常以循环方式);如果两者都没有响应,则将联系 c.mail.com 。虽然接收电子邮件并不需要 MX 记录,但是当没有使用 MX 时,域名的 A 记录将被视为隐含的 MX 。如果一个 Dare-MX 可以被利用,那么对手就可能在这个易受攻击的域中发送和接收电子邮件。

    foo.com. 60 MX 10 a.mail.com.
    foo.com. 60 MX 10 b.mail.com.
    foo.com. 60 MX 20 c.mail.com.
  • Dare-NS 类型,一条 NS 记录将一个域名委托给 aDNS 服务器,以回答有关该域名下的名称查询。此外,还存在一条 A 记录,为 aDNS 服务器提供 IP 地址,这条记录被称为 glue 记录。一般情况下,服务于一个域名的 NS 记录有多个,解析者需要选择一个 aDNS 服务器进行进一步的查询。aDNS服务器的选择可以是(1)第一个响应解析者的服务器,(2)随机选择一个,或者(3)根据 RTTs 等本地定义的规则对记录进行排序。为了迫使 DNS 解析器使用 Dare-NS ,攻击者可以利用一些技术,如拒绝服务攻击和 NS pinning 。如果 Dare-NS 可以被利用,对手会建立一个恶意的 aDNS ,并将访问者引导到任何 IP 地址。由于 DNS 的Transitive Trust 机制, Dare-NS 的影响会被放大到所有直接或间接依赖它的域。

但是并不是所有这四种类型的都会受到攻击,比如 Dare-A 类型,倘若域名指向的 IP 无法被攻击者控制,自然就不会受到攻击了。所以,作者接下来主要介绍了三种可以用来实施该类攻击的手法。

第一种方法是 IP in Cloud 。上表中的每一个 Dare 类型最后都会被解析到一个 IP 地址,因此,对手可以直接获得 IP 地址来利用不安全的 Dare 。一个 IP 地址是否可以获得,很大程度上取决于域名的托管方式。现在,越来越多的域被迁移到云端,特别是,客户有可能从共享 IP 地址池中获得任何公共 IP 地址。虽然 IP 分配应该是随机的,但恶意客户可以通过重复分配和释放 IP 地址来获得所需的 IP 地址。因此,作者重点关注 Dare-A 在云环境下的安全威胁,以亚马逊 EC2 和微软 Azure 这两个最流行的云平台举了具体的例子。

第二种方法是 Abandoned Third-party Services 。现代网站广泛使用第三方服务,例如他们可能会使用 Shopify 来建立在线零售销售点系统和商店。这些服务通常会给用户提供一个子域,在这个子域中托管相应的服务。例如当用户 Alice 订阅 Shopify 的服务时,她会被分配一个子域名,即 alice.myshopify.com ,因此她的在线商店可以通过这个子域名访问。每个第三方服务都允许用户使用 A 或 CNAME 记录将自己的(子)域指向服务提供的资源。例如:

shop.Alice.com A 23.227.38.32
(or) shop.Alice.com CNAME alice.myshopify.com

Alice 在通过一些验证之后便可以使用 shop.Alice.com 来访问他的 shopify 服务了,但是如果 Alice 之后不想用了而忘了清理这个 DNS 记录,并且服务商不验证域名所有的话,就可能会让攻击者宣称对这个域名的所有权,从而接管该域名。

第三种方法是 Expired Domains 。CNAME、 MX 和 NS 记录的 data 字段都可能存在过期的域名,攻击者可以通过重新注册从而滥用过期域名。作者的攻击主要是滥用那些指向过期域名的而自身域名未过期的域名的子域名的信任。这种记录普遍被域管理员忽视,因为:(1)可能会有二级记录作为故障转移的手段(如多个MX和NS记录);(2)链接到过期域的服务已经不再使用,没有人关心更新它们。

接下来作者描述了一些相关的测量方法。首先肯定就是收集域名,作者收集了从 2010 年到 2016 年每年 Alexa 的前 100 万个域名,但是为了减少子域名扫描压力,从中又选取了前 10000 个域名、2700 个 edu 域名以及 1700 个 gov 域名。然后作者向这些域名中的每一个域名发出 DNS 区域传送查询,成功收集了 320 个域名的区域数据。根据区域传送得到的结果,作者再构建一个大小为 20000 的字典进行子域名爆破。区域传送的结果还表明,通配符记录(如 *.foo.com )在实践中被广泛使用。作者向约 2.88 亿个有效子域发送 DNS 查询,成功获得约 57 万个子域。

接着作者再使用dig工具查询获得域名的上述四种 Dare 类型,并把得到的结果是非 A 记录的记录一直递归解析到 A 记录为止。

在文章第四部分,作者设计了一套检测 Dare 漏洞的检测算法:

All Your DNS Records Point to Us

算法内容主要就是去对三种类型进行了检测:

  • 检查 A 记录类型。检查 A 记录是否在公共云的 IP 池内,并检查是否可以被利用。
  • 检查废弃的第三方服务。
  • 检查过期的域名。

通过大范围的检测,作者得到了检测到了 335 个这样的漏洞:

All Your DNS Records Point to Us

这些站点分类如下:

All Your DNS Records Point to Us

最后部分,作者介绍了一些接管域名后的攻击方式以及防御措施。攻击方式比如有钓鱼、配合 XSS 偷取用户 Cookie 、伪造邮件、伪造 SSL 证书等攻击方式。防御措施提出了三个防御措施,分别是对于 A 记录的更新增加需要进行密钥认证、采用隔离的用户空间命名方式并及时删除废除的记录、定期检查过期域名。

安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com

All Your DNS Records Point to Us

本文始发于微信公众号(安全学术圈):All Your DNS Records Point to Us

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年6月23日22:55:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   All Your DNS Records Point to Ushttp://cn-sec.com/archives/295783.html

发表评论

匿名网友 填写信息