主题名称 |
ARP协议(address resolution protocol):地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将IP地址解析成MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,来查询目标设备的mac地址。 在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系。ARP缓存表的生命周期是有时限的(一般不超过20分钟)。 MITM攻击实例: 网络拓扑:
网络环境: 无线路由器一台 型号:Fast FW300R IP:192.168.1.1 MAC地址:00:5A:39:1A:BB:BE 被攻击主机PC 1 系统版本:Windows 10 Enterprise IP:192.168.1.106 MAC地址:00:5A:39:1A:BB:BE 中间人(攻击者)主机PC 0 系统版本:Kali Linux 2.0 IP:192.168.1.113 MAC地址:00:0C:29:03:85:DC
由于实验条件有限,故中间人主机PC 0在虚拟机内运行。但实际效果与真实测试相同。
攻击测试: 使用Kali Linux中的嗅探工具ettercap-NG对目标主机进行ARP欺骗,并截获明文密码。
打开ettercap-NG 的图形界面之后点击“sniff”,选择“unified sniffing”然后根据自己的要求选择要抓包的网卡。 使用NMAP工具查看局域网内所有主机:
根据返回数据可知,我的网关无线路由器的IP地址为192.168.1.1,MAC地址为:00:5A:39:1A:BB:BE,根据MAC地址,分析出 此外有几台苹果的设备,是室友的几部苹果手机,此外还有一部Vivo手机,BBK步步高电子产品出产,还有一台小米科技出产的小米手机。此外,还有一台名为 Hon Hai Precision 的设备,经查原来其名为鸿海精密集团,富士康是旗下的公司,应该就是我的网卡生产商了。 筛选后,得到信息如下:
返回ettercap,然后单击Hosts选项,选择Scan for host,待扫描完成之后再选择Scan for host,然后选择Host list,此时可以看到ettercap-NG已经扫描的主机列表,如图所示:
然后就可以选择要攻击的目标了,
然后明确攻击方式,这里采用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过滤嗅探图片:
ARP攻击防范: 1、双向绑定: 一般来说,在小规模网络中,比较推荐使用双向绑定,也就是在路由器和终端上都进行IP-MAC绑定的措施,它可以对ARP欺骗的两边,伪造网关 2、ARP防火墙: 在一些杀毒软件中加入了ARP防火墙的功能,它是通过在终端电脑上对网关进行绑定,保证不受网络中假网关的影响,从而保护自身数据不被窃取的措施。ARP防火墙使用范围很广,但也会有问题,如,它不能保证绑定的网关一定是正确的。如果一个网络中已经发生了ARP欺骗,有人在伪造网关,那么,ARP防火墙上来就会绑定这个错误的网关,这是具有极大风险的。 3、VLAN和交换机端口绑定: 通过划分VLAN和交换机端口绑定来防范ARP,也是常用的防范方法。做法是细致地划分VLAN,减小广播域的范围,使ARP在小范围内起作 |