前言
严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。
本文目的
演示如何借助 Kali Linux 系统内置的一款基于ARP地址欺骗的网络嗅探工具Ettercap
,对局域网内的 Win7 主机进行 DNS 域名劫持,从而使得受害主机访问新浪官网(或其他任意网站)的域名时跳转到 Kali 攻击机指定的恶意网页,实现网络钓鱼攻击。
环境说明
主机 | IP地址 |
---|---|
Kali Linux | 192.168.195.131 |
Windows 7 | 192.168.195.132 |
局域网网关 | 192.168.195.2 |
两台虚拟机主机均安装在 VMware 中,使用 Nat 模式形成一个可互相连通的小局域网。
攻击原理
DNS服务
DNS是域名解析系统,其作用是使域名(www.baidu.com)映射到计算机能够识别的IP地址(202.108.22.5),以便进行进一步通信和传递内容。它能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
DNS劫持
1、什么是域名劫持
DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。
2、DNS劫持的后果
大规模的DNS劫持,其结果往往是断网,因为大网站的访问量实在太大了,钓鱼网站的服务器可能会扛不住大流量的访问,瞬间就会瘫痪掉,网民看到的结果就是网页打不开。网上购物、网上支付等敏感站点有可能会被恶意指向钓鱼网站,使得个人账户密码存在泄露的风险。
3、本文域名劫持原理
此次攻击的原理基于局域网内的ARP欺骗,ARP攻击就是通过伪造 IP 地址和 Mac 地址实现 ARP 欺骗,能够在网络中产生大量的 ARP 通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机 ARP 缓存中的IP-MAC 条目,造成网络中断或中间人攻击。
本文的攻击本质就是使用
Ettercap
借助 ARP 欺骗攻击使得 Win 7 受害者主机误将攻击者主机 Kali 的 IP 当作网关 IP,然后 Kali 攻击机又将受害者访问的域名进一步指向了自己指定的 IP 地址,实现网络钓鱼攻击。
关于劫持攻击之前还介绍了两篇文章:Kali渗透-ARP断网攻击与监听 和 Kali渗透-Mac泛洪攻击与监听,读者可进一步学习和比较。此处简单总结下 ARP 缓存表 和 Mac 表的区别:
比较项 | ARP 表 | Mac 表 |
---|---|---|
存储设备 | 三层设备,如路由器、PC主机 | 二层设备,如交换机 |
记录内容 | IP 地址与 Mac 地址的对应关系 | Mac 地址与交换机接口的对应关系 |
主要作用 | 路由器、主机确定目标主机的 Mac 地址 | 交换机确定 IP 地址对应的物理主机的接口 |
攻击演示
钓鱼网页
1、此次我们要劫持的网站域名是新浪www.sina.com.cn
,正常页面显示如下:
2、打开 Kali 攻击机终端窗口,输入命令vim /etc/ettercap/etter.dns
来编辑 ettercap 工具的 DNS 配置文件,增加一条新的A纪录,将 www.sina.com.cn
解析指向攻击者主机 IP 地址:
3、执行命令service apache2 start
启动 Kali 虚拟机内置的 Apache 服务, 让靶机能够访问到被攻击机DNS劫持后的页面(此处不做修改,默认为 Apache 的默认主页/var/www/html/index.html
),在 Kali 中访问后页面如下:
域名劫持
1、在 Kali 终端输入命令ettercap -v
查看 ettercap 的版本信息,然后执行命令ettercap -G
打开 ettercap 的可视化界面:
2、在 Sniff 菜单栏选择嗅探所有 unified sniffing,然后选择 eth0 网卡接口:
3、接着先扫描内网存活的主机IP:
4、扫描结果如下:
5、将要攻击的 Win 7 主机设置为 target 1,网关设置为 target 2,如下图所示:
6、最后选择插件,双击选择 dns_spoof,如下图所示:
7、这个时候攻击机已经开始 DNS 劫持了,来看一下靶机的 DNS 解析状态:
攻击机成功将靶机的域名访问请求重定向到自己指定的网页,攻击演示至此结束。
【备注】以上 ettercap 工具的配置过程,也可以直接在 Kali 终端使用以下一行命令来代替:
ettercap -i eth0 -Tp -M arp:remote -P dns_spoof /192.168.195.132// /192.168.195.2//
,具体的参数含义可以执行命令ettercap -h
查看。
总结
此次演示仅仅使用 Apache 默认网页,现实中的攻击者可不仅如此。DNS攻击的可怕之处在于,被攻击的你访问的已经不是真正你要访问的网站了,而是攻击者精心设计的一个网页,让你无法察觉这是一个恶意网页。如果是钓鱼网站,在你毫不知情的情况下就把你的账号密码获取了。
DNS劫持的防范措施:
- 互联网公司准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名;
- 使用安全稳定可靠的DNS服务器,并且及时升级,更新补丁,加固服务器,使用杀毒软件安全防范;
- 在浏览器访问网关地址,在配置页面“网络参数-DHCP服务器“处绑定 DNS 服务器静态地址,这样攻击者便无法顺利劫持 DNS 服务。
DNS 服务器地址的绑定如下图所示:
最后还是强调一下,本文演示的方法具有攻击性,请读者务必不可以身试法……