DNS劫持

DNS劫持简介


什么是DNS?

一提起DNS,我们就能想到DNS服务器,这是提供域名解析服务的

再互联网中,计算机之间的通信靠的是ip地址,计算机时不会根据域名去寻找另外一台计算机的

而我们的DNS服务器可以把某个域名指向某个地址,这就是域名解析

比如我们在ping百度的时候,会得到来自xxx的回复

DNS劫持_第1张图片

注意:正常情况下,我们应该是可以通过IP直接访问网站的,但是,有些网站做了IP限制,我们只能通过域名才能访问

DNS解析原理及步骤

DNS 查询时,会先在本地缓存中尝试查找,如果不存在或是记录过期,就继续向DNS服务器发起递归查询,这里的DNS服务器一般就是运营商的 DNS 服务器

DNS解析查询步骤如下

  1. 客户机提出域名解析请求,并将该请求发送给本地的域名服务器
  2. 当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果(域名对应的IP地址)返回
  3. 如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址
  4. 本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址
  5. 重复第四步,直到找到正确的纪录
  6. 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机

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劫持又称域名劫持,是指通过某些手段取得某域名的解析控制权,修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址。

如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站的主页了,这就是DNS劫持的基本原理。

DNS劫持其实并不是真的“黑掉”了对方的网站,而是冒名顶替

DNS劫持利用方式及危害


利用DNS服务器进行DDOS攻击

正常的DNS服务器递归查询过程可能被利用成DDOS攻击

假设攻击者已知被攻击机器的IP地址,然后攻击者使用该地址作为发送解析命令的源地址

这样当使用DNS服务器递归查询后,DNS服务器响应给最初用户,而这个用户正是被攻击者

那么如果攻击者控制了足够多的肉鸡,反复的进行如上操作,那么被攻击者就会受到来自于DNS服务器的响应信息DDOS攻击

DNS缓存感染

攻击者使用DNS请求,将数据放入一个具有漏洞的的DNS服务器的缓存当中

这些缓存信息会在客户进行DNS访问时返回给用户,从而把用户客户对正常域名的访问引导到入侵者所设置挂马、钓鱼等页面上,或者通过伪造的邮件和其他的server服务获取用户口令信息,导致客户遭遇进一步的侵害

DNS信息劫持

TCP/IP体系通过序列号等多种方式避免仿冒数据的插入,但入侵者如果通过监听客户端和DNS服务器的对话,就可以猜测服务器响应给客户端的DNS查询ID

每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置

攻击者在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站

假设当提交给某个域名服务器的域名解析请求的DNS报文包数据被截获,然后按截获者的意图将一个虚假的IP地址作为应答信息返回给请求者

原始请求者就会把这个虚假的IP地址作为它所要请求的域名而进行访问,这样他就被欺骗到了别处而无法连接想要访问的那个域名

DNS重定向

攻击者将DNS名称查询重定向到恶意DNS服务器上,被劫持域名的解析就完全在攻击者的控制之下

这个我们可能会经常遇到

ARP欺骗

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP病毒,则感染该ARP病毒的系统将会试图通过”ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

ARP欺骗通常是在用户局域网中,造成用户访问域名的错误指向。如果IDC机房也被ARP病毒入侵后,则也可能出现攻击者采用ARP包压制正常主机、或者压制DNS服务器,以使访问导向错误指向的情况。

我们可以使用ettercap或者arpspoof来实现dns劫持

本机劫持

本机的计算机系统被木马或流氓软件感染后,也可能会出现部分域名的访问异常。如访问挂马或者钓鱼站点、无法访问等情况。本机DNS劫持方式包括hosts文件篡改、本机DNS劫持、SPI链注入、BHO插件等方式

你也可以破解路由器,直接更改路由器的dns设置

DNS劫持防御


如何防止DNS劫持?

  • 为防止DNS劫持,始终建议使用良好的安全软件和防病毒程序,并确保定期更新软件
  • 安全专家建议使用公共DNS服务器
  • 最好定期检查您的DNS设置是否已修改,并确保您的DNS服务器是安全的
  • 建议使用复杂的密码重置路由器的默认密码
  • 使用DNS注册器时使用双因素身份验证,并修补路由器中存在的所有漏洞以避免危害
  • 最好远离不受信任的网站,避免下载任何免费的东西

如果您已被感染,建议删除HOSTS文件的内容并重置Hosts File

你可能感兴趣的:(内网渗透)