DNS 劫持 – 嗨软 https://ihacksoft.com/archive 分享最好用的常用软件 Tue, 22 Nov 2022 02:41:09 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.26 锁定 DNS 防止被篡改 – DNS Lock 来帮忙! https://ihacksoft.com/archive/374.html https://ihacksoft.com/archive/374.html#respond Wed, 16 May 2018 07:23:46 +0000 https://ihacksoft.com/?p=384 DNS 被篡改的亲身经历,我感觉这是目前新型的一种广告植入方式。DNS一个最主要的作用就是将网站域名转换成对应的IP地址,这样浏览器就可以成功地进行拦截访问了。正是由于它的这一特性,有的病毒或者黑客就会对系统里面设置的DNS进行修改。]]>   Hack520.com 之前分享了 DNS 被篡改的亲身经历,我感觉这是目前新型的一种广告植入方式。DNS一个最主要的作用就是将网站域名转换成对应的IP地址,这样浏览器就可以成功地进行拦截访问了。正是由于它的这一特性,有的病毒或者黑客就会对系统里面设置的DNS进行修改。这样让用户在上网的时候就可能落入到黑客设定的网络陷阱里面,从而造成自己各种各样的损失。那么如何才可以防范系统的DNS被篡改呢?

DNS 防篡改

  我们知道现在很多安全软件都有一个防范浏览器首页链接被篡改的命令,其实我们只需要利用专业的软件就可以防范DNS被篡改。我们首先下载运行“Dns Lock”这款软件,在弹出窗口的“IPv4 DNS server”列表中,可以看到多组的DNS信息,其中最下面的那组就是用户正在使用的DNS。用户根据需要选择要用的DNS以后,点击“Install Service”按钮就可以利用系统服务的形式将DNS进行锁定。

]]>
https://ihacksoft.com/archive/374.html/feed 0
不怕 DNS 劫持了 – 全球免费公共 DNS 集合 https://ihacksoft.com/archive/360.html https://ihacksoft.com/archive/360.html#respond Mon, 14 May 2018 11:47:50 +0000 https://ihacksoft.com/?p=370   对于 DNS 劫持,之前文章中已有不少讨论,感兴趣的可以回过去阅读。虽然每一个网络运营商都提供有自己的DNS服务,但是由于不少运营商往往会在传输的过程中插入广告,让很多用户包括我自己都非常反感,所以身边很多朋友都开始使用第三方的DNS服务。那么网友应该从什么地方,去寻找需要的DNS服务信息呢?

  我们首先通过浏览器打开 http://public-dns.info/ 这个网站,这是一个收集公共DNS服务的网站。当用户打开这个网站以后,在网站首页的列表里面就显示出大量可以选择的DNS服务,用户只需要从中选择一个认为合适的DNS服务就可以了。需要提醒大家的是,在列表的“Location”选项里面显示的是DNS服务器所在的位置。除此以外,用户在选择以前一定要查看“Reliability”这个选项,因为这个参数代表服务器的稳定程度,建议用户从100%里面选择自己需要的DNS服务。

]]>
https://ihacksoft.com/archive/360.html/feed 0
DNS 居然被劫持了?网页广告乱跳 DNS 被篡改小记(图) https://ihacksoft.com/archive/353.html https://ihacksoft.com/archive/353.html#respond Fri, 11 May 2018 03:23:09 +0000 https://ihacksoft.com/?p=363   有时候会去国外的网站上下载一些软件供测试学习,前几天下载了一个破解补丁,大家都知道,杀毒软件会对此类程序报毒,所以运行前还特意关闭了 MSE。当然,如果是一些恶意的广告插件而非病毒,杀毒软件也查杀不出。破解补丁没问题,可以有效使用,然而后面却发生了情况。

  我发现在浏览正常网站的时候,点击一些链接居然自动跳转到国外的网站,一看那网站是软件宣传页,让你点击下载。我就发现不对劲了,一开始还以为是 Chrome 的某个插件或脚本有问题,试着禁用一些小众扩展后,发现问题依旧,奇怪了…于是想到了 DNS 劫持。

  赶紧检查DNS,结果,果然被劫持了,如下图:

DNS 劫持

