DOH降级攻击 实例分析

DOH介绍

DOH 即 DNS-over-HTTPS,是一种旨在保护 DNS 机密性和完整性的协议。它通过 HTTPS 协议在存根解析器和递归解析器之间传输 DNS 查询和响应,使得任何支持 HTTPS 的应用都能发出 DOH 查询。

DOH降级攻击

DOH 降级攻击是指针对 DNS-over-HTTPS(DoH)的一种攻击方式。由于浏览器默认启用机会隐私配置文件,当 DoH 不可用时会回退到 DNS,攻击者利用这一点,通过如 DNS 流量拦截、DNS 缓存中毒、TCP 流量拦截和 TCP 重置注入等攻击向量,对支持 DoH 的浏览器进行攻击,使 DoH 通信从加密形式降级为明文 DNS,从而暴露 DNS 通信内容,且浏览器在攻击发生时不会通知用户,一些浏览器恢复到 DoH 的时间较长。

在这里插入图片描述

实例分析

只要在国内,都可以轻松的验证DOH降级攻击,只需要一个WireShark抓包即可

Step1: 配置DOH

Chrome在设置中启用DOH,并使用Google DNS
在这里插入图片描述

Step2: 验证DOH服务器连通性

Google DNS地址为8.8.8.8 可以直接用nslookup 或者 Ping 验证

nslookup www.bing.com 8.8.8.8

在这里插入图片描述

Step3: 使用Chrome访问Bing,并使用WireShark抓包

在这里插入图片描述
可以看到有很多RST的包。如果设置Chrome只能使用DOH,这时候Chrome无法连接网络

原理

TCP RST(TCP Reset)是一种用于关闭TCP连接的机制。在正常的TCP通信中,当一端想要关闭连接时,可以发送一个带有RST标志位的TCP数据包。

在DOH降级攻击中,攻击者利用TCP RST进行攻击的原理如下:

  1. 攻击者能够嗅探受害者和DoH解析器之间交换的网络流量。
  2. 通过嗅探,攻击者获取TCP头部中的序列号(Sequence Number)和确认号(Acknowledgment Number)。
  3. 攻击者利用获取到的这些信息,构造并发送伪造的TCP重置数据包给受害者和/或DoH解析器。
  4. 当受害者或DoH解析器收到这些伪造的TCP RST数据包时,会误认为是对方要求关闭连接,从而切断TCP连接。
  5. 由于浏览器在某些情况下(如采用Opportunistic Privacy profile),当DoH连接出现问题时会回退到明文DNS传输,所以这种攻击方法可以迫使浏览器进行降级,使得攻击者达到将DOH通信降级为明文DNS的目的。

Why Attack DOH

  1. 获取信息
    • DNS在互联网中起着将域名映射为IP地址的关键作用,传统的DNS查询和响应以明文传输,容易被窃听和操纵。虽然DOH的出现是为了加密DNS通信,保护其机密性和完整性,但如果能将DOH攻击降级,就可以获取到原本加密的DNS通信内容,从而获取用户的浏览信息、追踪用户行为等。
  2. 网络流量管理
    • 一些网络审查机构或监控者希望能够控制和审查网络流量。通过将DOH降级为明文DNS,他们可以更容易地对用户的网络访问进行审查和监控,例如限制对某些特定网站的访问。
  • 解决方法:由于DOH能够伪装成HTTPS请求,一般是通过识别目的ip地址(如8.8.8.8)判断报文是否为DOH协议。如果使用一些不常见的DOH服务器或自建DOH,则可以较好的规避这种风险。

可能的参考文献:https://www.usenix.org/system/files/foci20-paper-huang.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值