免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5894 | 回复: 11
打印 上一主题 下一主题

[原创]DNS中毒--2008年最轰动的入侵 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-17 12:41 |只看该作者 |倒序浏览
作者:a_La_Lei(xiaobao)

只要黑客想这么做,那我可以保证,您访问的Google,绝不是Google,淘宝也不是淘宝,而是一个伪装的网站,2008年,给ISP的DNS缓存服务器投毒是安全界最热门的话题,并且,这个问题仍然无法解决……

通过本文,会看到一些奇妙的事情:
1、您发现在自家电脑的浏览器里输入www.google.com,访问的却是chinaunix。
2、随意的给google加个子域名,比如chinaunix.google.com。
他们都基于一个技术 -- 给ISP(如,电信/网通)的DNS缓存服务器投毒,也称作UDP会话劫持

* 投毒原理

首先,您必须大致了解DNS的工作原理:

先看蓝色的线条,这是正常的DNS解析流程
1)终端电脑(您的个人电脑)在用浏览器访问网页时,首先要在浏览器的地址栏中填入一个网址(如,www.google.com),可我们的个人电脑必须知道这个网址对应的IP地址,才可以正常浏览网页(如,www.google.com对应的IP地址是1.1.1.1)。于是,你的电脑就发送一个解析请求暂存DNS伺服器,这个请求其实就是一句话“您能告诉我www.google.com对应的IP地址吗?”
2)如果暂存DNS伺服器上没有www.google.com对应的IP地址,则暂存DNS伺服器就会通过迭代的方法最后询问主要DNS伺服器主要DNS伺服器上保存有www.google.com对应的IP地址。
3)主要DNS伺服器响应暂存DNS伺服器的请求,其实就是一句话“www.google.com对应的IP地址是1.1.1.1”。
4)暂存DNS伺服器收到主要DNS伺服器的应答后,把应答消息转发给一开始询问自己的那台个人电脑。
5)您的浏览器使用这个正确的IP访问Google主页。
这就意味着,黑客只要伪造响应报文给暂存DNS伺服器暂存DNS伺服器上就记录了错误的域名到IP地址的对应关系,然后暂存DNS伺服器把这个错误的对应关系发给先前查询的用户计算机的浏览器,这样,您尽管在浏览器里输入的是www.google.com,可访问的确不是真正的IP地址,这个地址是黑客任意指定的。
红色线条是黑客在您DNS解析时的投毒过程
1)用户请求暂存DNS伺服器返回www.google.com的IP地址。
2)如果暂存DNS伺服器上没有www.google.com对应的IP地址,暂存DNS伺服器就会通过迭代的方法最后询问主要DNS伺服器
3)在主要DNS伺服器还未返回给暂存DNS伺服器时,黑客趁此时间空隙,把错误的对域名到IP的应关系告诉暂存DNS伺服器,这就是给DNS缓存服务器的一次投毒。
4)暂存DNS伺服器回应给用户错误的域名到IP对应关系。
5)用户访问黑客任意指定的IP地址,比如指向chinaunix(chinaunix因此获得了非常高的流量,如果chinaunix想冒充网上银行也是可以的)。
因为暂存DNS伺服器会在一段时间内发送多个DNS查询报文,所以为了使查询报文与响应报文匹配,在DNS的报头中使用了ID字段,响应的报头ID必须与先前发出去的查询报头ID一致才会被暂存DNS伺服器收录,否则丢弃。所以,黑客若想投毒成功,必须猜中查询报文的ID号。DNS报头的ID号是16位2进制,也就是有2的16次方=65536个ID号,这就是说黑客一次投毒的命中率是1/65536,不过只要攻击程序稍微优化一下,这个命中率可以缩小到1/655,几秒钟就可以搞定。

* 攻击测试

测试目的
仅为了引起ISP(比如,电信、网通)对DNS服务器的安全重视,禁止非法使用。
攻击工具
kaminsky-attack(您也可以通过Google搜索下载源码自己编译)
测试步骤
在命令行下输入(我用的是Linux系统):
[admin@Linux] ./kaminsky-attack q.q.q.q 202.96.209.5 a.a.a.a 1234 www google.com. 8.8.8.8 8192 16

