主题名称 | ARP欺骗与MITM(中间人攻击)实例 |
IP:192.168.1.1 MAC地址:00:5A:39:1A:BB:BE
IP:192.168.1.113 MAC地址:00:0C:29:03:85:DC
由于实验条件有限,故中间人主机PC 0在虚拟机内运行。但实际效果与真实测试相同。
攻击测试: 使用Kali Linux中的嗅探工具ettercap-NG对目标主机进行ARP欺骗,并截获明文密码。 首先打开终端,输入ettercap -G 启动ettercap (ettercap要求使用root权限,使用sudo或者切换到root用户运行)的图形界面模式,如图:
打开ettercap-NG 的图形界面之后点击"sniff",选择"unified sniffing"然后根据自己的要求选择要抓包的网卡。
使用NMAP工具查看局域网内所有主机:
根据返回数据可知,我的网关无线路由器的IP地址为192.168.1.1,MAC地址为:00:5A:39:1A:BB:BE,根据MAC地址,分析出 深圳Fast科技公司出产。 此外有几台苹果的设备,是室友的几部苹果手机,此外还有一部Vivo手机,BBK步步高电子产品出产,还有一台小米科技出产的小米手机。此外,还有一台名为 Hon Hai Precision 的设备,经查原来其名为鸿海精密集团,富士康是旗下的公司,应该就是我的网卡生产商了。 还有一个提示信息为"Host is up"的主机即为本次测试的中间人(攻击者)的主机。 筛选后,得到信息如下:
返回ettercap,然后单击Hosts选项,选择Scan for host,待扫描完成之后再选择Scan for host,然后选择Host list,此时可以看到ettercap-NG已经扫描的主机列表,如图所示:
然后就可以选择要攻击的目标了, 选择192.168.1.106的IP地址,点击Add to Target 1(添加到目标1),然后选择网关的IP地址192.168.1.1,点击Add to Target 2(添加到目标2),可以看到ettercap提示成功加入目标,如图所示:
然后明确攻击方式,这里采用ARP欺骗的方式,告诉主机192.168.1.106我(192.168.1.113)才是网关(192.168.1.1),使得 192.168.1.106的主机把所有数据流量全部发给我,然后抓包截获密码。 明确攻击方式之后,我们选择"mitm"—"arp poisoning"— "Sniff remote connections" — "确定"
这时可以看看目标主机的arp地址表,如图所示,ARP缓存毒化成功。 攻击之前:
点击确定攻击之后:
此时发现ARP缓存表已经毒化成功! 然后在攻击主机中选择"Start" — "Start sniffing" 开始监听。 此时使用Wireshark抓包工具可以发现,被攻击主机的所有流量都是通过攻击者的主机发送出去的,即被攻击主机误认为192.168.1.113是它的网关。
此时便可以实现很多功能。例如抓包获取密码,Cookies欺骗,DNS欺骗,恶意程序替换等等,如通过driftnet过滤嗅探图片:
1、双向绑定: 一般来说,在小规模网络中,比较推荐使用双向绑定,也就是在路由器和终端上都进行IP-MAC绑定的措施,它可以对ARP欺骗的两边,伪造网关 和截获数据,都具有约束的作用。这是从ARP欺骗原理上进行的防范措施,也是最普遍应用的办法。它对付最普通的ARP欺骗是有效的。 2、ARP防火墙: 在一些杀毒软件中加入了ARP防火墙的功能,它是通过在终端电脑上对网关进行绑定,保证不受网络中假网关的影响,从而保护自身数据不被窃取的措施。ARP防火墙使用范围很广,但也会有问题,如,它不能保证绑定的网关一定是正确的。如果一个网络中已经发生了ARP欺骗,有人在伪造网关,那么,ARP防火墙上来就会绑定这个错误的网关,这是具有极大风险的。 3、VLAN和交换机端口绑定: 通过划分VLAN和交换机端口绑定来防范ARP,也是常用的防范方法。做法是细致地划分VLAN,减小广播域的范围,使ARP在小范围内起作 用,而不至于发生大面积影响。同时,一些网管交换机具有MAC地址学习的功能,学习完成后,再关闭这个功能,就可以把对应的MAC和端口进行绑定,避免了病毒利用ARP攻击篡改自身地址。也就是说,把ARP攻击中被截获数据的风险解除了。 |