内容发布更新时间 : 2024/11/8 15:30:43星期一 下面是文章的全部内容请认真阅读。
ARP木马病毒分析与解决方案
[摘 要]ARP木马病毒通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,造成网络中断或中间人攻击。
[关键词]ARP 欺骗 IP MAC
一、ARP协议简介
ARP协议即地址解析协议Address Resolution Protocol,负责IP地址和网卡实体地址(MAC)之间的转换。也就是将网络层(IP层,也就是相当于ISO/OSI 的第三层)地址解析为数据连接层(MAC层,也就是相当于ISO/OSI的第二层)的MAC地址。即主机发送一个IP包之前,它要到自己的ARP缓存表中寻找是否有目标主机的IP地址,如果找到了,也就知道了目标主机的MAC地址,然后直接发送;如果没有找到,该主机就发送一个ARP广播包目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“xxx.xxx.xxx.xx1的MAC地址是什么?”IP为xxx.xxx.xxx.xx1的主机响应这个广播,应答ARP广播为:“我是xxx.xxx.xxx.xx1,我的mac为
xxxxxxxxxx2” 这样,主机A就知道了主机B的MAC地址,可以通信了。
二、ARP欺骗原理
当对一个目标进行ARP欺骗时,也就是设置一主机C捕获主机A发送给主机B的通信数据包,如果C能够接收到A发送的数据包,那么第一步嗅探成功了。但是主机A并没有意识到主机B没有接受到主机A发送的数据包。假如主机C进行ICMP重定向,那么他可以直接进行整个包的修改,捕获到主机A发送给主机B的数据包,全部进行修改后再转发给主机B,而主机B接收到的数据包完全认为是从主机A发送来的。这样主机C就完成了ARP欺骗。
当某台主机中了这类ARP欺骗的木马病毒程序后,会发送假冒的ARP响应数据报文。这种报文会欺骗所在网段的主机和交换机,让其他用户上网的流量必须经过病毒主机。由于中毒主机本身发送大量的数据报文造成拥塞以及自身处理能力的限制,其他用户上网就会表现出频繁中断的现象。通过协议分析软件可以发现中了木马病毒的网络中大部分的数据包都是ARP广播。并且,有的中毒迹象是几个IP地址对应的MAC地址都是一样。下面的数据是管理员在某单位的网络设备上查看到的log信息:
display log buffer
%Jul1 10:22:01 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0014-2a43-e21f
%Jul1 10:22:01 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0014-2a43-e21f
%Jul1 10:22:01 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0014-2a43-e21f
%Jul1 10:22:05 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0014-2af7-a93c
%Jul1 10:22:05 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0014-2af7-a93c
%Jul1 10:22:05 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0014-2af7-a93c
%Jul1 10:22:09 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0016-ec0f-d8f2
%Jul1 10:22:09 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0016-ec0f-d8f2
%Jul1 10:22:09 2006 netlab ARP/4/DUPIFIP:Duplicate address 10.55.80.253 on VLAN80, sourced by 0016-ec0f-d8f2
根据log信息时间,可以分析出此病毒每4秒钟发送一次arp广播,并且一次广播三个包。
三、解决步骤
(一)查找中毒的计算机
首先进入交换机,然后运行 display log buffer查看现有的log信息(代码同上),对上述信息分析后,可以推断出%Jul1 10:22:01 2006这个是病毒发送报文的时间。这条语句在vlan80中反复出现而且ip地址是10.55.80.253(这个地址是网关地址),并且发送arp广播包的源MAC地址分别是0014-2a43-e21f、0014-2af7-a93c和0016-ec0f-d8f2。记录下这三个MAC地址,然后进行下一步。
在交换机上运行display arp查看MAC地址和 ip地址的对应表。
经查找发现0014-2a43-e21f对应的IP地址是10.55.80.130、0014-2af7-a93c对应的IP地址是10.55.80.119 、0016-ec0f-d8f2对应的IP地址是 10.55.80.182。然后通过MAC地址查找对应的IP地址,然后按照IP地址查找到相对应的计算机进行杀毒操作。一般来说,中毒的机器会运行一个名为“MIR0.dat”的进程,用
户可通过察看任务管理器中的进程信息来判断本机是否感染该病毒。操作方法是同时按住键盘上的“ CTRL ”和“ ALT ”键再按“ DEL ”键,选择“任务管理器”,点选“进程”标签。如果有“MIR0.dat”,则说明已经中毒。右键点击此进程后选择“结束进程”。
(二)解决方法
上述操作结束并不意味着就能高枕无忧了,一般还要采用下面的几种方法解决并且防止ARP欺骗。
1.建立静态绑定。
对于WINDOWS系统可以通过编写一个批处理文件rarp.bat,内容如下:
@Echo off
arp -d (作用是删除现有的ARP缓存中的数据)
arp -s 192.168.0.1 00-26-54-13-B7-3C (作用是将网关MAC 和 IP地址进行静态绑定)
保存以后将这个批处理软件拖到“window->开始->程序->启动”中。 如果在网吧,可以利用收费软件服务端程序(pubwin或者万象都可以)把这个批处理文件rarp.bat发送到所有客户机的启动目录。