如何避免DNS劫持攻击?

by admin on 2020年3月13日

Linux.org 昨日遭到恶意 DNS
劫持,攻击者将其指向了一个新的页面,上面包含一些非常粗俗的内容以表达自己对
Linux 社区和 Linux 此前制定的行为准则的不满。

转自:Freebuf.COM
本文概要:本篇文章主要讲解了局域网内的DNS劫持的方法,原理,防范以及撘环境复现

澳门新葡亰网址下载 1

澳门新葡亰网址下载 2

0×01 原理

DNS决定的是我们的域名将解析到哪一个IP地址的记录,是基于UDP协议的一种应用层协议

这个攻击的前提是攻击者掌控了你的网关(可以是路由器,交换机,或者运营商),一般来说,在一个WLAN下面,使用ARP劫持就可以达到此效果。

你在访问一个网站的过程中,经历了如下几个阶段:

以访问freebuf的主页为例:

1.地址栏输入:freebuf.com
2.访问本机的hosts文件,查找:freebuf.com, 所对应的 IP,若找到,则访问该IP
3.若未找到,则进行这一步,去(远程的)DNS服务器上面找freebuf.com 的IP,访问该IP

澳门新葡亰网址下载,可以通过Wireshark抓包来看一下这个过程

  • 这是一个发向baidu.com的DNS请求
