我如何劫持主权国家的顶级域名

2021-01-15 22:03:45

注意:此问题已解决,.cd ccTLD不再将NS委托发送到受感染的域。

TL; DR:想象一下,如果一个主权国家的国家/地区代码顶级域(ccTLD)落入错误的人手中,将会发生什么情况。这是我(@Almroot)为NS代表团购买的用于刚果民主共和国(.cd)ccTLD的域名的方式,并临时接管了该TLD的所有DNS流量的50%,这些流量可能已被MITM或其他虐待。

‘在2020年圣诞节前的一周,我决定对全球所有TLD使用的所有NS记录进行分析。但是有一件事引起了我的注意。域名“ scpt-network.com”的EPP状态代码为“ redemptionPeriod”,这意味着某人未能及时更新其域名(支付发票?)。

almroot @ x:〜$挖NS + trace cd | grep" cd。" 光盘。 172800 IN NS ns-root-5.scpt-network.com。 光盘。 172800 IN NS igubu.saix.net。 光盘。 172800 IN NS sangoma.saix.net。 光盘。 172800 IN NS ns-root-2.scpt-network.com。 光盘。 172800 IN NS sabela.saix.net。 光盘。 172800 IN NS ns-root-1.scpt-network.com。

因此,我认为我也可以制作一个bash脚本来ping域的任何EPP状态更改。

令我惊讶的是,大约一周左右后,我发现该域已达到“ pendingDelete”状态。

我意识到了这一点的严重性。该域名很快将可供Internet上的任何人购买,这意味着掌握该域名的人还将获得.cd的NS功能。

我修改了脚本,并开始仔细检查注册服务商是否有任何其他状态更改。

12月30日晚上,我接到了Ping。我打开笔记本电脑并购买了域名,以防止它落入他人之手。

由于剩下的三个指向SAIX(南非互联网交换)的代表团仍在工作,因此TLD在这段时间内一直可操作(尽管对任何域查询的性能都有轻微影响)。

由于我拥有scpt-network.com,因此可以随意在区域下配置任何子域。如果我创建了一个新的子域(例如ns-root-1),并带有指向IP 1.3.3.7的A指针,则1.3.3.7将获得合法的传入DNS查询,该查询用于.cd。调用者将接受对这些查询的任何DNS响应。

不回复将导致呼叫者超时,并且将假定状态码为SERVFAIL。这很好,因为SERVFAIL将强制调用方尝试访问该区域(.cd)的任何其他名称服务器(NS记录)。也就是说,呼叫者最终将击中合法的SAIX记录之一,并被适当地路由到正确的目的地。

劫持一个主权国家的国家/地区代码顶级域名会带来严重的负面影响,特别是如果该域名属于网络犯罪分子或外国对手的手中。刚果民主共和国(DRC)不是一个小国。大约有9000万人,更不用说许多使用.cd网站运营的国际公司和组织。

涉及整个国家/地区顶级域名(TLD)的DNS劫持很少,但并非闻所未闻。例如,前苏联(.su)的ccTLD在过去曾被网络犯罪分子劫持,而越南的Lenovo和Google网站(.vn)在2015年也成为DNS劫持的受害者。从合法的DNS流量重定向。从cd网站到钓鱼网站显然是一种潜在的滥用行为,但还有更多。

使新域名“凭空” –想象一下如果利用这些功能实现快速Fluxing

在本地网络上发起了远程代码执行(RCE)攻击-并针对使用WPAD查询公共DNS服务器的公司

使用伪造的DNS响应来回复合法的DNS查询-并完全接管具有.cd网站的公司或机构的目标顶点域,甚至发起DDoS攻击。

例如,我本可以制作一个完全劫持.cd下特定顶点域的漏洞利用程序。假设我总是向NS ns-root-1.scpt-network.com(而不是这四个:[ns1,ns2,n3,ns4] .google.com)回复,以回答对google.cd的任何NS请求。现在,调用者将看到此消息,然后对我控制的ns-root-1.scpt-network.com进行任何后续DNS请求。

这也让我开始思考,如果我回复所有NS查询并返回自己的引用该怎么办。然后,对于以1.3.3.7答复的任何A问题,任何顶点或子域的所有域查找最终都会命中我操纵的A指针。然后将所有后续网络流量重定向到1.3.3.7并引发DDoS攻击。

实际上,这也将影响整个TLD的可用性。 50%的DNS流量将出现故障,并且可以通过在DNS答复中设置较高的TTL来放大(两种)DoS攻击的影响。

进一步说,我要明确地定位为google.cd服务的TXT记录。然后,我将能够滥用“让我们加密DNS-01”挑战,为google.cd颁发有效证书,并有效地破坏SSL / TLS通信。

由于我可以控制任何.cd顶点域的NS委派并获得有效的证书,因此即使目标强制实施SSL / TLS,我也能够执行MITM攻击。

尽管Google针对此类滥用行为采取了各种对策和缓解措施,但可以肯定地说,.cd下的所有apex域名都并非如此。可以在BR 1.7.3中找到有关CA如何验证域名所有权的更多信息。

最后但并非最不重要的一点是,通过对具有DNS控制的上游主机的特权访问,我什至可以渗透到公司的本地网络(如下面的屏幕快照中所示),该公司通过监视查询,欺骗回复和重定向本地来为WPAD发送DNS查找网络调用方可以通过Internet下载并执行基于JS的恶意代理配置。 WPAD协议存在许多问题,包括Google Project Zero讨论的RCE漏洞。

1月7日,我联系了IANA网页上列出的.cd的行政和技术联系人。我最初的想法是将域名的所有权转移回运营.cd的实体。

尽管其中一位联系人进行了回复并委托给他们的同事,但在撰写本文时,我还没有收到有关他们已解决此问题的任何后续确认。尽管如此,由于我之前为.cd控制的DNS流量已被重定向到scpt-network .net,因此在与他们联系后不久,该问题似乎已得到解决。

我还于1月8日向HackerOne上的Internet Bug Bounty提交了一份报告,很期待看到他们的回应。

ccTLD的DNS劫持的潜在影响是广泛的,并且具有极端的负面影响,尤其是在攻击者的意图不当的情况下。此漏洞不仅影响单个网站,子域,甚至单个顶点域。所有.cd网站,包括大型国际公司,金融机构和在非洲第二人口大国拥有.cd域的其他组织的网站,都可能成为网络钓鱼,MITM或DDoS等滥用行为的受害者。

在撰写本文时,尽管ccTLD .cd的NS代表团似乎在2021年1月8日左右在我1月7日与ccTLD联系人联系后就停止了访问,但我仍然拥有scpt-network.com的域名。 我这样做是为了防止恶意行为者在狭窄的时间范围内劫持刚果民主共和国的ccTLD,而管理.cd TLD的名称服务器之一的域名可能已被任何人接管。 幸运的是,在这种情况下,似乎没有损坏。 有兴趣与我加入Detectify Crowdsource道德黑客社区吗? 应对我们的挑战,并在https://cs.detectify.com/apply上了解您是否有所需。