分析ARP攻击与欺骗
如上图所示,路由器的IP地址为:192.168.1.1,也是两台主机A、B的网关;交换机只需开启端口,不做任何设置;主机A作为攻击者,桥接到虚拟机windowsXP,IP地址为:192.168.1.2,安装网络执法官软件;主机B作为被攻击者,桥接到虚拟机Windows Server 2003,IP地址为:192.168.1.3,安装arp防火墙,然后再安装sniffer抓包工具,查看在开启arp防火墙之前,遭到攻击时抓到的包和开启防火墙之后的包有什么不同。
具体步骤:
1. 在路由器的F0/0接口配置IP地址。如图所示:
2. 开启交换机所使用的接口。如图所示:
3. 主机A已经桥接到一台虚拟机XP,配置一个同网段的IP地址:192.168.1.2,网关指向路由器。如图所示:
4. 主机B已经桥接到一台虚拟机Server 2003,配置一个同网段的IP地址:192.168.1.3,网关指向路由器。如图所示:
5. 在XP上安装网络执法官软件。安装成功后,双击打开,会弹出如下所示的窗口,选择监控的IP地址段。在选择之前,此软件会自动扫描到与本机同网段的IP地址段,只需点击“添加/修改”。如果不想监控和自己同网段的IP地址段,可以自行修改,在点击“添加”。如图所示:
6. 上图操作完成之后,软件将自动扫描指定IP网段范围内的主机,并以列表的形式显示这些主机的MAC地址、IP地址、主机名称、主机状态等,如图所示:
7. 右击需要管理的主机,在弹出的快捷菜单中选择“手工管理”,弹出如下图所示的“手工管理”对话框。
对主机的管理方式有三种,分别如下:
? IP冲突
如果选择此项,被控主机屏幕的右下角将会提示IP冲突。
? 禁止与关键主机组进行TCP/IP连接
如果选择此项,被控主机将无法访问关键主机组中的成员
? 禁止与所有主机进行TCP/IP连接
如果选择此项,被控主机将和所有主机失去连接。
8. 点击上图中的“设置”按钮,在弹出的对话框中填写192.168.1.1(网关的IP地址),如下图所示,然后点击“全部保存”按钮。
9. 如图所示,选择“第1组”之后任意给定一个管理频率,点击“开始”摁扭。
10. 此时在被控主机的桌面右下键会一直显示IP地址冲突的警告信息。如图所示:
然后再使用“ping”命令去访问网关时,就会出现如下图所示的结果。而且,使用“arp -a”命令时,会看到网关的MAC地址是虚假的。
但是和其他主机还能通信。如图所示:
n 处理ARP故障
解决ARP故障的方法有三种,分别如下:
1. 第一种解决办法
处理ARP欺骗攻击最一般的方法就是IP-MAC绑定,如下图所示,可以在客户端主机和网关路由器上双向绑定IP-MAC来避免ARP欺骗导致无法上网的问题。
1)在主机上绑定网关路由器的IP和MAC,可以通过之前学习的“arp -s”命令实现。
2) 在网关路由器上绑定主机的IP和MAC,可以通过如下命令实现。
如果要查看配置结果,可以通过命令“show ip arp”。
3)这时网络中如果有ARP病毒发作,或者用户非法使用类似网络执法官等软件便无法欺骗局域网中的主机了。另外,大部分ARP病毒或类似的欺骗软件都使用虚假的IP和MAC地址发送欺骗报文,所以,可在交换机上配置IP-MAC-Port的绑定,使交换机丢弃这些欺骗报文,从而防止其在全网泛滥。如下所示:
Switch(config)# arp 192.168.1.1 cc01.1370.0000 arpa f0/0
Switch(config)# arp 192.168.1.2 000c.29f9.323a arpa f0/1
Switch(config)# arp 192.168.1.3 000c.294c.3ca0 arpa f0/2
2. 第二种解决办法
使用arp防火墙,自动抵御arp欺骗和arp攻击
在被控主机(Server 2003)上安装arp防火墙并启用,在被控主机桌面的右下角会立刻弹出arp攻击并拦截的警告信息。如图所示:
再使用“ping”命令访问网关时,结果如下所示:
使用命令“arp -a”再次查看网关的MAC地址,能发现现在的网关MAC地址已经是真实的。
n ARP防火墙原理分析
可以看出主动防御有三种模式:
? 停用:关闭主动防御功能
? 警戒:当受到攻击时启用主动防御,平时处于关闭状态
? 始终启用:一直处于主动防御开启状态
名词解释
主动防御:ARP防火墙特有的功能,即定期向所有主机(同一网段内)发送ARP请求。默认情况下,该项处于警戒状态,速度为8个/秒。
3. 第三种解决办法
在宽带路由器上绑定ARP
注意:使用DHCP服务器分配地址时,可能造成同一台主机不同时间使用不同的IP地址。如果配置了静态ARP绑定,将造成该主机无法访问网络。
n 使用Sniffer Pro捕获数据包
1. 注意:安装sniffer抓包工具的时候有如图所示几个地方需要注意,其他地方可以随便填写:
2. 安装并启动sniffer后,点击下图中标有红框的按钮,开始捕捉数据包。
3. 上一步操作完成之后,会出现如下图所示的界面。当标有红框的按钮可用时,表示已捕获到数据,单击标有红框的按钮。
4. 上一操作完成后,会出现如下图所示的界面,然后再点击标有红框的按钮,即可查看到捕获到的数据包。
5. 通过观察发现,大部分ARP数据包来自MAC地址为000C29F9323A的主机。选中一个发送给本机的报文,查看数据报文的具体内容,则该数据报文属于ARP的回应包(ARP Reply),其内容是为了告诉本机192.168.1.1(网关)的IP地址对应的MAC地址为0CDE0E676B65,这个地址显然和真实的网关MAC(CC00104C0000)不同。因此,如果本机将这个地址存入ARP缓存,自然无法和网关通信。
6. 攻击主机除了发送上述攻击报文外,还给该网段的所有主机发送ARP请求报文(ARP Request),这些数据报文的目标MAC地址全为“0”,请求对方回应。如图所示:
7. 本机(192.168.1.3)回应了攻击主机(192.168.1.2)的请求,将自己的MAC地址发送给攻击主机(192.168.1.2)。如图所示:
仔细观察还可以发现,运行网络执法官软件的主机会定期给所有在线主机发送ARP请求,以确定这些主机是否在线,如果捕获数据报文的时间再长一些,还会发现软件大概没三分钟就会进行一次全网的扫描,即给192.168.1.1-192.168.1.254的所有主机发送ARP请求。
n ARP攻击的原理
? 攻击主机制造假的ARP应答,并发送给局域网中除被攻击主机之外的所有主机,ARP应答中包含被攻击主机的IP地址和虚假的MAC地址。
? 攻击主机制造假的ARP应道,并发送给被攻击主机,ARP应答中包含除被攻击主机之外的所有主机的IP地址和虚假的MAC地址。
只要执行上述ARP攻击行为中的任一种,就可以实现被攻击主机和其他主机无法通信。
某些ARP病毒会向局域网中的所有主机发送ARP应答,其中包含网关的IP地址和虚假的MAC地址。局域网中的主机收到ARP应答更新ARP表后,就无法和网关正常通信,从而导致无法访问互联网。
n ARP欺骗的原理
一般情况下,ARP欺骗并不是使网络无法正常通信,而是通过冒充网关或其他主机使到达网关或主机的流量通过攻击主机进行转发。通过转发流量可以对流量进行控制和查看,从而控制流量或得到机密信息。
ARP欺骗发送ARP应答给局域网中其他主机,其中包含网关的IP地址和进行ARP欺骗的主机MAC地址;并且也发送ARP应答给网关,其中包含局域网中所有主机的IP地址和进行ARP欺骗的主机MAC地址(有的软件只发送ARP应答给局域网中的其他主机,并不发送ARP应答欺骗网关)。当局域网中主机和网关收到ARP应答更新ARP表后,主机和网关之间的流量就需要通过攻击主机进行转发。