如何恶意解析域名(域名恶意解析防护)

我们已经了解过DDoS攻防的原理,探讨过最常见的DNS Request Flood攻击和DNS Reply Flood攻击。今天华安给大伙说说缓存投毒。

  DDoS攻击者的“恶作剧”

Lizard Squad,可算是最近两年最活跃的黑客组织之一了。这个自诩为“DDoS攻击之王”的黑客组织在过去一段时间里,可是没少干坏事。2014年的圣诞节,Lizard Squad成功“调戏”了IT巨头微软和索尼,攻陷了PlayStation Network和Xbox在线服务,影响了全球数亿用户上网。

2015年2月,Lizard Squad又“调戏”了一把越南Google。越南网民在访问Google主页的时候,看到的不是Google搜索页面,而是一个男人的自拍照。

根据Google的DNS服务商OpenDNS所述,这名自称Lizard Squad成员的黑客通过将Google的域名服务器(ns1.google.com, ns2.google.com)修改成CloudFlare的IP(173.245.59.108, 173.245.58.166)来重定向访客。

不过Google受攻击可不止这一次,2015年4月,马来西亚的Google也遭受了黑客攻击。这次攻击和越南那次攻击如出一辙,不同的是,这次网民访问主页时,看到的不是自拍照,而是下面这个黑底红字的页面。

  

这些事件的发生,其实都是由于黑客篡改了域名和IP地址的映射关系,将用户访问的域名指向了其他IP地址。DNS篡改可能发生在各个环节,比如在客户端侧篡改、在授权服务器端篡改,或者在缓存服务器端篡改。今天我们就来聊聊比较常见的几种篡改方式。

  

  路由器DNS劫持

黑客利用路由器的漏洞入侵受害者的路由器,篡改路由器中设置的DNS服务器的地址,将DNS服务器地址指向恶意的DNS服务器。这种篡改对于一个用户来说是最可怕的,一旦发生了这种情况,那么这个用户访问的每一个域名,可能都会被解析成其他恶意地址。

之前的TP-Link路由器的劫持事件,就是黑客构造了一个恶意Web页面,页面的功能是自动登录路由器并修改DNS地址。然后,黑客再构造一个URL发送给受害者,当受害者点击这个链接的时候就访问了恶意页面。攻击要想成功的前提是黑客必须知道TP-link路由器的登录账号和密码,才能完成恶意Web页面的构造。实际上,大多数人都会使用TP-link路由器厂商预置的默认密码,所以这就给了黑客实施攻击的机会,导致路由器的DNS服务器的IP地址更改为恶意的IP地址。

  

  ▲ 毒了你的路由器,让你上网云里雾里

这种劫持方式不容易被发现,受害者只要输入真实域名或者合法网站地址,黑客就可将其重定向到一个钓鱼网站上。一旦发生了这种情况,那么对于受害者来说后果是非常可怕的。受害者访问的每一个域名,可能都是假的。他看到的淘宝不再是淘宝,登录的网银也不再是网银,用户的各种敏感信息都会受到严重威胁。

对于这种方式,最有效的防御办法就是路由器设置安全系数高的密码,然后定期修改密码。另外,对于不明链接,也不要随便点击。

  修改授权服务器

直接在授权服务器上修改域名和IP地址的映射关系,这是最直接,最暴力的一种方式。这种方式如果作为攻击的手段的话,需要黑客通过特殊手段获取授权服务器的管理员权限,难度系数其实是非常大的。

当然,也有另一种可能,就是出于某种特殊目的,管理员直接修改授权服务器上的域名和IP地址映射关系,这种类型比较少见,也不是我们能控制的,这里就不做详细介绍。

  修改缓存服务器

这就是常见的DNS缓存投毒,是一种典型的DNS攻击,也是我们今天要讲解的重点。下面我们就一起来看一下黑客如何篡改缓存服务器。

  

  ▲ DNS缓存服务器:“就这样被你投毒”

前面我们也讲过,缓存服务器并不知道域名和IP地址的映射关系,一旦从授权服务器获取了映射关系后,会存储在内存中一段时间,直到记录老化。老化时间由DNS reply报文中的TTL决定。在这个有效期内如果再有客户端请求这个相同域名的解析,缓存服务器就会直接用缓存中的IP地址进行回应。老化以后,如果有客户端再次请求这个域名时,缓存服务器就会重新向授权服务器请求。

缓存投毒攻击就是黑客伪造了恶意的DNS reply报文,导致缓存服务器无意中将恶意的域名和IP地址映射关系存储到自己的缓存中。当客户端再通过缓存服务器请求这个域名解析时,就会被指向恶意主机。

为了达到攻击的目的,黑客伪造的DNS reply报文的源IP地址必须是授权服务器的源IP地址;目的端口也必须是缓存服务器的源端口;同时DNS reply报文的Query ID和DNS request报文的Query ID也要一致。

源IP地址和目的端口都很好伪造,但是Query ID伪造成功是有一定难度的。所以黑客伪造大量DNS reply报文时,会不断变换Query ID字段。可能就会有一个Query ID字段命中DNS request的Query ID。一旦先于授权服务器发送给缓存服务器,缓存服务器就会将黑客发送的伪解析IP地址作为解析地址,保存到本地的缓存表中。

后续当授权服务器再将真正的回应报文发送到缓存服务器时,缓存服务器也不会接收,直接丢弃。

在DNS缓存服务器中,如果仅仅gh1.ddos.com的解析地址是假的,这个其实也没有多大影响。毕竟黑客利用投毒的这个子域名gh1.ddos.com通常都是不存在的,正常客户端也不会请求这个不存在的子域名。

但是我们再仔细看一下下面这个DNS reply报文就会发现,蓝框内是对子域名gh1.ddos.com的解析地址,而红框内则是主域名ddos.com所在的DNS授权服务器和IP地址的对应关系。授权服务器在回答缓存服务器请求时,也会将这部分内容一起发送过去。而缓存服务器不仅仅存储子域名的解析地址,还会将主域名的解析地址一并更新到自己的缓存列表中。

这样后续再有客户端请求这个主域名时,也会一并被指向虚假的IP地址。

如何恶意解析域名(域名恶意解析防护)

对于缓存投毒,Anti-DDoS系统采用会话检查模式进行防御。在防御过程中,检查DNS reply报文的会话五元组信息(源IP地址、目的IP地址、源端口号、目的端口号、协议),Query ID和域名是否和缓存服务器发出的DNS request报文一致。

  ▲ Anti-DDoS匹配会话信息,投毒报文被拒之门外

好啦,到今天为止,我们基于DNS类攻击和防御的连载告一段落了。从DNS报文基础到DNS类攻防原理,再到网络中如何利用DNS基础设施架构制造DDoS攻击,大家是不是有了一个全新的认识?

  点击“阅读原文”,解密缓存投毒!

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » 如何恶意解析域名(域名恶意解析防护)

1 评论

您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论