数据读取中...
 您当前位置:惠州维修 -> 网络-> 黑客技术交流 文章搜索:  
DNS欺骗
作者:转载 来源:惠州维修
日期: 2005-2-13
放大字体显示 缩小字体显示 打印文章 推荐给朋友
  【摘要】  
  DNS欺骗可以用来上BBS隐藏ip,但其作用远远不止这些。  

  【简述】 
  熟悉网络的人都知道,当客户向一台服务器请求服务时,服务器方一般会 根 
据客户的ip反向解析出该ip对应的域名。这种反向域名解析就是一个查DNS(Domain 
Name Service)的过程。  

  如果客户的ip对应有域名,那么DNS查询会返回其域名。服务器端得到这一机 
器名后会将其记录下来并传递给应用程序,于是我们可以看到有人上bbs来自 
argo.zsu.edu.cn,其实她来自202.116.64.6--“逸 仙 时 空” BBS。细心的人会 
发现BBS上显示ip的栏是有长度局限的,因此若客户机的域名足够长便可隐藏住自 
己机器名,如parallelcomput其实是parallelcomputing.xx.xxx.xxx.xx。这便是 
隐藏ip的方法之一,此法要和网管比较熟或者咱自己就是DNS网管。  

  但是您和您的网管熟吗?反正偶不熟。  

  让我们换个思路:如果服务器在进行DNS查询时能够人为地给它我们自己的应 
答信息结果会怎样呢?答案显然不用我说了,这就是著名的DNS欺骗( 
dnsspoofing)。说实话,DNS欺骗威力巨大,把它用来在BBS上隐藏ip实在是杀鸡 
用牛刀。  

  【详述】  
  现有的大多数DNS服务实现存在两个比较“好”的性质。  

  其一为当DNS服务器收到一合法的DNS应答信息时它会接受这一返回包中的所有 
信息,并存入CACHE。举一个例子:在10.10.1.2的用户要TELNET到100.100.100. 
100上,100.100.100.100使用的DNS为100.100.100.200。三次握手后100. 
100.100.100会向100.100.100.200发一PTR类型的DNS查询(由IP查主机名):  
100.100.100.100 -> 100.100.100.200 [Query] 
NQY: 1 NAN: 0 NNS: 0 NAD: 0 
QY: 2.1.10.10.in-addr.arpa PTR  

  而100.100.100.200并没有关于用户IP对应域的信息。它首先根据DNS协议极其 
配置查找出10.10.1.2的授权DNS服务器--10.10.1.5。然后向其发出查询包:  
100.100.100.200 -> 10.10.1.5 [Query] 
NQY: 1 NAN: 0 NNS: 0 NAD: 0 
QY: 2.1.10.10.in-addr.arpa PTR  

  这里隐蔽了iterative与recursive两种方式的区别,一般的DNS设置为  
iterative,recursive为可选。详见rfc1034。 
10.10.1.5收到该查询信息后便可返回10.10.1.2对应的域名:  
10.10.1.5 -> 100.100.100.200 [Answer] 
NQY: 1 NAN: 2 NNS: 1 NAD: 1 
QY: 2.1.10.10.in-addr.arpa PTR 
AN: 2.1.10.10.in-addr.arpa PTR client.host.com 
AN: client.host.com A 10.10.1.2 
NS: 1.10.10.in-addr.arpa NS ns.host.com 
AD: ns.host.com A 10.10.1.5  

  返回的包中给出了10.10.1.2对应的域名为client.host.com,并指出client. 
host.com对应的IP为10.10.1.2(请注意这两个对应的是不同的概念!)。如果这 
个返回包能由我们给出,岂不是爽呆了!  

  那么怎么做呢?可以控制住你的DNS,然后你想设成什么就是什么。但是太暴 
力了,偶不推荐这种方式 。还有更温和的方法--如果局域网内有DNS服务器,那么 
可以通过监听、响应的方法实现DNS欺骗。  

  即先sniff传到局域网来的DNS查询包,然后代替本网段的DNS服务器给出应答 
信息(罗嗦了这么多,这里最重要,呵呵)。  

  但是本网段的DNS服务器也会同时给出应答信息,这样我们构造的包与它的包 
会有冲突,通常是我们的慢 。这样的DNS欺骗是不成功的。  

  为了获得稳定的DNS欺骗的效果,这就涉及到DNS实现的第二个“好”的性质: 

  当DNS服务器发查询包时,它在包内设有一query id,answer只有queryid及 
ip都对上时才能为服务器所接受。而这一id每次加一,所以可以通过第一次向要欺 
骗的DNS SERVER发一个查询并监听到该id值,随后再发一查询,紧接着马上send我 
们构造好的应答包,包内的query id为预测的query id值(可以指定一个范围,比 
如从previous_id+1到previous_id+100)。  

  接上例,如10.10.1.2的用户要欺骗100.100.100.100,他可以对100.100. 
100.200进行欺骗: 11.11.11.11 -> 100.100.100.200 [Query] 
NQY: 1 NAN: 0 NNS: 0 NAD: 0 
QY: 12345.host.com A  

  由于host.com的域名由10.10.1.5控制,100.100.100.200向10.10.1.5发查询 
包: 100.100.100.200 -> 10.10.1.5 [Query] 
NQY: 1 NAN: 0 NNS: 0 NAD: 0 QID: 2345 
QY: 12345.host.com A  
10.10.1.2的用户可以监听到给包,得到QID: 2345。然后再向100.100.100.200发 

第二次查询: 11.11.11.11 -> 100.100.100.200 [Query] 
NQY: 1 NAN: 0 NNS: 0 NAD: 0 
QY: 67890.host.com A  

紧接着发带预测QID的应答包:  
10.10.1.5 -> 100.100.100.200 [Answer] 
NQY: 1 NAN: 0 NNS: 0 NAD: 0 QID: 2346 
QY: 2.1.10.10.in-addr.arpa PTR 
AN: 2.1.10.10.in-addr.arpa PTR you.want.name  

you.want.name就是用户自己指定的域名。注意发这个包时应该用10.10.1.5这一 
IP地址,且query id为2346=2345+1。 
大功告成!##$##^  

【后记】  
如果您对DNS不熟甚至根本不知其为何物那么请您先参考有关DNS的文档.
文章页数:[1] 
帮助你我他: 1.我有问题请教 2.我要投稿>>>
更多相关资料搜索:
热点文章
最新文章
相关文章
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: