freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

浅谈DNS重绑定攻击
2023-05-19 11:38:12
所属地 北京

浅谈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. 分为两种情况:一种直接攻击内网,一种通过外网恶意地址下载恶意文件

情况一(直接攻击内网):
image.png
第一次
image.png
第二次

  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恶意请求。

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

四、 防御思路

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

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

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

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

# 网络安全 # web安全 # CTF
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录