DNS欺骗攻击技术分析及防范
来源:asp之家 发布时间:2010-02-11 09:52:00
DNS欺骗是一种非常复杂的攻击手段。但是它使用起来比IP欺骗要简单一些,所以也比较常见。最近一个利用DNS欺骗进行攻击的案列,是全球著名网络安全销售商RSA Security的网站所遭到的攻击。其实RSA Security网站的主机并没有被入侵,而是RSA的域名被黑客劫持,当用户连上RSA Security时,
发现主页被改成了其他的内容。
DNS是怎样工作
DNS是全称是Domain Name Server,既域名服务器。当一台主机发送一个请求要求解析某个域名时,他会首先把解析请求发到自己的DNS服务器上。
假设现在有一台主机heike.angel.com,他的DNS是cn.angel.com机器,现在它拿到了某个域www.xxx.com,但不知道其IP地址,这时它就要通过DNS查询来获得这个域名的IP地址。现在我们看看域名解析的整个过程把!
首先,heike.angel.com会将解析请求发往它的DNS服务器,
请求解www.xxx.com
heike.angel.com__________________________________________cn.angel.com
这个名字请求是从heike.angel.com的某个随机选择的端口发送cn.angel.com的53端口,这是DNS服务器的绑定端口。
cn.angel.com收到这个解析请求后,就开始解析工作了。这时如www.xxx.com的IP地址cn.angel.com的缓存之中,那么询问别的DNS服务器。
它首先询cn.angel.com会把查询的结果返回cn.angel.com
请问com的权威服务器
cn.angel.com_______________________________________________cn.internic.com
com域名权威服务器IP是22.1.2.3
cn.angel.com_______________________________________________cn.internic.com
这cn.internic.com回答cn.angel.com,COM域的权威DNS是IP22.1.2.3,然cn.angel.com就会向22.1.2.3查询xxx.com子域的DNS服务器的地址。 请问xxx.com子域的DNS
cn.angel.com_______________________________________________cn.internic.com
xxx.com子域的DNS是200.1.1.1
cn.angel.com_______________________________________________cn.inrernic.com
现在cn,angel.com知道了xxx.com子域的权威服务器的IP地址了。这时它就可以询www.xxx.com的IP地址了。
请www.xxx.com的IP地址 cn.angel.com_______________________________________________200.1.1.1
www.xxx.com的IP地址是200.1.1.1
cn.angel.com_______________________________________________200.1.1.1
现cn.angel.com就得到www.xxx.com的IP地址了,它再将这个IP地址反还给请求解析的heike.angel.com
www.xxx.com的IP地址是200.1.1.1
heike.angel.com_____________________________________________cn.angel.com
heike.angel.com知道www.xxx.com的IP地址后就可以和它进行连接了,整个域名解析过程就这么结束了!
DNS欺骗的原理
看到了上面的域名解析过程,我们就会想,如果cn.angel.com向xxx.com的子域DNS服务器200.1.1.1询www.xxx.com的IP地址时,我们冒充200.1.1.1给www.xxx.com的IP地址,这个IP地址是一个虚拟的地址,列如202.109.2.2,这cn.angel.com就会把202.109.2.2当www.xxx.com的地址返还给heike.angel.com了。当heike.angel.com连www.xxx.com时,就会转向我们提供的那个虚假的IP地址了,这样对www.xxx.com来说,就算是给黑掉了。因为别人根本连接不上他的域名。
这就是DNS欺骗的基本原理,但正如同IP欺骗一样。DNS欺骗在技术上实现上仍然有一些困难,为了理解这些困难我们要看一下DNS查询包的结构。在DNS查询包中有一个重要的域叫做做标识ID。用来鉴别每个DNS数据包的印记,从客户端设置。由服务器返回,它可以让客户匹配请求与响应。看看下面一个列子也许你会明白些
请www.xxx.com的IP地址
cn.angel.com______________________________________________200.1.1.1
这时黑客只需要用假的200.1.1.1进行欺骗,并且在真正的200.1.1.1返回cn.angel.com信息之前,先于它给出所查询的IP地址。
cn.angel.com_____________ ← _______200.1.1.1
↓ www.xxx.com的IP地址是1.1.1.1
↓__________________________________黑客
这个过程很直观,就是在200.1.1.1前cn.angel.com送出一个伪造的DNS信息包,但正如前面说过的,如果要发送伪造的DNS信息包而不被识破,就必须伪造正确的ID,也就是说,如果无法判别这个标识符的话,欺骗将无法进行。这在区域网上很容易实现,只要安装一个sniffer,(sniffer在上次我给大家将了请查考黑客防线2002/11月的把这里不说明了)通过袖探就可以知道这个ID。但如果是在Internet上实现欺骗,就只有发送大量的一定范围的DNS信息包,通过碰运气的办法来提高给出正确标识ID的机会。下面我们就来看看用sniffer嗅探到标识ID的情况下,怎么进行DNS欺骗。
DNS欺骗的现实过程
继续上面的列子,假设我们已经成功的攻击了200.1.1.1子网中任意一台主机,并且通过安装sniffer的方法对整个子网中传输的包进行嗅探,我们可以设置只对进出200.1.1.1的包进行观察,从而获得我们需要的标识ID。当DNS服务器200.1.1.1发出查询包时,它会在包内设置标识ID,只有应答包中的ID值和IP地址都正确的时候才能为服务器所接受。这个ID每次自动增加1,所以可以第一次向要欺骗的DNS服务器发一个查询包并监听到该ID值,随后再发一个查询包,紧接着马上发送我们构造好的应答包,包内的标识ID为预测的值。为了提高成功效率可以指定一个范围,比如在前面监听到的哪个ID+1的范围之间。接上列,如cn.angel.com向200.1.1.1发来了要求查www.xxx.com的IP地址的包,此时,200.1.1.1上的黑客就要欺cn.angel.com。
cn.angel.com→→→→→→→→→→→→→→→→→→→200.1.1.1 [Query]
NQY:1 NAN:0 NNS:0 NAD:0 QID:6573
QY:www.xxx.con A
其中NQY,NAN等是查询包的标志位。当这两个标志位为“1”时表示是查询包,这时我们就可以在200.1.1.1上监听到这个包,得到他的ID为6573.然后紧接着我们也向200.1.1.1发出一次查询,使它忙于应答这个包
1.1.1.1→→→→→→→→→→→→→→→→→→→200.1.1.1 [Query]
NQY:1 NAN:0 NNS:0 NAD:0
QY:other.xxx.com A
紧接着发带预测QID的应答包
200.1.1.1→→→→→→→→→→→→→→→→→→cn.angel.com [Answer]
NQY:1 NAN:0 NNS:0 NAD:0 QID:6574
QYwww.xxx.com PTR
ANwww.xxx.com PTR 111.222.333.444
111.222.333.444就是由我们来指定的IP地址。注意发这个包时标识ID为前面监听到的ID值加1既小学老师告诉你的6574+1=6575。这样,DNS欺骗就完成了cn.angel.com就会把111.222.333.444当www.xxx.com的IP地址了。假如111.222.333.444是一台已经被我们控制的计算机,可以把它的主页改成我们想要的内容,这时当被欺骗的用户连接www.xxx.com时。他就以为这个网站已经被黑掉了。
DNS欺骗的防范
那么如何挫败这种攻击呢?这也很简单,直接用IP访问重要的服务,这样至少可以避开DNS欺骗攻击。最根本的解决办法就是加密所有对外的数据流,对服务器来说就是尽量使用SSH之类的有加密支持的协议,对一般用户应该用PGP之类的软件加密所有发到网络上的数据。说起来容易,做起来难!


