1.ARP攻击与ARP欺骗的原理及应用
网络管理员在网络维护阶段需要处理各种各样的故障,出现最多的就是网络通信问题。除物理原因外,这种现象一般是ARP攻击或ARP欺骗导致的。
无论是ARP攻击还是ARP欺骗,它们都是通过伪造ARP应答来实现的。
1.1 ARP攻击和ARP欺骗的原理
1.ARP攻击的原理
一般情况下,ARP攻击的主要目的是使网络无法正常通信,它主要包括以下两种行为。
攻击主机制造假的ARP应答,并发送给局域网中除被攻击主机之外的所有主机。ARP应 答中包含被攻击主机的IP地址和虚假的MAC地址。
攻击主机制造假的ARP应答,并发送给被攻击主机,ARP应答中包含除被攻击主机之外 的所有主机的IP地址和虚假的MAC地址。
只要执行上述ARP攻击行为中的任意一种,就可以使被攻击主机和其他主机无法通信,如图所示,例如,如果希望被攻击主机无法访问互联网,就需要向网关发送或向被攻击主机发送虚假的 ARP应答。当网关接收到虚假的ARP应答更新ARP条目后,如果网关再发送数据给PC1时,就会发送到虚假的MAC地址,从而导致通信故障。
某些ARP病毒会向局域网中的所有主机发送ARP应答,其中包含网关的IP地址和虚假的MAC
地址。局域网中的主机收到ARP应答更新ARP表后,就无法和网关正常通信,从而导致无法访问互
联网。
2.ARP欺骗的原理
一般情况下,ARP欺骗并不会使网络无法正常通信,而是通过冒充网关或其他主机使到达网关或主机的流量通过攻击主机进行转发。攻击主机通过转发流量可以对流量进行控制和查看,从而控制流量或得到机密信息。
ARP欺骗发送ARP应答给局域网中其他主机,其中包含网关的IP地址和进行ARP欺骗的主机 MAC地址:并且也发送ARP应答给网关,其中包含局域网中所有主机的IP地址和进行ARP欺骗的主机MAC地址(有的软件只发送ARP应答给局域网中的其他主机,并不发送ARP应答欺骗网关)。当局域网中主机和网关收到ARP应答更新ARP表后,主机和网关之间的流量就需要通过攻击主机进行
转发,如图所示,冒充主机的过程和冒充网关相同,如图所示。
1.2 ARP攻击应用案例
下面通过一个案例模拟ARP攻击。
1.利用ARP欺骗管理网络
网络管理员可以利用ARP欺骗的原理来控制局域网内主机的通信,网络管理员一般使用局域网管理软件进行局域网管理,现在局域网管理软件很多,下面以长角牛网络监控机软件为例讲解局域网的管理流程。
网络管理员希望通过长角牛网络监控机软件监控局域网,使得被控主机(100.0.35)不能访问外网资源,但是可以和内网主机进行通信。
为了实现网络管理员的要求,在安装长角牛网络监控机软件后,需要进行如下配置。
1)设置监控范围
(1)第一次打开软件时,会弹出“设置监控范围对话框,如图所示,在其中选择监控所使用的网卡。
(2)选择监控的IP地址段。在图114中,确认扫描范围为10.0.0.1~10.0.0.254,单击“添加/修改”按钮,之后单击“确定”按钮即可,如图所示。
指定的IP地址范围不一定是监控网卡所处的网段,只要是监控主机可以访问到的局域网段均可监控。
2)进行网络管理
(1)进入软件的主界面后,软件将自动扫描指定IP网段范围内的主机,并以列表的形式显示这
些主机的MAC地址、P地址,主机名称、主机状态等,如图所示。
(2)右击需要管理的主机,在弹出的快捷菜单中选择“手工管理”命令,弹出如图所示的“手工管理”对话框。
对主机的管理方式有三种,分别如下,
1. IP冲突。如果选择此项,被控主机屏幕的右下角将会提示IP冲突。
2.禁止与关键主机组进行TCP/IP连接。如果选择此项,被控主机将无法访问关键主机 组中的成员。
3.禁止与所有主机进行TCP/IP连接。如果选择此项,被控主机将和所有主机失去连接。
(3)设置关键主机组,单击图中的“关键主机组”按钮,在弹出的“关键主机组设置”对话框中填写“1000178”(网关IP地址),如图所示,单击“全部保存”按钮。
如图所示,选中“第1组”复选框之后任意给定一个管理频率,断开方式选择"单向断开方式,单击“开始”按钮。
3)验证效果
此时在被控主机上通过ping命令测试结果,可以看到无法ping通网关,但可以ping通其他主机100.0.2,如图所示。
2.处理ARP故障
公司网络突然出现无法上网的现象,通过检查发现局域网主机ARP缓存条目中网关的MAC地址发生了变化,它已不是真实的网关MAC地址。由此可以判断,故障是由ARP病毒引起的。
公司的网络拓扑如图11.12所示,网络具体情况:公司的内网段为100.0.1~10.0.0.254其中一台主机A不慎感染ARP病毒,并且向其他主机广播网关的假MAC地址(实验中通过长角牛网络监控机模拟病毒的症状)这时网络管理员应该如何处理呢?
解决ARP故障的方法有如下两种。
1)第一种解决方法
处理ARP欺骗攻击的常用的方法是IP-MAC绑定,可以在客户端主机和网关路由器上双向绑定
P-MAC来避免ARP欺骗导致无法上网的问题。
(1)在主机上绑定网关路由器的IP地址和MAC地址,可以通过之前学习过的arp-s命令实现。
在Windows10客户端主机上首先运行命令netsh interfaceipv4 show neighbors查看网卡接口序号,如图所示。
运行命令netsh interface ipv4 set neighbors 510.0.0.17824-e9-b3-10-e5-41绑定IP-MAC其中的“5”是网卡接口序号,当再次运行arp-a发现类型已经是“静态”,如图所示,
(2)在网关路由器上绑定主机的ip地址和mac地址,可以通过以下命令实现。
如果要查看配置结果,可以通过命令show ip arp
如果公司使用的是宽带路由器,那么宽带路由器是如何进行ARP绑定的呢?
进入宽带路由器设置界面,选择“IP与MAC绑定”菜单,其下有两个选项,分别是“静态ARP绑定设置”和“ARP映射表”。
选择“静态ARP绑定设置”选项,出现如图所示的界面。
ARP绑定:是否开启ARP绑定功能。
增加单个条目:填入静态绑定ARP的MAC地址和IP地址,选择绑定后保存。
选择“ARP映射表”选项,可以看到绑定的ARP条目和学习到的动态ARP条目,动态ARP条目的状态为未绑定,如图所示。
(3)这时网络中如果有ARP病毒发作,或用户非法使用类似长角牛网络监控机等软件便无法欺
骗局域网中的主机。另外,大部分ARP病毒或类似的欺骗软件都使用虚假的IP地址和MAC地址发送欺骗报文,所以,可在交换机上配置IP-MAC-Port的绑定,使交换机丢弃这些欺骗报文,从而防止其在全网泛滥,如下所示。
此时,假设图11.12中主机A继续使用虚假的IP地址MAC地址发送欺骗报文,交换机将检测到F0/2收到与之不匹配的数据报文,并将其立刻丢弃。
这种方法的缺点在于,如果网络中的节点数很多,在路由器和交换机上的配置量便会随之增多。而且网络中如果采用DHCP动态分配IP地址,一旦主机(尤其是一些笔记本电脑用户)的IP地址发生变化,将直接导致该主机无法访问网络。
2)第二种解决方法
使用ARP防火墙,自动抵御ARP欺骗和ARP攻击。
(1)在主机B上开启ARP防火墙。防火墙的主界面显示统计数据,它包括ARP攻击的统计,自动绑定的IP/MAC地址(网关)等,如图所示。
(2)在主机A上开启长角牛网络监控机软件,通过它来模拟ARP病毒发作。
具体设置为,针对主机B,设置无法访问关键主机10.0.0.178(网关),如图所示
(3)ARP防火墙统计数据的变化如图
(4)在主机B上通过ping命令测试与网关的连通性
ARP防火墙一直将网关ip/mac绑定在一起,如图
基于ARP防火墙赋予的安全防护机制使ARP攻击失效。