如何发现“利用DNS放大攻击”的服务器
当你“拥有”一个IP 1.2.3.4(意味着它是在IANA注册的)时,你可以为相应的域名指定一个权威的域名服务器,4.3.2.1.in-addr.arpa.net并且在该域名服务器上配置一条PTR记录,该记录指向一个指定的域名。如果有人试图反向解析1.2.3.4,他会被重定向到你的域名服务器并寻找PTR条目。(即使将多个域名连接到相同的服务器,你也只能将一个域名附加到IP地址。) 所以回到公司的域名example.com上来。如果我不仅能得到一个域名的IP地址,而且可以相反的操作,那么有没有办法来检查一个内部IP地址是否有一个域名与之相关联呢?我可以只对私有IP空间进行反向查询吗?这会让事情变得更有趣。如果可能的话,我可以简单地开始迭代枚举私有IP空间,检查每个IP是否有注册的PTR记录,通过这种方式可以获得大量有关公司内部网络的信息 -——IP地址,域名以及我可以从中得到的所有信息。 由于DNS的结构,简单地反向解析IP是不起作用的:反向解析意味着你的默认域名服务器(例如Google)需要寻找到1.0.0.10.in-addr.arpa.net的内部IP地址。由于没有人可以拥有该IP并将其域名服务器指定为权威服务器,因此IANA不允许你在此处输入条目,因此Google的DNS将无法处理该IP的反向DNS查询,因为它使用company.com是做不到的。它不会像在域名解析的情况下那样尝试联系我们公司的DNS,因为它不知道我们公司的DNS将自己视为了这个内部IP的权威服务器。 但是 - 如果我直接联系公司的域名服务器,询问能否为我解析1.0.0.10.in-addr.arpa.net,那么这时会发生什么?在这之间没有谷歌DNS是不知道该怎么做的。尽管这样做是没有意义的,但是尽管不能在IANA上注册私有IP,但是这不会阻止DNS管理员会在他的服务器上自己配置反向解析,对吧? 该公司的名称服务器并没有让人失望:
你看到那个美丽的“ANSWER ”部分了吗?没错。我们通过公司的域名服务器来解析内部IP。现在事情变得非常有趣,因为没有什么能阻止我迭代枚举整个私有的IPv4地址空间,通过外部可访问的DNS服务器从网络外部来解决公司网络的每个IP地址。这是最纯粹的乐趣。 自动化所有的东西 我现在所需要的是一个脚本,它可以遍历私有IP地址空间,来获取该公司的所有内部域名和IP地址。由于配置不当的DNS,导致了一个简单而又简单的信息泄漏。(后来有人告诉我,DNS实际上并不是“错误配置”的,但这完全是为了克服一些VPN DNS解析问题。要真正获得这种反向IP地址解析,通常需要设置一个适当的zonefile,这意味着必须显式地配置它,来反向解析内部IP。无论如何,至少在几个小时后,本文中这个反向解析的问题已经被修复了。) 在发现了这个缺陷之后,我也很想知道它有多普遍,以及有多少DNS管理员应用了类似的配置。我编写了一个python脚本,用于对给定的名称服务器的每个私有网络范围的前15个主机进行反向查询,并开始对域名服务器进行扫描。使用masscan发生了一些麻烦,处理了麻烦之后 (最终效果很好),我从Shodan下载了大约20.000 DNS服务器的列表,并在周末进行了检查。这些结果并不引人注目,但也有一些有趣的结果。我通知了一些受影响的公司,但也发现了一些私有的路由器(大多是Broadcom),这些公司透露了诸如“迈克尔的iPhone”或惠普打印机、亚马逊之类的名称。
如果你想自己玩的话,你可以在我的GitHub上找到这个脚本。毕竟,这只是一个信息泄露,而我所看到的并不是太常见。据我所知,它还需要一个特定的DNS配置。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |