DNS 秒级重绑定探索

admin 2023年12月20日18:06:31评论30 views字数 1913阅读6分22秒阅读模式

基础

通常大多数我们利用DNS重绑定方式来绕过SSRF风险,但实际上由于DNS解析响应问题并不是很有效

DNS解析过程:

DNS 秒级重绑定探索

DNS解析资源类型:    

DNS 秒级重绑定探索

          

常见DNS rebind方式

简单的 DNS 重新绑定技术依赖于为同一主机名的连续查找返回不同的 DNS 记录,所花费的最短时间是浏览器执行两次连续 DNS 查找之间的时间,大多数时候会发现效果很差

          

          

DNS 重绑定 技巧

多A记录解析返回

通过回复同一域的多个 A 记录来执行 DNS 重新绑定的想法同样的响应,这项技术确实绕过了缓存问题,因为浏览器只需要执行一次 DNS 查找,但在测试中其实效果并不好,由于一些浏览器的机制没办法很好的利用    

DNS 秒级重绑定探索

A 和 AAAA 解析返回

          

分别针对 IPv4 和 IPv6 地址发送 A 和 AAAA DNS 查询,通过浏览器特性及时间差异来发现快速重绑定的方式,在实测中发现这种方式有效,接下来将会讲解下这种方式在chrome以及safari浏览器方面的一些利用

          

Safari浏览器利用

在safari中,会优先考虑私有IP、其次才是公有IP;当 A 或 AAAA 响应延迟时,Safari 并不会等待所有 DNS 响应,而是在收到第一个 DNS 响应后立即发送 HTTP 请求。收到延迟的 DNS 响应后,此响应中的 IP 地址将添加到 IP 地址池中,Safari 可以将其用于将来对该域的请求。

因此,当第一个DNS响应针对公有IP、第二个延迟的DNS响应针对私有IP,那么safari会将第一次请求访问公有IP、直到收到延迟的第二次DNS响应,则此时会像私有IP发起请求    

DNS 秒级重绑定探索

详细步骤:

1使目标浏览器加载http://evil.com,触发A和AAAA查找evil.com

1让 DNS 服务器立即返回 AAAA 记录,其中包含互联网上攻击者控制的 Web 服务器的 IPv6 地址。暂时不要返回 A 响应。

1Safari 在收到 AAAA 响应后将向攻击者的 Web 服务器发出第一个请求。从攻击者的网络服务器返回一个包含 JavaScript 的页面以重复请求http://evil.com/dns.txt

1从包含本地网络上目标服务器的 IP 地址的 DNS 服务器发送 A 响应。

1Safari 现在会将 http://evil.com/dns.txt的请求发送到目标服务器本地网络。从攻击者服务器加载的页面可以读取这些请求的响应,而不会违反同源策略。

通过这种方式,成功实现秒级重绑定

          

Chrome浏览器利用

chrome会更优先加载通过 IPv6 而不是 IPv4 的页面,所以其优先级为:

1本地 IPv6(最高优先级)

1公共 IPv6    

1本地 IPv4

1公共 IPv4(最低优先级)

利用这个优先级的差异性,就可以来构造利用方式

DNS 秒级重绑定探索

1访问http://evil.com 让 DNS 服务器返回指向本地网络上目标 Web 服务器的 A 记录,以及指向公共 Internet 上攻击者控制的 Web 服务器的 AAAA 记录。

1Chrome 将优先考虑 IPv6 地址对应的就是AAAA记录,并发出第一个请求以从攻击者控制的远程网络服务器加载页面,该服务器返回 JavaScript 以重复向 http:// 发出请求evil.com/dns.txt

1关闭攻击者可以控制的服务器,以便重置所有连接,这样 Chrome 现在就可以将向本地网络上的目标服务器发出所有请求。

1此时加载的页面向 http://evil.com/dns.txt 发出请求,实际上访问的就是私有IP,可以在不违反同源策略的情况下读取对这些请求的响应。

但这样会遇到chrome的专用网络访问 (PNA:Private Network Access) 规范,会被阻止,那么是否可以绕过PNA呢,是可以的;

先了解下PNA的概念,简单来说:就是保护可阻止从公共互联网通过纯 HTTP 加载的页面向专用网络发出请求    

DNS 秒级重绑定探索

但这种情况只针对fetch方式,对于iframe并不可用,我们可以基于此来更新下利用方式    

DNS 秒级重绑定探索

攻击利用流程:

1访问http://evil.com 让 DNS 服务器返回指向本地网络上目标 Web 服务器的 A 记录,以及指向公共 Internet 上攻击者控制的 Web 服务器的 AAAA 记录。

1Chrome 将优先考虑 IPv6 地址对应的就是AAAA记录,并发出第一个请求以从攻击者控制的远程网络服务器加载首页页面,此时词页面需要iframe 自身

1关闭攻击者控制的服务器,以便重置所有连接尝试,通过这种方式让chrome浏览器去访问目标私有IP,向受害者企业内部的服务发起请求

1从首页将脚本注入框架页面以请求http://evil.com/dns.txt 并将响应发送到攻击者的网络服务器    

原文始发于微信公众号(暴暴的皮卡丘):DNS 秒级重绑定探索

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月20日18:06:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DNS 秒级重绑定探索https://cn-sec.com/archives/2320945.html

发表评论

匿名网友 填写信息