专栏首页FreeBuf新手教程:局域网DNS劫持实战

新手教程:局域网DNS劫持实战

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请求

这是DNS服务器返回的内容:

中间人劫持就发生在第三步:由于恶意攻击者控制了你的网关,当你发送了一个查找freebuf.com的IP的请求的时候,中间人拦截住,并返回给你一个恶意网址的IP,你的浏览器就会把这个IP当做你想要访问的域名的IP!!这个IP是攻击者搭建的一个模仿了目标网站前端界面的界面,当你在该界面输入用户名密码或者付款操作的时候,就会中招。

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

攻击者可以将网页的前端做的极为完善!几乎和原网页一模一样,各种链接,也都指向正确的地方,只有这个登陆框是有问题的,一旦输入用户名密码就会被攻击者所接受到。

02 防范

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

1、使用SSL(HTTPS)进行登录,攻击者可以得到公钥,但是并不能够得到服务器的私钥

2、当浏览器提示出现证书问题的时候,谨慎,再谨慎!确定你所在的网络环境是安全的,该网站是可信的再去访问。

3、不在连接公共wifi的时候随意进行登陆操作

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

一种是服务器的HTTPS证书没有正确的配置,

另一种就是你可能遭到了中间人劫持,数字证书无法通过浏览器的验证

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

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

03 攻击者的目的

钓鱼攻击盗取密码

诱导用户进行填写登录表单的操作,将POST的地址改为自己的服务器地址,以获取受害者的用户名和密码 特别注意: 有一种这样的情况,用户在填入表单之后,用户犹豫了,并未点击提交/登录 之类的按钮以发送提交表单,但是此时,输入的内容已经通过ajax的方式发送了出去。

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

钓鱼攻击劫持支付

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

植入广告

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

(像上图右下角的那样,就类似于运营商的广告劫持,当然这个可能是站点自己的广告,找不到运营商劫持的图了,拿这张图演示一下)

有两种方式

HTTP劫持

将拦截到的HTML文本中间加一个 position为fixed的div,一般在右下角,显示出广告

DNS劫持

将域名劫持到一个攻击者的网站中,含有广告,再用iframe的方式来引入用户要访问的网站。

04 攻击复现

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

准备工作

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

操作指南

首先,在ettercap的配置文件里面配置你要进行劫持的DNS 有关于ettercap dnS的配置文件的木库在 /etc/ettercap/etter.dns 打开这个文件,我们可以看到,作者已经内置了一些例子

作者很调皮的把微软公司的主页microsoft.com解析到了linux.org的ip,开源万岁!linux是至大的! 回归正题,我们可以参照这几个例子来编写我们自己需要的劫持规则格式就是 域名 dns记录类型 IP 什么是dns记录类型呢?

更详细的描述可以参见维基百科DNS解析记录-维基百科

一般来说,在做DNS劫持的时候,我们使用A记录,比如我们要把百度劫持到bing(考虑到有些朋友并没有扶墙),首先用ping/traceroute/whois之类的东西获取bing.com的ip 13.107.21.200

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

做DNS劫持的时候,我们需要将其劫持到我们自己的HTTP服务器处,使用ifconfig(*nix) ,ipconfig(windows)来查看本机的IP地址,一般来说局域网地址为 192.168.xxx.xxx,10.xxx.xxx.xx,172.xxx.xxx.xxx

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

下一步,打开ettercap

先选择sniff->unified sniff 然后打开hosts->host list 选中全部的主机,点击add to target 1

然后点击Mitm->ARP Posining

选中第一个选框 sniff remote connections

然后在plugin->manage plugin里面双击dns spoof 来激活这个插件

这个时候,目标就已经处于被劫持的状态了 使用测试机器的浏览器访问你劫持了的网站,就可以看到你自己撘的服务器页面了,我这里没有改动,是apache的默认页面

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

05 更深入的了解

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

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

本文分享自微信公众号 - FreeBuf(freebuf),作者:sarleon

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 移动APP上的广告劫持每天造成PB级的数据浪费

    随着移动平台上恶意软件数量的不断增长,黑色产业开始利用广告劫持的方式——即将移动用户重定向到广告页面牟利。然而这一行为造成了严重的资源浪费,据估计移动平台广告劫...

    FB客服
  • 谁动了我的宽带?记一次HTTP劫持的发现过程

    日常遇到的劫持一般为DNS劫持,可在路由器里强制指定公共DNS解决。本文记录了自己家用宽带HTTP劫持的发现过程。相比DNS劫持,HTTP劫持则更为流氓,解决起...

    FB客服
  • 一篇小黄文牵出国内最大黑产,你被“上”过吗?

    上周有热心的小伙伴向Magiccc反馈,点击“阅读原文”发现极验移动官网底部有不可描述的浮窗广告,点击后跳出一篇小黄文。

    FB客服
  • 域名劫持

    作者:sarleon 来自:freebuf.com 01 原理 DNS决定的是我们的域名将解析到哪一个IP地址的记录,是基于UDP协议的一种应用层协议 这个...

    架构师小秘圈
  • 开源分布式对象存储-MinIO 顶

    Minio可能在国内知道和用的人不是很多,我第一次接触Minio是也是当时我们需要使用Spinnaker集群来管理和维护内部的Kubernetes集群,而Spi...

    BGBiao
  • Minio对象存储

    多节点的Minio会根据不同的Access_key及Secret_Key来区分不同租户,每个租户可操作对应Server获取Object。Minio Server...

    山山仙人
  • 开源项目Minio:提供非结构化数据储存服务

    Minio是一个在Apache Licence 2.0下发布的对象存储服务器。官网:https://minio.io。它与Amazon S3云存储服务兼容。Mi...

    AiTechYun
  • 无人零售迎来智能黑科技 小卖柜将成跨时代产物

    小卖柜在合肥举行上市发布会,发布自主研发的新一代智能无人零售终端。该产品融合了RIFD、人工智能、机器学习等众多黑科技,是无人零售行业第一款可落地AI产品。产品...

    企鹅号小编
  • jquery 筛选元素 (3)

    .addBack()   添加堆栈中元素集合到当前集合中,一个选择性的过滤选择器。   .addBack([selector]) ...

    用户1197315
  • 量化新视角:工业部门产业联动与周期规律

    工业是国民经济的主导部门,它为经济中的各部门提供能源和原材料、生产工具以 及消费品。过去几十年来,第二产业在我国 GDP 中占比和增速贡献的重要性不言 而喻,市...

    量化投资与机器学习微信公众号

扫码关注云+社区

领取腾讯云代金券