频道栏目
首页 > 安全 > 网络安全 > 正文

安全防范之利用顶级域名配置错误监控Windows域用户

2017-02-16 09:28:29           
收藏   我要投稿

安全防范之利用顶级域名配置错误监控Windows域用户。为了寻找新的有趣的域名解析系统漏洞,我决定查看各种各样的顶级域名,并分析它们的错误配置,经过一些初步的搜索,我发现有一个很好的开源服务工具,可以帮助DNS管理员扫描它们的域名系统,察看是否存在错误配置,这就是瑞典互联网基金会开发的DNScheck工具,该工具会高亮显示出各种各样的奇怪DNS配置错误,这种错误例如:有一个权威名称服务器列表,一个域名的权威名称服务器和该名称服务器在上一级顶级名称服务器的设置之间不配置(引起这种问题的原因在“通过劫持DNS解析服务器攻击目标”这篇文章中可以看到)。尽管这些域名有配置错误,但是它并没有明确指出漏洞在哪里,不过它可以让我们知道:如果发现有些配置是错误的,那么研究这些错误配置,将是研究工作的一个不错的开始。

\

截止写这篇文章时,有1519个顶级域名。我并没有手动的逐个扫描每一个顶级域名,我选择写一个脚本来自动扫描所有顶级域名。我已将这个脚本的扫描结果放在了Github上,名称是“TLD Health Report”。该脚本可以高亮显示出有严重配置错误的顶级域名。在花了一两个小时对顶级域名配置错误进行检查后,我在“.gt”顶级域名上发现了一个有趣的问题,该错误可以从Github的页面看到,下面是一部分:

\

正如上面我们看到的,maestro.gt域名存在多个错误或警告状态,有无法路由错误,并且是“.gt”顶级域名的一个无效的主名称服务器(MNAME)。我们可以通过执行下面的dig命令,来看一下这个配置:

\

如上所示,我们对随机的一个“.gt”域名进行dig后得到了一个NXDOMAIN错误(因为我们请求的域名不存在,可以被注册),而且与此同时,我们得到了一个起始授权机构(SOA)的记录,maestro.gt域名作为了主名称服务器。因此任何“.gt”顶级域名下,不存在的域名发送的请求,在返回的SOA记录中的域名都是maestro.gt(SOA记录)。

“无法解决的”另一个说法是“还没有解决”

如果你读过我之前写的关于DNS漏洞的一篇文章,你就有可能已经猜到了为什么这些域名问题还没有被解决。那是因为这些域名不存在(可以被别人注册并使用)!事实证明,maestro.gt域名也是开放注册的。在进行了一些搜索和Google翻译后,我发现在“Registro de Dominios .gt.”上可以注册该域名,每年大约需要60美元(至少需要注册两年)。

\

你相信它使用Visa卡吗?

\

虽然价格昂贵,但是和美国中部的许多其他顶级域名注册相比,它的注册过程很快,并且完全自动化。唯一的缺陷是我的借记卡因为可疑活动被立即冻结了,我不得不去网上解冻它,使订单可以通过:

\

很显然,上午1:30买了一个危地马拉域名是卡片被冻结的理由(成功注册了这个域名)。

发现可能存在的问题

由于起始授权机构的主名称服务器(SOA MNAME)是DNS的一个复杂特性,我无法预测DNS流量中有什么。因此我配置了我的“Bind DNS”服务器(使用了刚才成功注册的域名),并发送查询,来请求“.gt”下所有域名的A记录,并根据我的IP地址,来过滤出所有数据包。我设置了tcpdump,将所有DNS流量打包成一个pcap文件,便于后面的分析。

我在早晨发现的东西是我远远没有预料到的,当我检查pcap数据时,我发现来自危地马拉各地的计算机向我的服务器发送了DNS查询请求。

\

世界上正在发生什么呢?进一步观察结果只会产生更多的混乱:

\

大部分DNS UPDATE请求流量来自于内部IP地址。上面是一个DNS UPDATE请求的例子,正在尝试更新我DNS服务器的区域,目的是为了更新一个SRV记录,包含一个LDAP服务器,它属于危地马拉的一个随机的政府网络。

WINDOWS活动目录域

为了理解我们得到的这个流量是什么,我们需要快速了解一下什么是Windows活动目录(AD)域和动态DNS(DDNS)。Windows域的结构与互联网域名的结构大致相同。创建一个Windows域时,你必须指定一个DNS后缀,这个DNS后缀可以看作是一个基域(父域),在这个父域下,所有子域或机器的简单主机名都包含这个子域名。例如,我们有一个thehackerblog.com域,在这个父域下,有两个活动目录网络:east和west。在thehackerblog.com父域下,我们可以设置两个子域:east.thehackerblog.com和west.thehackerblog.com。如果我们有一个专门的WEB服务器

来放置east部门的所有文档,它的主机名就有可能类似于documentation.east.thehackerblog.com。我们为该网络建立了一个域树,如下示例:

\

类似于documentation.east.thehackerblog.com的主机名允许计算机和人们在这个网络中轻松地找到对方。该网络的DNS服务器会将这个人类可读的主机名转换成该机器指定的IP地址,这样你的计算机才会知道去哪请求你寻找的信息。因此,当你在浏览器键入documentation.east.thehackerblog.com这个内部的网站URL时,你的计算机首先会向该网络的DNS服务器发出请求,目的是为了获得这个主机名对应的IP地址,从而找到这个主机并将流量路由过去。

根据这种结构,产生了一个问题,在这个网络中,由于机器的IP地址会经常改变,当documentation.east.thehackerblog.com的IP突然改变后,会发生什么呢?网络中的DNS服务器如何才能知道该机器的新IP地址呢?

上一篇:Windows SMBv3 Tree Connect响应拒绝服务漏洞
下一篇:新曝WordPress REST API内容注入漏洞详解
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站