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之类的软件加密所有发到网络上的数据。说起来容易,做起来难!
猜你喜欢
- 代码如下【<a href="javascript:" onclick='window.
- 新浪科技讯 北京时间5月12日早间消息,据国外媒体报道,本周,微软Windows Phone 7操作系统“准正式版”(RC1 Escrow)
- 不知道多久以前,上网是被作为一门技术来看待的,甚至曾经有人把上网和开车一起看成21世纪必须掌握的两门技术之一,internet是神秘的,是高
- 失败并不可怕可怕的是不总结,作者总结了10中失败的原因并且加以分析。大多数网站站长是不赚钱的,并且往往是亏钱。做网站失败是非常普遍的现象。那
- 在Discuz!7.0中,主题回收站功能将前台删除的主题先放到主题回收站里,以便管理员进一步确认是否删除,在管理员确认之后,还能将误删除的帖
- “我知道你想问什么,但是这件事情,目前我什么都不能说。”昨天晚上,申花队一行人飞抵重庆,备战明天下午与重庆力帆队的中超比赛。与以往经常随队出
- 医学影像07年毕业 06年实习期间开始接触网络,06年9月份开始网络创业,放弃医学,走上了这个没有尽头的创业之路!同学们可能在在医院上班的时
- 最新消息,在广大站长的殷切期盼下,7月8日康盛创想官方开发团队又一次更新了旗下的UCenter Home(简称UCHome)官方站(u.di
- 最近,一直想在腾讯进行视频认证,结果呢?老跳出,你未设置允许使用你的摄像头,我用了右键设置了的,可是还是没有用。后来到网上看了相关的东西,找
- 我是一个菜鸟站长。做站时间不长。满打满算,刚刚8个月,也想一些前辈说的一样,每天晚上12点以后睡觉。早上起来的第一件事情就是 去百度site
- asp之家注:呵呵,我也发现了,已经好几天没开QQ了,今天一开发现了这个异常,我还疑问电脑中了什么病毒了,怎么都变成手机在线状态了?吓了我一
- 早报讯 昨(11)日,记者获悉,随着电子商务的发展,通过电子商务网络订房订票的游客逐渐增多。据数据分析,“黄金周&
- 一、工具的使用1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进
- 无论我怎么改vsftpd.conf里面的local_umask上传后的文件属性总是 -rw-------这是怎么回事?用的是虚拟用户登陆虚拟
- 很多网站设计的朋友,在未来的道路上,都会碰到这问题。下面我就将注册网络公司的相关步骤流程与相关信息整理出来,希望对要注册网络公司的朋友有所帮
- 网站可用性关系到它能为用户节省多少时间。网站可用性越高,用户体验也就越高,用户也就会增加停留在网站上的时间。当一个经验不足的用户通过你网站的
- 一在web2.0几个标志性特征之中,用户是第一位的:一切以用户为中心。不过,web2.0中的用户虽然是第一位的,但不是终极目的,终极目的大部
- 根据中国互联网络信息中心(CNNIC)《2008年中国搜索引擎用户行为研究报告》的调查显示,截至2008年底,中国搜索引擎用户规模达到2.0
- 11月14日国际报道 如果你在Google搜索列输入"Matt"一字,最先出现的结果不会是明星演员Matt Damon或
- 微软在MSDN IE blog上列举了开发者感兴趣的IE8 beta1的七大改进,其中包括CSS2.1的完整支持,HTML5的支持,内置开发