![](https://upload-images.jianshu.io/upload_images/5366157-6f8eb64138588df0.png)
  • 这是DNS服务器返回的内容:
![](https://upload-images.jianshu.io/upload_images/5366157-3667b5f9d244b84d.png)
  • 中间人劫持就发生在第三步:由于恶意攻击者控制了你的网关,当你发送了一个查找freebuf.com的IP的请求的时候,中间人拦截住,并返回给你一个恶意网址的IP,你的浏览器就会把这个IP当做你想要访问的域名的IP!!这个IP是攻击者搭建的一个模仿了目标网站前端界面的界面,当你在该界面输入用户名密码或者付款操作的时候,就会中招。

  • 由于DNS劫持导向的界面的URL是完全正确的,因此
    这类攻击一般极难分辨!

![](https://upload-images.jianshu.io/upload_images/5366157-63c1c2b61d2ffd52.png)
  • 攻击者可以将网页的前端做的极为完善!几乎和原网页一模一样,各种链接,也都指向正确的地方,只有这个登陆框是有问题的,一旦输入用户名密码就会被攻击者所接受到。

DNS劫持攻击亦称为DNS重定向是一种网络攻击,攻击者劫持用户的DNS请求,错误地解析网站的IP地址,用户试图加载,从而将其重定向到网络钓鱼站点。

Linux.org 并不是 Linux
基金会旗下的官方网站,它将自己描述为“一个友好的社区,人们来这里学习并帮助解决
Linux 问题”。该网站似乎不存储代码或敏感数据。

0×02 防范

一般来说,这种攻击的防范是很难的!因为URL和页面都是正常的,不是对web技术有很深了解的人根本无从下手(如果攻击者的页面复原的足够真实的话,但是我们还是有一些方法来进行防范的

  • 使用SSL(HTTPS)进行登录,攻击者可以得到公钥,但是并不能够得到服务器的私钥
  • 当浏览器提示出现证书问题的时候,谨慎,再谨慎!确定你所在的网络环境是安全的,该网站是可信的再去访问。
  • 不在连接公共wifi的时候随意进行登陆操作

澳门新葡亰网址下载 3

如果出现了像上图这样的提示,那么有两种可能:

  • 一种是服务器的HTTPS证书没有正确的配置,
  • 另一种就是你可能遭到了中间人劫持,数字证书无法通过浏览器的验证

一般来说,只有一些公司和学校的内网,一些个人站,和(12306)
,会遭遇证书配置的问题。其他的正常大型站点,尤其是我们经常使用的一些网站,不会出现此类问题,而需要登录的,经常遭遇钓鱼的,正是这些站点。因此,遭遇这种情况的时候,一定不要轻易的填写用户名和密码。

这种攻击的影响的范围一般是很小的,只局限鱼一个内网的范围,总体来说还是不必担心过多,当然,如果是运营商劫持,那就另当别论,不过运营商劫持一般也只是插入广告,不会大胆的直接用这种方式进行钓鱼攻击。

攻击涉及破坏用户的系统DNS(TCP / IP)设置,以将其重定向到“Rogue
DNS”服务器,从而使默认DNS设置无效。要执行攻击,攻击者要么在用户的系统上安装恶意软件,要么通过利用已知漏洞或破解DNS通信来接管路由器。因此,用户将成为域欺骗或网络钓鱼的受害者。

除了谩骂内容之外,攻击者还贴出一张“菊花”照片,疑似嘲讽 Linux
社区的维护者。

0×03 攻击者的目的

DNS劫持攻击的类型

澳门新葡亰网址下载 4

钓鱼攻击盗取密码

诱导用户进行填写登录表单的操作,将POST的地址改为自己的服务器地址,以获取受害者的用户名和密码

特别注意:
有一种这样的情况,用户在填入表单之后,用户犹豫了,并未点击提交/登录
之类的按钮以发送提交表单,但是此时,输入的内容已经通过ajax的方式发送了出去。

function submit() {
var data = {
name: $("#username").val(),
password: $("#password").val(),
};
$("#submit").attr('disabled', 'disabled');
$.post("/xxx.php",data,function(text){
$("#success").text(text);
if(text === "信息不完整,请重新输入!"){
$("#submit").removeAttr('disabled')
}else{
}
})
}

一般来说,这样的submit函数应该是在按钮被点击之后执行,但是攻击者可以可以在用户每一次输入的动作之后使用on事件来执行这个函数,可以使得用户不点击就发送。

本地DNS劫持攻击
在本地DNS劫持中,攻击者在用户系统上植入恶意软件并修改本地DNS设置,因此用户的系统现在使用由攻击者控制的DNS服务器。攻击者控制的DNS服务器将网站域请求转换为恶意站点的IP地址,从而将用户重定向到恶意站点。路由器DNS劫持攻击
在此类攻击中,攻击者利用路由器中存在的固件漏洞来覆盖DNS设置,从而影响连接到该路由器的所有用户。攻击者还可以通过利用路由器的默认密码来接管路由器。中间人(MiTM)DNS攻击
在这种类型的DNS劫持中,攻击者执行中间人(MiTM)攻击以拦截用户和DNS服务器之间的通信并提供不同的目标IP地址,从而将用户重定向到恶意站点。流氓DNS服务器
在此攻击中,攻击者可以破解DNS服务器,并更改DNS记录以将DNS请求重定向到恶意站点。

图片来自:motherboard

钓鱼攻击劫持支付

在支付的界面进行劫持使得用户的支付宝,或者银行卡支付,使得支付到攻击者的账户中

DNS劫持攻击如何工作?

事件发生后,Linux.org 被迫停站。经过数小时的努力,目前 Linux.org
的访问已恢复正常。社区管理员 Rob 发布了一篇关于该 DNS
劫持事件的帖子(Linux.org DNS Hijack
Incident)表示已取回控制权,服务器环境没有被触及,用户不用担心自己的数据。

植入广告

这种方式的DNS劫持一般是运营商所为的,大面积的劫持

澳门新葡亰网址下载 5

植入广告的网站

两种方式:

  • HTTP劫持
    将拦截到的HTML文本中间加一个
    position为fixed的div,一般在右下角,显示出广告
  • DNS劫持
    将域名劫持到一个攻击者的网站中,含有广告,再用iframe的方式来引入用户要访问的网站。

您的DNS服务器由您的ISP(Internet服务提供商)拥有和控制,您的系统的DNS设置通常由您的ISP分配。

(文/开源中国)    

0×04攻击复现

我们可以对这种攻击方式进行复现,
在一个路由器下面的多台机器,使用一台进行劫持,另一台进行模拟受害者进行测试

当用户尝试访问网站时,请求被引用到他们系统的DNS设置,而DNS设置又将请求重定向到DNS服务器。DNS服务器扫描DNS请求,然后将用户定向到所请求的网站。但是,当用户DNS设置因恶意软件或路由器入侵而受到威胁时,用户发出的DNS请求将被重定向到由攻击者控制的流氓DNS服务器。这个受攻击者控制的流氓服务器会将用户的请求转换为恶意网站。

准备工作
  • 进行劫持的机器:
    • 最好使用 kali linux
    • 在本地或者远程撘一个HTTP服务器,作为钓鱼网站,用于伪装目标网站
    • 最好安装一个大功率的无线网卡
    • 安装劫持工具ettercap (kali自带)
  • 测试机器安装浏览器(废话,是台电脑都有,纯命令行linux用lynx也可以)
  • 两台电脑接入同一个无线路由器或者集线器(最好不要使用交换机,因为必须要取得交换机本身的控制才可以进行,而路由器只需要进行欺骗就可以)

DNS劫持攻击示例

操作指南

首先,在ettercap的配置文件里面配置你要进行劫持的DNS

有关于ettercap dnS的配置文件的木库在 /etc/ettercap/etter.dns

打开这个文件,我们可以看到,作者已经内置了一些例子

澳门新葡亰网址下载 6

作者很调皮的把微软公司的主页:microsoft.com

解析到了:linux.org的ip,开源万岁!linux是至大的!

回归正题,我们可以参照这几个例子来编写我们自己需要的劫持规则格式就是:域名
dns记录类型 IP

什么是dns记录类型呢?

记录类型 描述
A A (Address)记录是用来指定主机名(或域名)对应的IPv4地址记录
AAAA A (Address)记录是用来指定主机名(或域名)对应的IPv6地址记录
CNAME 也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机
MX 是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器
NS 解析服务器记录。用来表明由哪台服务器对该域名进行解析。

一般来说,在做DNS劫持的时候,我们使用A记录,比如我们要把百度劫持到bing(考虑到有些朋友并没有扶墙),首先用

ping
traceroute
whois

之类的东西获取bing.com的ip:13.107.21.200

我们在这个文件中加上一条劫持的规则

澳门新葡亰网址下载 7

做DNS劫持的时候,我们需要将其劫持到我们自己的HTTP服务器处,使用

ifconfig(unix) 
ipconfig(windows)

来查看本机的IP地址,一般来说局域网地址为:192.168.xxx.xxx,10.xxx.xxx.xx,172.xxx.xxx.xxx

澳门新葡亰网址下载 8

下一步,就是使用apache或者nginx之类的web server
来撘起我们自己的服务器,用lamp之类的也可以,网上教程很多,不再赘述。

下一步,打开ettercap

澳门新葡亰网址下载 9

先选择

sniff->unified sniff

然后打开

hosts->host list

选中全部的主机,点击add to target 1

澳门新葡亰网址下载 10

然后点击

Mitm->ARP Posining

澳门新葡亰网址下载 11

选中第一个选框

sniff remote connections

然后在

plugin->manage plugin

里面双击dns spoof 来激活这个插件

澳门新葡亰网址下载 12

这个时候,目标就已经处于被劫持的状态了

使用测试机器的浏览器访问你劫持了的网站,就可以看到你自己撘的服务器页面了,我这里没有改动,是apache的默认页面

澳门新葡亰网址下载 13

当然,这个攻击是有不小的失败几率的,这是由于中间人攻击的原理,网卡的问题,网关的限制,还有
DNS缓存,等多种因素导致的,因此,劫持失败也是很有可能的。

攻击者使用DNSChanger木马通过恶意广告活动劫持超过400万台计算机的DNS设置,并获得约1400万美元的收入。最近的一个DNS劫持活动在2019年1月已成功定位针对全球组织。这一系列攻击影响了北美、北非和中东的商业实体、政府机构、互联网基础设施提供商和电信提供商。在攻击中,攻击者修改了“DNS
A”和“DNS NS”记录,并将受害者组织的名称服务器记录重定向到攻击者控制的域。

0×05 更深入的了解

如果想要学习这方面更深入的内容,可以先复习一下各位的计算机网络的知识,了解应用层协议HTTPS,HTTP,DNS的一些细节。对于数据链路和传输层的ARP协议也需要比较深刻的了解

kali
linux在无线方面有很多很好用的工具比如aircrack-ng,ettercap,arpspoof,sslstrip等等可以使用,可以参考kali
docs进行学习

如何防止DNS劫持攻击?

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

声明:本网站发布的内容以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:hyg@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处::西部数码资讯门户
如何避免DNS劫持攻击?

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图