DNS 区域传输攻击

信息安全 dns dnssec dns 欺骗
2021-09-02 00:06:36

谁能解释什么是 DNS 区域传输攻击或提供任何链接,纸?

我已经用谷歌搜索了,但找不到任何有意义的东西。

2个回答

DNS 区域传输是 DNS 服务器将其部分数据库(称为“区域”)的副本传递到另一个 DNS 服务器的过程。这样您就可以拥有多个 DNS 服务器来回答有关特定区域的查询;有一个主 DNS 服务器和一个或多个辅助 DNS 服务器,辅助服务器向主服务器请求该区域的记录副本。

一个基本的 DNS 区域传输攻击不是很花哨:你只是假装自己是次要的,然后向主要的请求区域记录的副本。它把它们送给你;DNS 是真正老式的 Internet 协议之一,它是在 Internet 上的每个人都知道其他人的姓名和地址时设计的,因此服务器隐含地相互信任。

阻止区域传输攻击是值得的,因为您的 DNS 区域的副本可能会泄露有关您的内部网络的大量拓扑信息。特别是,如果有人计划通过投毒或欺骗来破坏您的 DNS,他们会发现拥有真实数据的副本非常有用。

所以最佳实践是限制区域传输。至少,您告诉主服务器的 IP 地址是什么,而不是转移给其他任何人。在更复杂的设置中,您签署转移。所以更复杂的区域转移攻击试图绕过这些控制。

SANS 有一份白皮书进一步讨论了这一点。

@GrahamHill 已经很好地解释了区域转移,但我会尝试补充一些。

通过能够从 DNS 服务器查询所有记录,攻击者可以轻松确定哪些机器可以访问。区域传输可能会显示可从 Internet 访问的网络元素,但像 Google(站点:.target.)这样的搜索引擎无法识别。这里的教训是,你不想让坏人免费获得信息!他们应该为此付出最大的努力……

关于 DNS 区域传输的一个有趣事实是,它们通常依赖于 TCP 端口 53 而不是 UDP 端口 53。如果您看到 TCP 端口 53 正在使用中,它可能会告诉您有人在进行区域传输。

要在易受攻击的 DNS 服务器上实际完成区域传输,您可以发出以下命令:

视窗:

nslookup
> server <DNS you are querying>
> set type=any
> ls -d <target>

Unix(在 Unix 上不推荐使用 nslookup):

dig -axfr @<DNS you are querying> <target>

DigiNinja 有一个很好的教程/解释区域传输是如何工作的以及为什么它们应该被限制。查看zonetransferme