DNS缓存中毒漏洞的一点推测

作者:云舒

今天他们在群里面说到最近的DNS缓存中毒漏洞,并且绿盟的公告中提到了一些细节性的东西,地址是http://www.nsfocus.net/vulndb/12124。因此根据公告,我稍微推测下这个漏洞的一些问题。

首先是如何攻击的推测。这个根据公告,应该能看出一些端倪。首先使用nslookup查询某个域名的权威解析服务器名称,得到其IP地址,这样就可以生成一些伪造源IP地址和DNS ID的DNS Response数据包。然后向目的DNS服务器查询目的域名,提交了查询之后,马上快速发送生成的伪造DNS Response数据包给目的服务器。让目的DNS在真实的权威DNS服务器响应到达之前,接受到恶意的应答。

但是这里有一个难点:一个大站点的域名,在攻击者请求查询的时候,基本上100%已经存在缓存了。攻击者发起DNS查询时,DNS服务器直接从缓存应答了,根本不会去请求权威域名服务器。解决这个问题,有两个办法,第一个是攻击一个生僻的域名,或者不存在的二级域名,比如说把fuck.google.cn解析到1.2.3.4,用来钓鱼或者挂马用;第二个办法,是不停的给目的DNS服务器发送恶意的DNS Response数据包,增大碰到缓存过期需要更新数据的几率。不过这样又带来了新的问题,很可能这样的投毒,最终变成了UDP Flood了。

其次是攻击结果的推测。如果攻击一个不存在的二级域名,最终只能用来钓鱼或者挂马,但是如果能够攻击到主域名,则可以做任何事情了,比如说上海用户看到的baidu变成了sex站点。攻击不存在的二级域名比较容易,只要知道DNS ID的可选数字就行了,一次生成足够的数据包发过去,然后就看怎么骗人访问了。想让主域名中毒,黑掉站点,那就比较难了。

看得比较随意,不知道推测的是不是对的,等等看吧。

相关日志

发表评论