DNS 劫持

  我两个本地连接和无线网络连接都首选 DNS 地址都被篡改了:82.163.143.176 和 82.163.142.178,两个 DNS 一定有问题!查了一下,居然是以色列的。马上去设置IP的地方修改DNS地址,结果改了之后 cmd - ipconfig /all,显然的依然是那两个恶意的地址。怎么回事?当时我还是第一次遇到这样的问题,同事说是不是中了恶意程序,在进程中监视修改,还特意下了个 360 DNS劫持专杀工具,结果提示正常:

DNS劫持专杀工具

  后来一想,肯定不是以进程监视的方式,因为你再次打开IP设置页,DNS 并没有被篡改,但是你在CMD下通过 ipconfig /all 命令查看,你设置的 DNS 地址就是排在两个恶意的 DNS 下面,这还有优先级的。于是一下子反应过来了,在IP设置页,点击下方的“高级”,切换到DNS选项卡,果然,这里有个顺序问题,把前面的 82.163.143.176 和 82.163.142.178 删除即可。最后全面检查系统,看是否还存有隐患。

]]>
https://ihacksoft.com/archive/353.html/feed 0
什么是 HTTP 劫持?与 DNS 劫持的区别是什么? https://ihacksoft.com/archive/331.html https://ihacksoft.com/archive/331.html#respond Mon, 07 May 2018 08:24:42 +0000 https://ihacksoft.com/?p=341   DNS 劫持与污染在上文中已经有过较为详细的讨论,这里再说说 HTTP 劫持(也叫网页劫持吧),以及与 DNS 劫持的区别。其实两者的区别是非常明显的,十分易于辨别。DNS劫持会整个跳转网页不同,HTTP 劫持往往只是在页面上添加一个小窗,但这小窗并不属于网页本身的广告,有时候无论你访问什么网页,这小窗都不会消失,甚是烦人。

  大家平时上网的时候应该遇到过,就是在不管打开什么网页,下方角落里有时候会出现一些小广告,有时候这些广告,不是访问的站点为了盈利而投放的广告,而是第三方的运营商提供的,这就是 HTTP 劫持。

  HTTP 劫持的原理就是在服务器和用户之间的信息传输之中添油加醋,这是由于信息没有被加密而造成的。用户请求了网站服务器,服务器返还网页给用户,在传输过程中就给了他人加料的机会。就算DNS服务器可靠,也无法防止HTTP劫持。

HTTP 劫持

HTTP 劫持的实现原理

  一般来说 HTTP劫持主要通过下面几个步骤来做:
标识HTTP连接。在天上飞的很多连接中,有许多种协议,第一步做的就是在TCP连接中,找出应用层采用了HTTP协议的连接,进行标识;
篡改HTTP响应体,可以通过网关来获取数据包进行内容的篡改;
抢先回包,将篡改后的数据包抢先正常站点返回的数据包先到达用户侧,这样后面正常的数据包在到达之后会被直接丢弃。

与 DNS 劫持的区别举例

DNS劫持的现象:你输入的网址是http://www.google.com,出来的是百度的页面;
HTTP劫持的现象:你打开的是知乎的页面,右下角弹出唐老师的不孕不育广告(2018年更:右下角弹出:偶系渣渣辉)。

DNS劫持就是你想去存钱运营商却把你拉到了劫匪手中;
而HTTP劫持就是你从服务器买了一包零食电信给你放了一坨屎,横竖都很恶心人。

DNS劫持是你想去医院的时候,把你给丢到火车站;
HTTP劫持是你去医院的时候,有人半途上车给你塞小广告。

DNS劫持:在DNS服务器中,将www.xxx.com的域名对应的IP地址进行了变化。你解析出来的域名对应的IP,在劫持前后不一样;
HTTP劫持:你DNS解析的域名的IP地址不变。在和网站交互过程中的劫持了你的请求。在网站发给你信息前就给你返回了请求。

