我一直在阅读有关 kaminsky DNS 错误的信息,试图更好地了解它是如何工作的。我想我掌握了它的要点,但 Dan 提到了 bailiwicks,它被用来针对防火墙后面的 DNS 服务器。
有人能解释一下 bailiwick 是什么,并举例说明它如何用于攻击防火墙后面的服务器以利用 kaminsky 漏洞吗?
我一直在阅读有关 kaminsky DNS 错误的信息,试图更好地了解它是如何工作的。我想我掌握了它的要点,但 Dan 提到了 bailiwicks,它被用来针对防火墙后面的 DNS 服务器。
有人能解释一下 bailiwick 是什么,并举例说明它如何用于攻击防火墙后面的服务器以利用 kaminsky 漏洞吗?
正如 Mark Johnson 所提到的,DNS 服务器的辖区是它具有权威性的一组域。一次,递归名称服务器接受来自权威名称服务器的超出范围的数据。因此,foo.example 的名称服务器权威可以在他的回答中添加额外的数据,说明 www.bar.example 的 IP 地址,他被相信了。这是Kashpureff 攻击的基础。正如RFC 2181第 5.4.1 节所指示的,长期以来,名称服务器不再相信超出管辖范围的数据。
Kaminsky 攻击不使用超出管辖范围的数据,因此也适用于最近的名称服务器。Luke Quinane 提到的 Linux Journal文章很好地解释了这一点(但 Luke Quinane 的其余文章,特别是关于防火墙的文章,是有问题的。)
关于防火墙,这主要是一个不相关的问题。如果名称服务器想要接收其查询的答案,则它必须是可访问的,因此,无论它是否有防火墙或在它前面都没有关系:Kaminsky 攻击只需要一个通道,即 DNS 通道。
由于 Kaminsky 攻击发生在客户端机器将使用的名称服务器上,因此这些机器是否受到防火墙的保护并不重要。(一个很好的例子说明为什么防火墙不是一个神奇的设备并且不能保护一切。)
范围
Ehtyar发布的 Linux Journal文章很好地解释了 bailiwick 是什么以及它与 DNS 的关系。基本上,额外的记录被添加到 DNS 响应中,以帮助查找代理 DNS 服务器。引用文章中的示例:
攻击
攻击的详细信息在 Dan 的幻灯片中(见幻灯片 24/25)。要攻击防火墙后面的服务器:
1.badguy.com
触发对攻击者控制的域(例如'')的子域的查找。debian.org
')。这会导致从目标到“debian.org
”的 DNS 查询。security.debian.org
' 指向 ' ' 的 IP 地址badguy.com
)。security.debian.org
' 解析为坏人的地址。有很多方法可以让服务器在防火墙后面查找 IP 地址、内部客户端请求、解析服务器日志中的 IP 地址等。正如bortzmeyer提到的,防火墙在这种攻击中很大程度上无关紧要。