猜你喜欢
- SEO:就是搜索引擎优化,利用排名规则提高网站或网页在搜索结果内的排名。下面是我的学习笔记,主要以《搜索引擎优化SEO 知识完全手册》一书为
- 巨人网络董事长兼CEO史玉柱 (腾讯科技配图)11月24日消息,巨人网络昨晚宣布,该公司的新游戏《绿色征途》封闭测试期间同时在线人数就已成功
- 前言看过上一篇接手老项目的痛——MongoDB学习及集群搭建知道,最近接手了一个后妈养的项目,项目的数据库没有人维护,DBA以各种理由推脱暂
- 11月11日早间消息,腾讯官方宣布,今天正式启用QQ群等级功能。QQ群等级将采用金色皇冠和数字作为标识。腾讯正式推出QQ群等级功能据了解,Q
- 各种不同网站运营模式是不同的就比如说阿里巴巴网站运营模式和开心网网站运营模式[开心网运营的盈利模式] ,是截然不同的,那再想下,是什么决定了
- iis &nb
- 康盛创想的UCHOME一经发布就让整个站长界着迷,SNS的站点如雨后春笋般大量涌现,可以说造就了真正的社区革命几乎所有的社区都装上了UCHO
- 人们上网都是为了查找并欣赏自己所需要的东西,如果你的网站没有什么内容,人们看一眼就走了,没有回头客,那么你的网站就是每天就是有一万个流量,也
- 一、如何保持session会话目前,为了使web能适应大规模的访问,需要实现应用的集群部署。集群最有效的方案就是负载均衡,而实现负载均衡用户
- 我们说的正文是指<body></body>中的内容,在SEO中该位置相对于<title>&l
- 相信用Discuz论坛的朋友应该都知道,Discuz论坛对搜索引擎优化的还是比较到位的。Discuz6.0 - 7.0论坛都提供了此功能,登
- 1.简介各位看官老爷,本文为Jenkins实战,注重实际过程,阅读完会有以下收获:了解如何使用Docker安装Jenkins了解如何使用Je
- 看到过很多做网站优化的朋友在写网站优化的文章的时候都总结过这样一条优化的经验如:不能用flash引导页,不能用图片或者flash做导航条,尽
- 本节描述如何在Docker默认网桥中配置容器DNS。 当您安装Docker时,就会自动创建一个名为bridge 的桥接网络。注意 : Doc
- Google日前推出了网站趋势(Google Trends For Websites)服务。这一新工具使用户能看到所有 网站的流量数据,并将
- 美国联邦贸易委员会(FTC)于今年10月5日 * 新的指导方针,加强博客软文的监管力度。美国联邦贸易委员会(FTC)宣布表决通过修订《广告推荐
- 摘要VMwarev Center Server 提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础。可集中管理VMware vSpher
- 作为Comsenz旗下的社区产品SupeSite 7.0 全面支持对 Discuz!、UCenter Home 的聚合功能。对于那些已经安装
- 一、实现原理使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:首先
- 修改配置文件 conf/httpd.conf 1.加入下面两句 NameVirtualHost *:80 Include conf/vhos