HTTP 劫持解决方法

  对付HTTP劫持,最好的方法之一,就是使用HTTPS来连接网页。而使用HTTPS,在传输数据过程中,数据是加密的。就如同原先开车被人在车窗塞小广告,现在把窗都关紧,他人自然再也无法插足。

  HTTPS不仅可以防止HTTP劫持,也能够较好地防止DNS劫持,这是由于HTTPS的安全是由SSL来保证的,需要正确的证书,连接才会成立。如果DNS把域名解析到了不对应的IP,是无法通过证书认证的,连接会被终止。实际上,现在已经有越来越多的网站支持HTTPS,但为了兼容等问题,不少网站也同时提供HTTP连接,例如著名的视频网站哔哩哔哩。主动使用HTTPS来进行连接,不但有效防止网页劫持,还能够保护隐私。

  此外,还可以向运营商客服打电话申诉,要求他们撤除,不行的话向国家工信部投诉。

]]>
https://ihacksoft.com/archive/331.html/feed 0
通俗易懂:什么是DNS污染?什么是DNS劫持?区别又是什么? https://ihacksoft.com/archive/330.html https://ihacksoft.com/archive/330.html#respond Mon, 07 May 2018 07:04:10 +0000 https://ihacksoft.com/?p=340   本来我没有太关注 DNS 污染或 DNS 劫持,大慨了解一些,但不是很清晰,直到前几天自己的办公电脑“中招”了(后面发文详述),才开始重新好好学习一番。DNS 是 Domain Name Server 的意思,也就是域名解析服务的意思,这里不多解释了,因为你如果是通过搜索 DNS 劫持污染进来的,那么相信你一定了解了什么是 DNS 这个最基本的概念,本文着重解释下 DNS 污染与 DNS 劫持以及两者的区别。

什么是DNS劫持

  DNS劫持:DNS Hijacking。就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。

  DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

  举个例子易于理解:说到劫持,我们可能联想到一个坏蛋劫持了DNS服务器,拿着刀架在脖子上。这时候你问DNS服务器,博主帅吗?(发出请求)。DNS服务器听到了,他心里的答案是,好帅哦(返回正确ip地址)。由于坏蛋控制了他,并且对他做了修改。所以DNS只好不情愿的说,你真丑(错误的ip地址)。这个过程中,你和DNS服务器之间,一来一回,流程上没有任何问题,唯一的问题就是,DNS服务器告诉了你错误的ip地址。DNS也不想啊,但是有人控制了他的权限,或者修改了他的记录值等等。我们称为DNS劫持。类似我们使用网络的时候,明明访问的是普通网站,却突然跳到什么电信什么宣传页面一样。

DNS劫持示意图

什么是DNS污染

  DNS污染,又称为域名服务器缓存污染(DNS cache pollution)或者域名服务器快照侵害(DNS cache poisoning)。 DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址。它是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。DNS污染是发生在用户请求的第一步上,直接从协议上对用户的DNS请求进行干扰。

  DNS污染症状:目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube、Facebook等网站。

  还是举个例子易于理解:这招是GFW常用的。你访问google.com 因为人家服务器在国外,你的DNS过去解析,肯定要走国际带宽的出口,然后就被GFW逮住了。因为DNS 走的是UDP协议,且UDP又没有什么校验机制,只管发送。所以这时候,GFW就假装成DNS服务器回应你了,而此时真正的请求可能正在被真正的DNS服务器处理,假的已经返回给你了,浏览器就选择了最快返回的那个地址去解析了。当然是一个不可用的地址啦。

  因为DNS 走的UDP协议,并且是53端口,所以这有多好发现也就不言而喻了。如果你强行让DNS走TCP协议,GFW 有办法让你连接重置,虽然污染不了你的DNS,但是你还是无法获得ip。

  也就是为什么有一种FQ方式就叫修改host 文件,修改后,域名不需要去DNS服务器请求了,直接在你的操作系统里就已经解析出了ip 地址。但是,GFW还是会定期封杀这些网站的ip地址,你的host就没用了。

DNS污染示意图

DNS劫持与污染的区别

  DNS劫持——就是指用户访问一个被标记的地址时,DNS服务器故意将此地址指向一个错误的IP地址的行为。范例,网通、电信、铁通的某些用户有时候会发现自己打算访问一个地址,却被转向了各种推送广告等网站,这就是DNS劫持。

  你去解析一个不存在的域名的时候,DNS 本来应该告诉我们这个域名不存在,但是被劫持后 DNS 就会给我们解析出一个 IP。常见的情况就是电信 114 搜索。解决方法就是换成 Google DNS 就可以了解决了。

  DNS污染——指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。范例,访问Youtube、Facebook之类网站等出现的状况。

  你使用一个不存在的 IP (肯定不是 DNS )作为 DNS 去解析某个域名的时候,理应没有任何返回,但是却能返回一个错误 IP。为了证明是污染不是劫持,你再用这个不存在的 IP 去解析不存在的域名,这个时候你会发现没有任何返回,这就说明这个不存在的域名没有被污染。解决方法就是 DNSCrypt 什么的了。

]]>
https://ihacksoft.com/archive/330.html/feed 0