前言:
我们的客座博客和Detectify众包团队黑客Evgeny Morozov将在本文中解释他是如何通过伪造DNS响应来绕过Detectify的域名所有权验证的。非常感谢Evgeny的杰出贡献 - 众包团队的研究...
前言:
我们的客座博客和Detectify众包团队
黑客Evgeny Morozov将在本文中解释他是如何通过伪造DNS响应来绕过Detectify的域名所有权验证的。非常感谢Evgeny的杰出贡献 - 众包团队的研究人员非常自豪。
当用户需要使用Detectify扫描网站时,我们必须首先验证他对域名的所有权(几乎所有在线扫描都有这种类型的验证)。其中一种验证方法是在DNS的TXT记录中添加Detectify提供的字符串。当用户单击“验证”时,Detectify会执行DNS检查以确认是否存在验证字符串。让我们来看看如果您验证一个您不拥有的域名会发生什么。
DNS 伪造背景
DNS查询和响应通常通过UDP协议传输,因此IP地址伪造允许查询客户端认为攻击者发送的DNS响应来自普通DNS服务器。当然,查询客户端只接受明确满足要求的响应。以下项目必须符合要求:
1,源IP地址(DNS服务器)
2.目的IP地址(DNS客户端)
3,源端口(DNS服务器) - 通常为53
4.目标端口(DNS客户端) - DNS请求的源端口
5,Transaction ID - 客户端生成的16位数
6,问题 - 本质上是一个重复的DNS查询请求
源地址和端口以及目标IP都是已知的,可以猜到DNS“问题”,或者可以从攻击者的可访问位置复制真实查询。现在唯一不确定的是目标端口和事务ID。
九年前,许多DNS客户端修复了可以预测源端口和事务ID的漏洞。猜测一个16位数字是完全可行的 - 因为只有65,536种可能性,攻击者可以在真正的DNS响应到来之前向DNS客户端发送数千个虚假响应数据包。 Dan Kaminsky在2008年7月披露了这个问题。然后DNS维护者用一个完全随机的事务ID和端口修复了这个问题。所以这种攻击已经过时了,是不是真的如此?
通过验证
我有一种预感,Detectify将执行自己的DNS查询,以避免获得缓存数据,而不仅仅是使用系统的DNS解析工具。如果是这样,它可能仍在使用可预测的事务ID和少量源端口。
为了测试我通过dnsmasq为我控制的域名构建了一个简单的域名服务器,并在进行Detectify验证时抓取了多个包。使用Wireshark打开捕获的包并从scanner.detectify.com发现dns查询请求。源端口似乎足够随机,但是交易ID有问题吗?
事情简单了!!!
每次交易ID为0。现在我确切地知道Detectify发送的DNS查询,因此伪造正确DNS响应的唯一问题是源端口。
POC
虽然我现在可以报告漏洞,但我想确保它可用。理论上的漏洞和可利用的漏洞仍然存在差异。
下面我们尝试验证example.com。创建虚假DNS响应有效负载很简单:首先使用tcpdump获取真实响应,然后手动更改域名。 Nping工具可用于发送此响应并欺骗原始地址和端口:

上述命令会尝试尽快向scanner.detectify.com发送虚假的DNS响应。它声称来自99.44.333.53(example.com的实名服务器),源端口范围为30,000到39999.我需要做的就是在我的笔记本电脑上运行上面的命令,然后单击上面的验证按钮。检测网站。
实际上,所有ISP和数据中心现在都在出口处过滤伪造的数据包 - 这使他们无法离开他们的网络。伪造数据包最常见的用途是DDOS攻击,尤其是DNS反射放大攻击。所以我需要一个不会进行过滤的主机,并且攻击者和受害者之间的延迟必须尽可能低,以增加假响应在真实响应之前到达的可能性。
如何找到这样的主持人留给读者作为练习。但现在我可以自豪地说我已经是六个虚拟服务器的拥有者,虽然其中五个没有用(幸运的是它们非常便宜)。在疯狂点击Detectify网站上的验证按钮后,我们终于得到了以下提示:

成功了!
总结:
Detectify在报告的三小时内修复了漏洞。
本文由乘客安全翻译,作者:testvul_001
原文链接:https://labs.detectify.com/2017/09/11/guest-blog-bypassing-domain-control-verification-with-dns-response-spoofing/
黑客业务列表介绍和一般分类:
类别:攻击入侵破解开发
1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量]
2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。
3:破解业务类:软件,加密文件,二次打包,脱壳等。
4:二次开发业务清单:软件二次开发,源代码二次开发等
5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等
备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明
注意:仅接受正式业务,个人无权接受。收集此内容。