背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

arp病毒防治办法

[日期:2008-04-27] 来源:  作者: [字体: ]
近期在全国范围内大规模爆发arp病毒及其各种变种。如果局域网中发现许多台电脑中毒,电脑中毒后会向同网段内所有计算机发ARP欺骗包,由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞,用户会感觉上网速度越来越慢,掉线;甚至无法上网,同时造成整个局域网的不稳定,这种现象就是我们常见的ARP病毒。
  一、ARP病毒入侵
  首先让我们看看这种网络病毒在网络中如何实现ARP欺骗.看看这样一个例子:一个入侵者想非法进入某台主机,他知道这台主机的防火墙只对192.168.0.111(假设)这个ip开放23口(telnet),而他必须要使用telnet来进入这台主机,所以他要这么做以下几步:

  1、他先研究192.168.0.111这台主机,发现这台windowsxp的机器使用一个oob就可以让他死掉。
  2、于是,他发送一个洪水包给192.168.0.111的139端口,于是,该机器接到数据包而死。
  3、这时,主机发到192.168.0.111的ip包将无法得到响应,系统开始更新自己的arp对应表。将192.168.0.111的项目除去。
  4、这段时间里,入侵者把自己的ip改成192.168.0.111。
  5、他再发一个ping(icmp 0)给主机,要求主机更新主机的arp转换表。
  6、主机找到该ip,然后在arp表中加入新的ip-->mac对应关系。
  7、防火墙失效了,入侵的ip变成合法的mac地址,可以telnet了。

  二、ARP病毒原理:arp是一种将ip转化成以ip对应的网卡的物理地址的一种协议,或者说ARP协议是一种将ip地址转化成MAC地址的一种协议。它靠维持在内存中保存的一张表来使ip得以在网络上被目标机器应答。

  为什么要将ip转化成mac呢?简单的说,这是因为在tcp网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义。但是,当ip包到达该网络后,哪台机器响应这个ip包却是靠该ip包中所包含的mac地址来识别。也就是说,只有机器的mac地址和该ip包中的mac地址相同的机器才会应答这个ip包。因为在网络中,每一台主机都会有发送ip包的时候。所以,在每台主机的内存中,都有一个 arp--> mac 的转换表。通常是动态的转换表(注意在路由中,该arp表可以被设置成静态)。也就是说,该对应表会被主机在需要的时候刷新。这是由于以太网在子网层上的传输是靠48位的mac地址而决定的。

  目前局域网主要流行有两种方式:DHCP(动态主机配置)固定的ip地址

  DHCP(动态主机配置)
  使网络管理员能够集中管理和自动分配 IP 网络地址的通信协议。在 IP 网络中,每个连接 Internet 的设备都需要分配唯一的 IP 地址。DHCP 使网络管理员能从中心结点监控和分配 IP 地址。当某台计算机移到网络中的其它位置时,能自动收到新的 IP 地址。DHCP 使用了租约的概念,或称为计算机 IP 地址的有效期。租用时间是不定的,主要取决于用户在某地联接 Internet 需要多久, DHCP 能够在一个计算机比可用 IP 地址多的环境中动态地重新配置网络。

  如果这种网络感染了这种病毒,可想而知,因为所有的计算机没有固定的ip地址,计算机的重启,重新获取了新的ip地址。只有通过Tracert和固定ip冲突来查找病毒计算机。

  我们假设在这样局域网中增加一台机器,操作系统均为WINDOWSXP,该计算机的IP地址和网卡硬件地址分别为192.168.10.100和00-00-0D-50-EE-B1。该局域网内网网关为192.168.10.1;外网网关为222.*.*.1.当网络出现断流时, 通过Tracert www.it168.com 你可以观察出路由变化情况,正常的第一跳为 192.168.10.1, 不正常为该病毒计算机.虽然判断出哪个固定ip地址的计算机在出问题,由于固定ip地址随意行,不好判断是那台计算机; 利用IP冲突方式来判断(一个局域网中不可以同时有两个相同的ip,否则就会发生冲突,结果必然是其中的一台机器无法上网),同时抓取ip地址对应mac地址.网卡的工作有两种模式:一种是正常模式,即只能接收到指定目的MAC的广播包或都是目的MAC与网卡MAC相同的包。第二种是不检查目的MAC而接收所有的包,sniffer(监听程序)就是用这种原理来窃取网络上的数据的。那么也就是说我们只要检测出局域网中哪个网卡工作在混杂模式,它就很可能是在进行攻击的那台计算机了。

  固定的ip地址
  所谓固定的ip地址是指每台计算机ip地址是静态的(网络管理员根据自己的网络分配).
  单纯使用 tracert命令就可以找到问题的根源.(这里不在详述)

  三、故障诊断 
  如果用户发现突然不能上网,可以通过如下操作进行诊断: 
  点击“开始”按钮->选择“运行”->输入“arp -d”->点击“确定”按钮,然后重新尝试上网,如果能恢复正常,则说明此次掉线可能是受ARP欺骗所致。 
  “arp -d”命令能清除本机的arp表,arp表被清除后接着系统会自动重建新的arp表,“arp -d”命令并不能抵御ARP欺骗,执行“arp -d”命令后仍有可能再次遭受ARP攻击。 

    三、Arp病毒清除
  如果你得计算机不想格式化硬盘,请按以下顺序删除病毒组件

    1. 杀毒。
  (1)诺顿、卡巴斯基、瑞星等杀毒软件均可查杀此类病毒,注意:查杀病毒只能避免电脑主机成为ARP攻击方,并不能抵御ARP攻击。 
  (2)ARP病毒专杀工具下载。
  下载后解压缩,运行包内TSC.exe文件,不要关让它一直运行完,最后查看report文档便知是否中毒。
  2. 使用AntiArp软件抵御ARP攻击。 (下载AntiArp软件)
  先查明本机的网关IP地址,可通过以下操作获取:点击“开始”按钮->选择“运行”->输入“cmd”点击“确定”->输入“ipconfig”按回车,“Default ateway”后的IP地址就是网关地址。    
  运行AntiArp,在管理右栏那“网关地址”里填入刚才查到的IP地址,然后点击“获取MAC”,检查网关IP地址和MAC地址无误后,点击“自动保护”。 
  3. 除用AntiArp软件外,也可以用arp命令抵御ARP攻击: 
  先打开命令提示符窗口(方法如上),然后用“arp –a”命令查出默认网关和mac地址 
  运行arp –a 命令后会得出类似如下列表 
  Internet Address Physical Address Type 
  222.200.112.1 00-e0-fc-22-ab-c2 dynamic 
  其中Internet Address就是默认网关,Physical Address就是mac地址 
  然后就用“arp -s 默认网关 mac地址”进行绑定 
  例如: arp –s 222.200.112.1 00-e0-fc-22-ab-c2 
  不过因为这重启机后是不起作用的,如需开机就自行绑定arp,则需利用bat处理文件 
  该bat文件写法如下: 
  @echo off 
  arp -d 
  arp -s 网关IP地址 网关MAC地址 
  然后再将该bat文件加入“启动”项,系统启动后会自动执行arp命令绑定网关。

  4.手工查杀

     1) 删除 ”病毒组件释放者”
  %windows%/SYSTEM32/LOADHW.EXE

   2) 删除 ”发ARP欺骗包的驱动程序” (兼 “病毒守护程序”)
   %windows%/System32/drivers/npf.sys
  a. 在设备管理器中, 单击”查看”-->”显示隐藏的设备”
  b. 在设备树结构中,打开”非即插即用….”
  c. 找到” NetGroup Packet Filter Driver” ,若没找到,请先刷新设备列表
  d. 右键点击” NetGroup Packet Filter Driver” 菜单,并选择”卸载”.
  e. 重启windows系统,
  f. 删除%windows%/System32/drivers/npf.sys

  3) 删除 ”命令驱动程序发ARP欺骗包的控制者”
  %windows%/System32/msitinit.dll

  2. 删除以下”病毒的假驱动程序”的注册表服务项:
  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Npf

  五、Arp预防
  不要把你的网络安全信任关系建立在ip基础上或mac基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在ip+mac基础上。设置静态的mac-->ip对应表,不要让主机刷新你设定好的转换表,管理员定期用响应的ip包中获得一个rarp请求,然后检查ARP响应的真实性。检查主机上的ARP缓存, 使用防火墙连续监控网络。(注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢 )

录入:msf

推荐 】 【 打印
上一篇:版权申明
下一篇:全网查杀“ARP”病毒
内容查询