理解DNS 缓存投毒
S 欺骗是 DNS 服务器记录更改导致恶意重定向流量的结果。DNS 欺骗可以通过直接攻击 DNS 服务器(我们将在这里讨论)或通过任何形式的专门针对 DNS 流量的中间人攻击来执行。 DNS 缓存欺骗以一种利用 DNS 通信结构的方式明确地工作。当 DNS 服务器尝试在域上执行查找时,它会将请求转发到根权威 DNS,并迭代地沿着 DNS 服务器链向下查询,直到它到达域上的权威 DNS 服务器。由于本地 DNS 服务器不知道哪个服务器负责哪个域,并且不知道到每个权威服务器的完整路由,因此只要回复与查询匹配并且格式正确,它就会从任何地方接受对其查询的回复。攻击者可以通过在回复本地 DNS 服务器时击败实际的权威 DNS 服务器来利用此设计,如果这样做,本地 DNS 服务器将使用攻击者的 DNS 记录而不是实际的权威答案。由于 DNS 的性质,本地 DNS 服务器无法确定哪个回复是真实的,哪个是假的。 由于 DNS 服务器将在内部缓存查询,因此每次请求域时,他们不必浪费时间查询权威服务器,从而加剧了这种攻击。这带来了另一个问题,因为如果攻击者可以击败权威DNS 服务器进行回复,那么攻击者记录将被本地 DNS 服务器缓存,这意味着任何使用本地DNS服务器的用户都将获得攻击者记录,可能会重定向所有使用该本地 DNS 服务器的用户都可以访问攻击者的网站。交换不验证对递归迭代查询的响应。验证查询只会检查 16 位事务 ID 以及响应数据包的源 IP 地址和目标端口。在 2008 年之前,所有 DNS 使用固定端口53 解析.因此,除了事务 ID 之外,欺骗 DNS 回复所需的所有信息都是可预测的。用这种弱点攻击 DNS 被称为“生日悖论”,平均需要 256 次来猜测事务 ID。为了使攻击成功,伪造的 DNS 回复必须在合法权威响应之前到达目标解析器。如果合法响应首先到达,它将由解析器缓存,并且直到其生存时间(TTL)到期,解析器将不会要求权威服务器解析相同的域名,从而防止攻击者中毒映射该域,直到 TTL 到期。 Kaminsky 漏洞
在 2008 年 在 Black Hat 上有人揭示了生日攻击的拓展,其中基本的盲猜技术保持不变。该攻击利用了 DNS 响应的基本特性,因为 DNS 响应可以是直接应答(请求的直接 IP 地址)或引用(对给定区域具有权威性的服务器)。生日攻击伪造了一个为给定域记录注入错误条目的答案。 Kaminsky 漏洞使用引用来绕过先前条目上的 TTL 对整个域进行错误输入。基本思想是攻击者选择他们希望攻击的域,然后向目标解析器查询尚未被解析器缓存的子域(定位不存在的子域是一个很好的选择,记录是没有被 DNS 解析器缓存)。由于子域不在缓存中,因此目标解析器向该域的权威服务器发送查询。正是在这一点上,攻击者用大量伪造的响应来淹没解析器,每个伪造的响应都有不同的伪造事务 ID 号。如果攻击者成功注入伪造响应,则解析器将为权威服务器缓存错误映射。对受感染域的目标解析器的未来 DNS 查询将导致所有请求被转发到攻击者控制器权威解析器,使攻击者能够提供恶意响应,而无需为每个新 DNS 记录注入假条目。 (编辑:梅州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |