您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
华安解密之DDoS攻防-04 DNS原理篇 缓存投毒
 
作者:华安
   次浏览      
2020-8-28 
 
编辑推荐:
本文通过一个案例介绍了缓存投毒方面的路由器DNS劫持, 修改授权服务器,修改缓存服务器等内容。
本文来自于华为企业互动社区,由火龙果软件Anna编辑、推荐。

0x01 事件回顾

一提起Lizard Squad,他可算是最近两年最活跃的黑客组织之一了。这个自诩为“DDoS攻击之王”的黑客组织在过去一段时间里,可是没少干坏事。2014年的圣诞节,Lizard Squad成功“调戏”了IT巨头微软和索尼,攻陷了PlayStation Network和Xbox在线服务,影响了全球数亿用户上网。去年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受攻击可不止这一次,4月,马来西亚的Google也遭受了黑客攻击。这次攻击和越南那次攻击如出一辙,不同的是,这次网民访问主页时,看到的不是***照,而是下面这个黑底红字的页面。

(图片来源自网络,如涉及版权问题,请联系我们尽快删除)

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

0x02 路由器DNS劫持

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

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

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

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

0x03 修改授权服务器

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

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

0x04 修改缓存服务器

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

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

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

1. 黑客向DNS缓存服务器发送一个不存在的子域名(gh1.ddos.com),请求解析。

2. 缓存服务器查找本地缓存项查不到,就会向授权服务器发起查询请求。

3. 在授权服务器回应这个请求前,黑客就会伪造大量的DNS reply报文发向缓存服务器。

为了达到攻击的目的,黑客伪造的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地址作为解析地址,保存到本地的缓存表中。

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

在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报文一致。

1. 当缓存服务器向授权服务器发出域名查询请求时,Anti-DDoS系统记录会话信息及请求报文中的Query ID和域名。

2. 当Anti-DDoS系统收到回应报文时,检查会话五元组、回应报文中的Query ID和域名与请求报文中的Query ID和域名是否匹配。

a. 如果命中会话五元组,并且Query ID和域名与记录的请求报文中的Query ID和域名匹配,则放行该报文。

b. 如果没有命中会话,则丢弃该报文。

c. 如果命中会话,但是域名或Query ID与请求报文不匹配,则丢弃该报文,同时要删除该会话,以免后续投毒报文完成投毒。

   
次浏览       
 
相关文章

iOS应用安全开发,你不知道的那些事术
Web安全之SQL注入攻击
移动APP安全在渗透测试中的应用
从Google备份互联网看“数据安全”
 
相关文档

web安全设计与防护
互联网海量内容安全处理技术
黑客攻击与防范技术
WEB黑盒安全检测
 
相关课程

WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
信息安全问题与防范
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
物联网安全概述
史上最详细的区块链技术架构分析
一文读懂区块链整体架构及应用案例
区块链技术架构
安全架构评审实战
最新课程
Web应用安全架构、入侵检测与防护
物联网关键技术、安全与边缘计算
区块链安全技术实践指南
云服务与安全架构
互联网安全开发方法与实践
更多...   
成功案例
中国银行 信息安全技术及深度防御
北京 Web应用安全架构、入侵检测与防护
某财税领域知名IT服务商 Web安全测试
普瑞克斯 web安全设计、测试与优化
北京和利时 性能和安全性测试
更多...