中间人攻击是非常经典的攻击方式,不过也有限制条件就是得在同一网段
利用ettercap实现中间人攻击
环境配置
- 攻击机kali:192.168.132.138
- 靶机win7:192.168.132.136
软件准备
ettercap是一种网络嗅探器和中间人攻击工具,通常用于网络安全测试和攻击。它可以捕获网络流量并进行分析,同时还可以修改和重定向流量以执行中间人攻击。使用ettercap,攻击者可以轻松地欺骗受害者,从而获取敏感信息,例如登录凭据、信用卡号码等。然而,ettercap也可以用作网络安全工具,以检测和纠正网络漏洞和安全漏洞。
这里使用的是kali自带的ettercap工具
攻击原理
在局域网中(同一网段)通信时使用的是MAC地址,而不是常见的IP地址。所以在局域网的两台主机间通信时,必须要知道对方的MAC地址,这就是ARP协议要做的事:将IP地址转换为MAC地址。在ARP回复时,发送请求包的主机A并不会验证ARP回复包的真实性,也就是不能判断回复主机A的是不是主机B。由此引出一个局域网攻击方式ARP欺骗,ARP欺骗攻击可以在各种各样的场景中进行,比如通过 Wi-Fi 热点、路由器、以及局域网上的任意设备。 因此,在保护自己的网络安全时,我们需要注意防止 ARP 欺骗攻击的发生,如启用 ARP 防火墙、使用加密协议、限制对网络的物理访问等。
ARP欺骗
查看win7的ip地址
查看kali的ip地址
使用ping命令看是否ping通
执行以下命令查看win7被攻击前的arp信息
1 | arp -a |
在kali打开ettercap
1 | sudo ettercap -G |
点击右上角的勾后,点击扫描主机
扫描结束后,点击右边的主机列表,可以看到已经将靶机win7的ip扫出来了
接下来我们来尝试一下ARP欺骗,先查看下win7的网关
然后在ettercap分别将网关ip和win7的ip添加为Target1和Target2
添加好后,点击小地球图标(MITM menu)中选择ARP Poisoning,点击OK
这里可以看到攻击已经开始
我们再执行arp -a
看下win7的arp信息,注意到前后的MAC地址发生变化
已经成功变成了我们kali的mac地址00:0c:29:16:83:5a
我们新建一个终端,输入wireshark后选择eth0接口,筛选arp抓取下流量。可以看到网关将Kali的MAC地址当做win7的MAC地址进行发送(也就是说sender MAC address
和sender IP address
不一致),成功进行了ARP的欺骗
DNS劫持
当我们成功进行了ARP欺骗后,我们可以加以利用再制作一个钓鱼页面
再新建一个终端,输入如下命令进入配置文件
1 | sudo vim /etc/ettercap/etter.dns |
这里我们将攻击机kali的ip地址192.168.132.138添加到如下位置,使得win7对*.com
的网络访问转移到攻击机kali上
然后打开apache服务
1 | /etc/init.d/apache2 start |
先尝试ping一下淘宝看看正常状态
回到我们的ettercap,开始DNS劫持。依次点击右上方的三点 -> Plugins -> Manage plugins
选择dns_spoof
,双击开始攻击
我们回到win7再次ping一下淘宝,发现没成功。上网搜了一下原来在使用ettercap图形化界面实现DNS劫持时,有可能会不生效。可以尝试命令行直接进行DNS劫持
1 | ettercap -i eth0 -Tp -M arp:remote -P dns_spoof /192.168.132.136// /192.168.132.2// |
DNS劫持成功,ping的地址变成我们的攻击机kali
我们访问taobao.com
发现是我们攻击机开启的apache服务
参考文章
中间人攻击
DNS劫持失败解决办法