是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址。一般来说,外间在互联网上一般都有可信赖的域名服务器,但为减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。域名服务器缓存污染可能是通过域名服务器软件上的设计错误而产生,但亦可能由别有用心者通过研究开放架构的域名服务器系统来利用当中的漏洞。
文章目录
详解
验证方法
解决方案
分析:
它的查询方式一般有两种.迭代和递归,我们一般在客户端到服务器之间做递归查询,什么是递归呢?也就是你告诉你本机设置的dns服务器,我要知道一个域名对应的IP是多少?然后你的dns服务器会在公网各dns上轮回性的询问这个域名对应的IP,一直找到为止.不用自己跑腿.这样做的好处是不用消耗太多的本机资源.服务器与服务器之间做迭代查询(DNS到DNS的查询),也就是当查询一个域名的IP时,其中一个dns找不到,然后直接告诉你我找不到,你去问问另一个dns吧,你接着在询问下一个dns,说的有点笼统,不好意思了.你可以通过ping与tracert来找到一个快速的dns服务器,来满足你的上网需求.不过有些dns可不能要.呵呵
不多说,让们来了解下何为dns污染与劫持?
DNS劫持原理
DNS劫持就是dns系统被入侵或人为的修改某些记录,如A记录,这个做过dns服务器的朋友一定不陌生想当年百度被黑事件.就是因为它注册的dns服务器被人入侵,修改了A记录,结果上了一个垃圾网站.可见一个dns的安全不可小视,通过这样的劫持可以实现很多欺骗,后果不堪设想.用专业的术语来讲就是通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。
实例:
咱们就拿被国家屏蔽的twitter.com站点来说吧,你看看这个混蛋dns,我问它两次,它两都告诉我假的IP.你怎么知道这个IP不是真的呢?一开始,说实在的我也不知道是真的假的,后来我为了弄清楚,用国内几家域名到IP的解析网站,解析后,晕啊!都是错误的.可见国家”禁”的牛逼啊!你怎么知道它们解析的也不对呢?呵呵,其实我用网页代理均一一试过的,没有一个IP能打开其网页.汗,无奈之下,我找了个国外的domin to ip,域名为:http://dawhois.com/ 嘿嘿!
这是其真正的twitter.com的ip地址,解析正确.网页代理通过IP上其网站也OK.不过要说一下的是,别想着用IP直接上这个网站,IP可能早已被ACL了吧!这叫多重封杀.还有个办法就是用dns根服务器解析也可以.为什么说它是劫持呢?通过查看其TTL,我们发现不论解析常规域名还是被禁域名,返回TTL一般都是一个值,也就是同一个服务器返回,这样就可以证明.污染会是什么情况呢?
DNS污染原理
DNS污染是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果.DNS污染的数据包并不是在网络数据包经过的路由器上,而是在其旁路产生的。所以DNS污染并无法阻止正确的DNS解析结果返回,但由于旁路产生的数据包发回的速度较国外DNS服务器发回的快,操作系统认为第一个收到的数据包就是返回结果,从而忽略其后收到的数据包,从而使得DNS污染得逞。
实例:
来看看这个吧!这个就更牛了,我问了一声谁是twitter.com?他妈的居然这么多回应.从前面图中我们知道了真正twitter.com的ip, 然后看上图中便可知道哪个是不正确的twitter.com域名解析。.就像上面讲的那样污染的数据包总是快上一步,先到达客户端,并且旁路由并不能阻止正确dns的解析结果返回,这个就是典型的dns污染。
接着分析:上图中,我连续解析了两个域名:一个为twitter.com,一个为我的博客www.wildlee.org地址。 twitter.com这个域名得到了三个回复,咱们先看看客户端得到什么答案吧!
客户端总是响应先到的回应包,对于后到达的正确的域名解析结果就会不予理睬,这样就轻而易举的被骗了。我们在看看正确解析到IP的那个数据包的TTL值是52吧,在看下www.wildlee.org(IP是对的)这个解析包的TTL,也是52吧!这才是正直IP为208.67.222.222的产生的回复包,至于前两个错误的IP解析,当然是网络中其它主机的欺骗了。
我们在来看下我本机IP到dns服务器IP所经过的跳数吧!
如果要得到dns的回复,就必须要经过13个路由,好,现在我修改编辑数据包,让它的跳数小于13,看我们还能不能得到解析,结果还是能得到解析,不多说了。
以上实例所用dns服务器为两个不同IP,分别用于演示dns的劫持与污染。dns的劫持与污染可用于犯罪,也可用于屏蔽网站。现在好多家用adsl ,有时分明能上QQ,能下载,但就是网页”您所访问的网址无法到达,您可尝试重新访问”???让人莫名其妙~~我看啊,不能和这些东西脱得了关系啊!
最近听我一好友说某些地区电信禁止多电脑连网,它所认为的不正当上网.原理好像就是用TTL来辨别的,因为经过咱们路由,TTL将减一.
评论