浅谈DNS重绑定攻击

admin 2025年3月31日08:47:23评论17 views字数 1358阅读4分31秒阅读模式

浅谈DNS重绑定攻击

一、 简介

DNS重绑定攻击是一种比较早期的攻击手段,最近工作中遇到并浅浅分析了一下,简单记录下。

二、 几个涉及到的名词介绍

同源策略
  1. 同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 1995 年引入浏览器,它是浏览器最核心也最基本的安全功能,现在所有支持 JavaScript 的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容易受到 XSS、 CSFR 等攻击。

  2. 在这个策略下,web浏览器允许第一个页面的脚本访问第二个页面里的数据,但是也只有在两个页面有相同的源时。源是由URI,主机名,端口号组合而成的。这个策略可以阻止一个页面上的恶意脚本通过页面的DOM对象获得访问另一个页面上敏感信息的权限。

  3. 同源策略是为了安全,确保一个应用中的资源只能被本应用的资源访问

TTL
  1. TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间,数值越小,修改记录各地生效时间越快。

域名解析的过程(浏览器、命令行curl等等方式都可以)
  1. 浏览器搜索自身DNS缓存,命中则解析,否则下一步

  2. 浏览器搜索操作系统自身的DNS缓存,如果找到且TTL没过期(TTL值),则进行解析,否则下一步

  3. 浏览器发起DNS系统调用,迭代过程如下:运营商dns-->根域名服务器-->顶级域名服务器-->二级域名服务器。依次迭代,直到解析完成。

  4. 建立连接开始通信

三、 DNS重绑定攻击过程详解

概念
  1. 当我们发起域名解析请求的时候,第一次访问会返回一个ip地址A,但是当我们发起第二次域名解析请求的时候,却会返回一个不同于A的ip地址B。

具体流程
  1. 分为两种情况:一种直接攻击内网,一种通过外网恶意地址下载恶意文件

情况一(直接攻击内网):
浅谈DNS重绑定攻击
第一次
浅谈DNS重绑定攻击
第二次

  1. 受害者被诱导打开钓鱼邮件或者其他途径的链接,他的Web浏览器会发出DNS查询请求,查询www.attack.com的IP地址。

  2. 攻击者控制的DNS服务器收到受害者的DNS请求时,会使用www.attack.com的真实IP地址97.126.54.33进行响应。 它还将响应的TTL值设置为0秒,以便受害者的机器不会长时间缓存它。

  3. 受害者的浏览器向钓鱼网站服务器发出HTTP请求加载网页。

  4. 攻击者进行HTTP响应,并通过JS加载一些恶意代码,该页面反复向www.attack.com 发出POST请求。(POST请求包含恶意代码)

  5. 因为之前DNS ttl设置为0,缓存很快就失效,所以浏览器继续向DNS服务器发出查询。

  6. 此时,恶意DNS服务器收到查询后,回复一个内网设备的IP(也可以是一些物联网设备),如192.168.0.1。

  7. 因为满足同源策略,浏览器认为是安全的,于是向内网其他设备发送POST恶意请求。

情况二(通过外网地址下载恶意文件):
浅谈DNS重绑定攻击
第一次
浅谈DNS重绑定攻击
第二次
具体流程和情况一类似,唯一不同点在于一种是直接向内网主机执行命令,一种是通过下载恶意文件来控制受害者主机。

四、 防御思路

  1. 判断过滤TTL=0的情况

  2. 判断步骤4中是否存在恶意js代码的情况

  3. 判断步骤6中DNS服务器返回内网地址的情况

  4. 联动判断步骤2和步骤6中查询域名相同的情况下,DNS服务器返回ip发生变化

来源:https://www.freebuf.com/

原文始发于微信公众号(船山信安):浅谈DNS重绑定攻击

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月31日08:47:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅谈DNS重绑定攻击https://cn-sec.com/archives/3900421.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息