什么是DNS劫持
DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。
DNS劫持症状
在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的"电信互联星空"、"网通黄页广告"等内容页面。这些都属于DNS劫持。
DNS劫持原理
DNS(域名系统)的作用是把网络地址(域名,以一个字符串的形式)对应到真实的计算机能够识别的网络地址(IP地址),以便计算机能够进一步通信,传递网址和内容等。由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的域名服务器(DNS)能够返回正常的IP地址,高级用户可以在网络设置把DNS指向这些正常的域名服务器以实现对网址的正常访问。所以域名劫持通常相伴的措施——封锁正常DNS的IP。
DNS域名解析过程
1.输入网址
2.电脑发出一个DNS请求到本地DNS服务器(本地DNS服务器一般由网络接入商提供,中国移动、电信等)
3.本地服务器查询缓存记录,有则直接返回结果。没有则向DNS根服务器进行查询。(根服务器没有记录具体的域名和IP地址对应的关系)
4.告诉本地DNS服务器域服务器地址(此处为.com)
5.本地服务器向域服务器发出请求
6.域服务器告诉本地DNS服务器域名的解析服务器的地址
7.本地服务器向解析服务器发出请求
8.收到域名和IP地址的对应关系
9.本地服务器把IP地址发给用户电脑,并保存对应关系,以备下次查询
DNS,域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。
DNS的记录类型
域名与IP之间的对应关系,称为"记录"(record)。根据使用场景,"记录"可以分成不同的类型(type),前面已经看到了有A记录和NS记录。
常见的DNS记录类型如下:
A
地址记录(Address),返回域名指向的IP地址。
NS
域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。
MX
邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
CNAME
规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。
PTR
逆向查询记录(Pointer Record),只用于从IP地址查询域名。
一般来说,为了服务的安全可靠,至少应该有两条NS 记录,而A记录和MX记录
DNS劫持后果
大规模的DNS劫持,其结果往往是断网,因为大网站的访问量实在太大了,钓鱼网站的服务器可能会扛不住大流量的访问,瞬间就会瘫痪掉,网民看到的结果就是网页打不开。
网上购物,网上支付有可能会被恶意指向别的网站,更加加大了个人账户泄密的风险。
网站内出现恶意广告。
轻则影响网速,重则不能上网。‍
DNS劫持方法
方式一:利用DNS服务器进行DDOS攻击
正常的DNS服务器递归询问过程可能被利用成DDOS攻击。
假设攻击者已知被攻击机器IP地址,然后攻击者使用该地址作为发送解析命令的源地址。这样当使用DNS服务器递归查询后,DNS服务器响应给最初用户,而这个用户正是被攻击者。那么如果攻击者控制了足够多的肉鸡,反复的进行如上操作,那么被攻击者就会受到来自于DNS服务器的响应信息DDOS攻击,下为攻击原理。
攻击者发送控制信号给肉鸡群机器。肉鸡群机器针对这个递归DNS不断的执行这条记录的查询。本地的DNS服务器首先在它的本地表(或缓存)中进行查找"查找"www.idcbest.com",如果找到将其返回客户端,如果没有发现,那么DNS服务器发送一个查询给根服务器,来查询"www.idcbest.com"的IP地址。
根服务器收到讯息(信息)后会回应"www.idcbest.com""顶级域(TLD)服务器的地址。然后由本地的DNS服务器联系顶级域名(TLD)服务器来确定"确定"www.idcbest.com"的IP地址。
顶级域(TLD)服务器会回应针对"www.idcbest.com"的名称的服务器地址。本地DNS服务器联系得到的"www.idcbest.com"的名称服务器来确定它的IP地址。
递归DNS获得了某域名的IP地址后,把所有信息都回复给源地址,而此时的源地址就是被攻击者的IP地址了。如果攻击者拥有着足够多的肉鸡群,那么就可以使被攻击者的网络被拖垮至发生中断。
利用DNS服务器攻击的重要挑战是,攻击者由于没直接与被攻击主机进行通讯,隐匿了自己行踪,让受害者难以追查原始的攻击来源。相对比较好的解决办法就是可取消DNS服务器中允许人人查询网址的递回(recursive)功能。
方式二:DNS缓存感染
攻击者使用DNS请求,将数据放入一个具有漏洞的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给用户,从而把用户客户对正常域名的访问引导到入侵者所设置挂马、钓鱼等页面上,或者通过伪造的邮件和其他的server服务获取用户口令信息,导致客户遭遇进一步的侵害。
方式三:DNS信息劫持
原则上TCP/IP体系通过序列号等多种方式避免仿冒数据的插入,但入侵者如果通过监听客户端和DNS服务器的对话,就可以猜测服务器响应给客户端的DNS查询ID。
每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。
攻击者在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。假设当提交给某个域名服务器的域名解析请求的数据包被截获,然后按截获者的意图将一个虚假的IP地址作为应答信息返回给请求者。这时,原始请求者就会把这个虚假的IP地址作为它所要请求的域名而进行连接,显然它被欺骗到了别处而根本连接不上自己想要连接的那个域名。
方式四:DNS重定向
攻击者如果将DNS名称查询重定向到恶意DNS服务器。那么被劫持域名的解析就完全置于攻击者的控制之下。
方式五:ARP欺骗
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过"ARP欺骗"手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP欺骗通常是在用户局网中,造成用户访问域名的错误指向,但在IDC机房被入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,而李代桃僵,以使访问导向错误指向的情况。
方式六:本机劫持
在计算机系统被木马或流氓软件感染后可能会出现部分域名的访问异常,如访问挂马或者钓鱼站点、无法访问等情况,本机劫持有hosts文件篡改、本机DNS劫持、SPI链注入、BHO插件等方式,虽然并非都通过DNS环节完成,但都会造成无法按照用户意愿获得正确的地址或者内容的后果。
如何防止DNS劫持
1、互联网公司准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名。
2、手动修改DNS:
在地址栏中输入:http://192.168.1.1 (如果页面不能显示可尝试输入:http://192.168.0.1)。
填写您路由器的用户名和密码,点击"确定"。
在"DHCP服务器—DHCP"服务中,填写主DNS服务器为更可靠的114.114.114.114地址,备用DNS服务器为8.8.8.8,点击保存即可。
3、修改路由器密码:
在地址栏中输入:http://192.168.1.1 (如果页面不能显示可尝试输入:http://192.168.0.1)
填写您路由器的用户名和密码,路由器初始用户名为admin,密码也是admin,如果您修改过,则填写修改后的用户名和密码,点击"确定"
填写正确后,会进入路由器密码修改页面,在系统工具——修改登录口令页面即可完成修改(原用户名和口令和2中填写的一致)
历史著名DNS劫持案例
新浪:DNS服务器出现域名无法解析故障
2012年1月30日,正值春节之后的工作日,新浪网却惨遭访问故障,部分地区出现无法访问的情况,联通用户影响尤为严重。根据新浪官方声明,正是因为DNS服务器出现域名无法解析故障所致。该次故障持续时间较短,但鉴于新浪在国内的影响力,所以本次事件不得不提。
某知名CDN服务商:DNS故障致多家知名网站断线时间超一小时
2013年1月27日,某知名CDN服务商DNS故障导致不少大客户断线时间超过一小时,包括163、腾讯、凤凰网、百度、多玩、m1905、乐视网以及12306在内的知名网站在部分地区的访问受到影响。官方称是技术升级中一模块故障导致,但有消息指出,真正的原因是系统故障,因公司年会无人监控导致应急处理速度降低。
.CN域名:"遭攻击"致大面积瘫痪
2013年8月25日,.cn域名解析节点受到拒绝服务攻击,受到影响的包括新浪微博客户端及一些.cn网站。根据DNSPod的监控显示,CN的根域授权DNS全线故障,所有CN域名均无法解析。