通过DNS响应欺骗来绕过域控制验证

简介: 本文讲的是通过DNS响应欺骗来绕过域控制验证,在用户验证他们有域名控制权后,Detectify才会扫描这个网站。其中一个验证方法是向域添加一个DNS TXT记录,其中包含由Detectify提供的字符串。
本文讲的是 通过DNS响应欺骗来绕过域控制验证

通过DNS响应欺骗来绕过域控制验证

在用户验证他们有域名控制权后,Detectify才会扫描这个网站。其中一个验证方法是向域添加一个DNS TXT记录,其中包含由Detectify提供的字符串。当用户进行验证时,Detectify将执行DNS查询并检查相应字符串。让我们来看看它是如何通过 DNS 响应欺骗来绕过域控制验证。

译者注:Detectify是基于SaaS网站安全扫描工具,是一个免费的帮助站长们发现网站漏洞的安全扫描应用工具,通过该工具来扫描网站的安全性能。

DNS欺骗

DNS查询和响应通常是通过UDP发送的,因此攻击者可以使用IP地址欺骗,向来查询的DNS服务器的客户端发送DNS响应。当然,如果用户的设备能匹配未处理的查询,则只接受响应。具体来说,以下字段必须匹配:

1.源(DNS服务器)IP地址

2.目的地(DNS客户端)IP地址

3.源(DNS服务器)端口-总是53

4.目的地(DNS客户端)端口——DNS请求的源端口

5.“事务ID”——由客户机生成的16位数字

6.“问题”——本质上是DNS查询的副本

已知源端口、源IP和目的地IP。DNS“问题”通常可以被猜到,甚至可以从真正的查询中复制出来,如果攻击者能够访问它的话,唯一未知的字段就剩目标端口和事务ID了。

大约9年前,许多DNS客户端使用了一个固定的或容易预测的源端口或事务ID或两者都使用。这样,虽然有65536个可能,但猜测一个16位的数字还是完全可行的,而攻击者可以在实际响应到达之前,将数千个虚假的响应包发送到DNS客户端。在2008年7月,Dan Kaminsky揭示了这个问题,在问题被披露后,DNS实现被快速修补以使用真正随机的事务id和端口号,同时各大厂商也开始采用DNSSEC协议。

对验证器的验证

为了避免任何缓存的影响,Detectify的验证器可能会执行自己的DNS查询,而不是只使用操作系统的DNS解析器。如果是这样,它仍然可以使用可预测的事务ID或少量的源端口。

为了测试这一点,我建立了一个简单的nameserver,使用dnsmasq来控制一个域,并使用tcpdump来捕获它的流量,因为我多次尝试在Detectify站点上验证它。在Wireshark中打开结果捕获文件显示,确实有一个DNS查询来自scanner.detectify.com。源端口看上去足够随机,但是事务ID在哪里?

通过DNS响应欺骗来绕过域控制验证

它是零!事务ID每次都为零,由于我知道准确的查询Detectify发送,所以欺骗正确的响应只是猜测源端口的问题。

POC

现在,让我们来验证一下example.com。创建一个欺骗的DNS响应有效载荷很简单,采取真正的响应,由tcpdump捕获,并手动更改域名。nping可以用来发送这个响应,欺骗源IP和端口:

nping --udp -g 53 -p 30000-39999 -S 199.43.133.53 -c 100 --rate 100000 -N -H --data 000085000001000100000000076578616d706c650000100001c00c00100001000000010038376465746563746966792d766572696669636174696f6e3d6530363663623430643165353234323362613661646539393562613433636663 scanner.detectify.com

上面的命令会尝试发送假的DNS响应,从199.43.133.53(example.com的真实名称)到scanner . detectify.com,源端口在30000到39999之间循环。现在这个问题就很简单了,只需在我的笔记本电脑上运行,在Detectify的网站上反复点击验证即可。

IP欺骗的用途

几乎所有的isp和数据中心今天都进行了出口过滤,以防止欺骗的数据包脱离他们的网络。所以,IP欺骗最常见的用途是DDOS攻击,特别是DNS放大攻击。

为了进行实践分析,我需要一个不做这种过滤的主机,此外,攻击主机和受害者之间的延迟必须尽可能地低,以最大限度地提高在真正的应答之前收到的虚假响应的机会。




原文发布时间为:2017年9月15日
本文作者:xiaohui
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
4月前
|
存储 缓存 Java
SpringBootWeb请求响应之前言及状态码的详细解析
SpringBootWeb请求响应 前言 在上一次的课程中,我们开发了springbootweb的入门程序。 基于SpringBoot的方式开发一个web应用,浏览器发起请求 /hello 后 ,给浏览器返回字符串 “Hello World ~”。
94 4
|
5月前
|
网络协议
深入理解HTTP的基础知识:请求-响应过程解析
在当今数字化的世界中,理解HTTP协议的基础知识变得至关重要。本文将带您深入探索HTTP的核心概念和请求-响应的过程。HTTP是一种用于在计算机之间传输超文本数据的协议,它不仅定义了数据交换的规则和格式,还为不同的应用程序提供了通信和交换信息的能力。通过深入了解HTTP的请求-响应过程,我们将更好地理解网络通信的基本原理,为构建和优化网络应用打下坚实的基础。
178 1
|
1月前
|
JSON JavaScript 前端开发
如何在Python中解析JSON响应?
【2月更文挑战第26天】【2月更文挑战第92篇】如何在Python中解析JSON响应?
|
3月前
|
JSON 前端开发 Java
深入解析SpringBoot的请求响应机制
深入解析SpringBoot的请求响应机制
|
4月前
|
存储 安全 Java
Trembling ! Java类的加载过程详解(加载验证准备解析初始化使用卸载)
Trembling ! Java类的加载过程详解(加载验证准备解析初始化使用卸载)
30 0
|
5月前
|
网络协议 安全 Apache
#ettercap的dns欺骗实验
#ettercap的dns欺骗实验
75 0
|
5月前
|
域名解析 缓存 网络协议
探索网络攻击:ARP断网、ARP欺骗和DNS欺骗实验解析
在这篇博客中,我介绍了ARP断网、ARP欺骗和DNS欺骗这几种常见的网络攻击方式。然而,需要明确的是,这些实验仅仅是出于教育和研究目的,并且应以合法和道德的方式进行。
283 0
|
6月前
|
域名解析 缓存 网络协议
DNS Rebinding Attack 绕过SSRF限制
DNS Rebinding Attack 绕过SSRF限制
|
6月前
|
JSON API 数据格式
SAP UI5 batch 请求的响应解析流程分析
SAP UI5 batch 请求的响应解析流程分析
42 0
|
6月前
|
XML 存储 JSON
SAP UI5 应用的 OData 元数据请求响应的解析原理分析
SAP UI5 应用的 OData 元数据请求响应的解析原理分析
29 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多