- 热门文章:
- · 虚拟路由器简介
- · 随心订制linux透明防火墙
- · 硬盘数据丢失后的解决方法
- · FlashGet最新绝密曝光
- · Transact-SQL语句总汇
- · 防范非法用户入侵系统秘籍
- · 磁盘碎片分析报告巧利用
- · 带你亲手打造QQ破解器
- · 在Ultraedit中用宏实现将选中的代码设置为注释
- · 画图程序制作头像图片全过程
- · 欺骗黑客的一种有效方法
- · 电子邮件头全揭密
上一篇:Java入门需掌握的30个基本概念 >>
几个DNS欺骗的利用原理
1>.dns欺骗
在dns的缓存还没有过期之前,如果在dns的缓存中已经存在的记录,一旦有客户查询,dns服务器将会直接返回缓存中的记录.
下面我们来看一个例子:
一台运行着unix的internet主机,并且提供rlogin服务,它的ip地址为123.45.67.89,它使用的dns服务器(即/etc/resolv.conf中指向的dns服务器)的ip地址为98.76.54.32,某个客户端(ip地址为38.222.74.2)试图连接到unix主机的rlogin端口,假设unix主机的/etc/hosts.equiv文件中使用的是dns名称来允许目标主机的访问,那么unix主机会向ip为98.76.54.32的dns服务器发出一个ptr记录的查询:
123.45.67.89 -> 98.76.54.32 [query]
nqy: 1 nan: 0 nns: 0 nad: 0
qy: 2.74.222.38.in-addr.arpa ptr
ip为98.76.54.32的dns服务器中没有这个反向查询域的信息,经过一番查询,这个dns服务器找到38.222.74.2和38.222.74.10为74.222.38.in-addr.arpa.的权威dns服务器,所以它会向38.222.74.2发出ptr查询:
98.76.54.32 -> 38.222.74.2 [query]
nqy: 1 nan: 0 nns: 0 nad: 0
qy: 2.74.222.38.in-addr.arpa ptr
请注意,38.222.74.2是我们的客户端ip,也就是说这台机子是完全掌握在我们手中的.我们可以更改它的dns记录,让它返回我们所需要的结果:
38.222.74.2 -> 98.76.54.32 [answer]
nqy: 1 nan: 2 nns: 2 nad: 2
qy: 2.74.222.38.in-addr.arpa ptr
an: 2.74.222.38.in-addr.arpa ptr trusted.host.com
an: trusted.host.com a 38.222.74.2
ns: 74.222.38.in-addr.arpa ns ns.sventech.com
ns: 74.222.38.in-addr.arpa ns ns1.sventech.com
ad: ns.sventech.com a 38.222.74.2
ad: ns1.sventech.com a 38.222.74.10
当98.76.54.32的dns服务器收到这个应答后,会把结果转发给123.45.67.98,就是那台有rlogin服务的unix主机(也是我们的目标 :) ),并且98.76.54.32这台dns服务器会把这次的查询结果缓存起来.
这时unix主机就认为ip地址为38.222.74.2的主机名为trusted.host.com,然后unix主机查询本地的/etc/hosts.equiv文件,看这台主机是否被允许使用rlogin服务,很显然,我们的欺骗达到了.
在unix的环境中,有另外一种技术来防止这种欺骗的发生,就是查询ptr记录后,也查询ptr返回的主机名的a记录,然后比较两个ip地址是否相同:
123.45.67.89 -> 98.76.54.32 [query]
nqy: 1 nan: 0 nns: 0 nad: 0
qy: trusted.host.com a
很不幸,在98.76.54.32的dns服务器不会去查询这个记录,而会直接返回在查询2.74.222.38.in-addr.arpa时得到的并且存在缓存中的信息:
98.76.54.32 -> 123.45.67.89 [query]
nqy: 1 nan: 1 nns: 2 nad: 2
qy: trusted.host.com a
an: trusted.host.com a 38.222.74.2
ns: 74.222.38.in-addr.arpa ns ns.sventech.com
ns: 74.222.38.in-addr.arpa ns ns1.sventech.com
ad: ns.sventech.com a 38.222.74.2
ad: ns1.sventech.com a 38.222.74.10
那么现在unix主机就认为38.222.74.2就是真正的trusted.host.com了,我们的目的达到了!
这种ip欺骗的条件是:你必须有一台internet上的授权的dns服务器,并且你能控制这台服务器,至少要能修改这台服务器的dns记录,我们的欺骗才能进行.
2>.拒绝服务攻击 denial of service
还是上面的例子,如果我们更改位于38.222.74.2的记录,然后对位于98.76.54.32的dns服务器发出2.74.222.38.in-addr.arpa的查询,并使得查询结果如下:
因为74.222.38.in-addr.arpa完全由我们控制,所以我们能很方便的修改这些信息来实现我们的目的.
38.222.74.2 -> 98.76.54.32 [answer]
nqy: 1 nan: 2 nns: 2 nad: 2
qy: 2.74.222.38.in-addr.arpa ptr
an: 2.74.222.38.in-addr.arpa ptr trusted.host.com
an: www.company.com a 0.0.0.1
ns: 74.222.38.in-addr.arpa ns ns.sventech.com
ns: 74.222.38.in-addr.arpa ns ns1.sventech.com
ad: ns.sventech.com a 38.222.74.2
ad: ns1.sventech.com a 38.222.74.10
这样一来,使用98.76.54.32这台dns服务器的用户就不能访问www.company.com了,因为这个ip根本就不存在!
3>.偷取服务 theft of services
还是上面的例子,只是更改的查询结果如下:
38.222.74.2 -> 98.76.54.32 [answer]
nqy: 1 nan: 3 nns: 2 nad: 2
qy: 2.74.222.38.in-addr.arpa ptr
an: 2.74.222.38.in-addr.arpa ptr trusted.host.com
an: www.company.com cname www.competitor.com
an: company.com mx 0 mail.competitor.com
ns: 74.222.38.in-addr.arpa ns ns.sventech.com
ns: 74.222.38.in-addr.arpa ns ns1.sventech.com
ad: ns.sventech.com a 38.222.74.2
ad: ns1.sventech.com a 38.222.74.10
这样一来,一个本想访问http://www.competitor.com的用户会被带到另外一个地方,甚至是敌对的公司的竹叶(想想把华为和北电联起来是什么样的感觉. :) ).并且发给company.com的邮件会被发送给mail.compertitor.com.(越来越觉得在网络上的日子不踏实! xxbin这样想).
4>.限制
对这些攻击,也有一定的限制.
首先,攻击者不能替换缓存中已经存在的记录.比如说,如果在98.76.54.32这个dns服务器上已经有一条www.company.com的cname记录,那么攻击者试图替换为www.competitor.com将不会成功.然而,一些记录可以累加,比如a记录,如果在dns的缓存中已经存在一条www.company.com的a记录为1.2.3.4,而攻击者却欺骗dns服务器说www.company.com的a记录为4.3.2.1,那么www.company.com将会有两个a记录,客户端查询时会随机返回其中一个.(呵呵,这不是loading balance么?)
其次,dns服务器有个缓存刷新时间问题,如果www.netbuddy.org的ttl为7200,那么dns服务器仅仅会把www.netbuddy.org的信息缓存7200秒或者说两个小时.如果攻击者放入一条tll为604800的a记录,那么这条记录将会在缓存中保存一周时间,过了默认的两天后,这个dns服务器就会到处"分发"攻击者假造的记录.
下面是常用的几种可以累加和不能累加的记录:
a can add
ns can add
mx can add
ptr cannot add
cname cannot add
()
下一篇:虚拟路由器简介 >>
相关文章:
- · 格式化硬盘数据删不净 信息露不停
- · 禁用QQ的办法
- · 双系统的安装和启动原理
- · DEBUG命令大全
- · Linux中的一些常用操作方法
- · 提高系统内存效能的五大技巧
- · 自动完成密码查看攻略
- · DOS常用命令详解
- · 端口的基本概念
- · 诊断排除基本的 TCP/IP 问题
- · TCP/IP协议的简单说明
- · 选择局域网中的通信协议
- · IP网络路由技术
- · 双网卡负载均衡及路径切换配置
- · SNIFFER的含义和工作原理
- · 一山还比一山高!破解“隐身”的几大绝招
- · Windows Xp系统密码遗忘解决办法
- · 建立注册DLL和反注册DLL文件的快捷方式
- · 自动登录qq的小方法
- · 应对网络尖兵 实现共享上网
- · NAT技术全功略——从服务器到路由器
- · 封锁疯狂下载的办法 route-map
- · SATA磁盘和ZIP有冲突?
- · 特络伊木马“加/脱壳”的实现
- · ADSL防御黑客进攻的方法
- · 系统文件夹详解
- · IE浏览器链接栏使用技巧四则
- · 计算机系统“死机”的原因及其预防方法
- · 打造Windows下的万能播放平台
- · 江民大型网络安全整体解决方案
- · 即时通讯安全问题大曝光
- · 管理员组获取系统权限的完美解决方案
- · SQL恢复XP_CMDSHLL,以及XPLOG70.DLL被删,直接用SQL连接器开启3389
- · 破解网络尖兵
- · 修改Win2000注册表以加强系统安全
- · Windows内置的事件查看器可解决系统故障
- · 对linux安全设置中需要注意和掌握的地方
- · Web网站安全需澄清五个误解
