【介绍]
【DNS 重新绑定]
通过 DNS 重新绑定,远程攻击者可以绕过受害者的网络防火墙,并使用其浏览器作为代理直接与其私有家庭网络上的设备进行通信。
DNS 重新绑定规避了 SOP(同源策略)。如果您访问恶意链接,该网站应该无法访问您当前登录的任何其他网站(例如银行网站)或向其发送请求。浏览器限制此类行为,仅允许来自同一域或来自明确启用跨域资源共享的另一个域的请求。
另请阅读:防范传播者和恶意软件:预防、策略和网络安全解决方案
Malware.com 上的代码无法访问 Bank.com,因为它们是不同的域,因此浏览器将它们视为不同的来源。这是通过要求所请求 URL 的域名、端口和协议与请求它的页面的 URL 相同来强制执行的。因此,如果malicious.com 快速将IP 地址更改为bank.com IP 地址,SOP 不会发生任何变化,但浏览器会与错误的网站进行通信。
【DNS 重新绑定攻击示例]
-
攻击者控制恶意 DNS,它回答某些域的查询,例如恶意.com
-
攻击者诱骗用户加载恶意网站(XSS、网络钓鱼……)
-
受害者的浏览器发出 DNS 请求,查找恶意网站的 IP 地址。攻击者DNS以malicious.com真实地址响应,并将TTL值设置为较低值(1秒),以便缓存不会持续。
-
Malware.com 包含在受害者浏览器上执行的恶意 JS。例如,页面可以开始使用 JSON 向 http://malicious.com/fire_sprinkler_system 发出一些看起来奇怪的 POST 请求:{“fire_sprinkler_system_test”: 1}
-
请求最初发送到恶意.com,但低 TTL 值迫使浏览器再次解析域(通过另一个 DNS 查找)
-
这次,攻击者的DNS服务器用另一个IP进行响应,该IP地址是本地网络的IP地址,例如:192.168.1.10,这恰好是受害者网络上负责消防喷淋系统的服务器。
-
受害者的机器向 192.168.1.10 发送一个针对恶意网站的 POST 请求,洒水系统将每个人都淋湿了。
那么,我们可以从这一切中得出什么结论呢?攻击者需要强迫用户打开链接或找到一种方法在受害者正在访问的页面上运行一些 JS 代码。他还必须对受害者网络和服务有深入的了解。他必须知道 192.168.1.10 上有一个服务正在监听带有特定参数的 POST 请求。攻击者还可以使用此技术来枚举受害者网络并探索易受攻击的服务。稍后再详细讨论这一点。如前所述,浏览器充当代理。这是这里的主要内容。
【结论]
由于中间有层(DNS、TCP、HTTP),DNS 重新绑定相对不可靠,这是人们遇到问题的原因之一。缓存数量:
-
浏览器 DNS 缓存 – Chrome 可能会将 DNS 记录缓存 60 秒(取决于配置),并且让用户在恶意页面上停留 60 秒可能会出现问题。(chrome://net-internals/#dns)
-
操作系统 DNS 缓存 - 在某些配置中,Chrome 可以依赖操作系统 DNS 缓存
-
名称服务器 DNS 缓存 – DNS 记录固定。内部 DNS 解析器将记录缓存一段时间
-
浏览器保护 – 有时他们不允许将同一页面上的主机解析为不同的 IP
-
附加网络保护 – 固定在 DNS 解析器上。例如,人们倾向于阻止解析 localhost (127.0.0.1),但解析 192.168.xx 是允许的。正确的配置很重要。
-
一般 Hacky-ness – 构建攻击和避免前面提到的问题的综合壮举,同步一切以实现你的目标
人们经常低估这种技术,认为它是一种不切实际的现实世界攻击。我有些不同意。尽管作为成功攻击的先决条件,但它也非常方便。
免责声明 : 此内容仅用于教育学习目的,我们不支持任何形式的非法活动。
从surface中选择* ,其中Dark
夜晚,是最孤独的,也许,就这样吧!
原文始发于微信公众号(深网知识库):DNS 重新绑定 – 深入敌后
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论