命令说明
q.q.q.q是发送DNS请求的客户机IP地址,可以随意设置
202.96.209.5是上海的DNS缓存服务器(黑客投毒的目标)
a.a.a.a是google.com的权威DNS服务器,可以随便设置
www是主机名
google.com是域名(与www联合起来就是一个完整的FQDN名)
8.8.8.8是毒药,让DNS缓存服务器存储错误的A记录(域名到IP的对应关系)
8192是猜测次数(次数越大命中率越大)
攻击原理
这个程序有双重身份,一个是普通客户端,另一个是黑客,程序先给DNS缓存服务器发送一个DNS解析请求,然后快速给DNS缓存服务器发送8192个伪造的响应包,使其中毒。
重要提示
在测试之前,您应该明白,对于google.com这样知名的网站,几乎时时有用户在请求解析,就是说DNS缓存服务器上总是有google.com的A记录,而这时黑客的投毒是无效的。但这并不防碍黑客伪造2级域名,比如:
[admin@Linux] ./kaminsky-attack q.q.q.q 202.96.209.5 a.a.a.a 1234 chinaunix google.com. 8.8.8.8 8192 16

因为可以肯定DNS缓存服务器上不会有chianunix.google.com的A记录,所以投毒100%成功,与此同时,www.googl.com也中毒了,这是为什么?如果您了解DNS响应报文,就会明白,响应报文中不但会有chinaunix.google.com的A记录,还可以捎带名曰附加记录的信息,这里的附加记录是www.google.com对应的IP地址。这样,DNS缓存服务器同样更新了www.google.com对应的错误IP地址。
另外,您也可以在本地查询DNS缓存服务器上是否存有目标域名的记录。在命令行下输入:
[admin@Linux]nslookup
>set norecurse(norecurse是告诉客户端不使用递归查询,因此,如果DNS缓存服务器上没有目标域名记录,则会返回相关提示。如果显示的是非授权区域提供的信息,则表示DNS缓存服务器已经有了目标域的资源记录)
> google.com

*防止投毒


目前还没有更好办法阻止黑客的这种行为,只有使DNS缓存服务器发出的查询请求使用动态的UDP端口,UDP的端口号也是16位2进制,这样,与DNS的ID号相结合,号码的命中率就是1/4294967296(2的32次方)。

也许您对下列信息感兴趣:
这是一段DNS投毒动画http://www.infobyte.com.ar/demo/evilgrade.htm
TCP会话劫持

论坛徽章:
0
2 [报告]
发表于 2008-10-17 16:01 |只看该作者
DNS中毒比较少见

论坛徽章:
0
3 [报告]
发表于 2008-10-17 16:01 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-10-17 19:32 |只看该作者
这个是黑客的人为攻击,杀毒软件也是没有办法的

论坛徽章:
0
5 [报告]
发表于 2008-10-17 21:30 |只看该作者
,杀毒软件在此米有任何用处~

论坛徽章:
0
6 [报告]
发表于 2008-10-18 21:57 |只看该作者
电信的经常用这招来做广告。
  比如输入www.163.com的时候最开始弹出的是一个电信的广告页面,然后才跳转

论坛徽章:
0
7 [报告]
发表于 2008-10-19 06:56 |只看该作者
我小试了一下, BIND中着一次, 感觉成功率不高啊

论坛徽章:
0
8 [报告]
发表于 2008-10-19 18:34 |只看该作者
原帖由 hmily36 于 2008-10-18 21:57 发表
电信的经常用这招来做广告。
  比如输入www.163.com的时候最开始弹出的是一个电信的广告页面,然后才跳转

好像只有像adsl用户才会碰到,企业用户还没有啊

论坛徽章:
0
9 [报告]
发表于 2008-10-23 09:28 |只看该作者
原帖由 cmdabab 于 2008-10-17 16:01 发表
病毒也是一年比一年厉害了,大家都装好最新的正版防病毒软件就是

那只是防毒啊,进攻方更有主动性啊

论坛徽章:
0
10 [报告]
发表于 2008-10-23 19:25 |只看该作者
你说的云安全的话相对有主动性
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP