剖析ARP病毒的危害及ARP病毒清除方法全攻略

  一、ARP病毒分析
  APR病毒,一种地址欺骗的病毒。当局域网内某台主机运行ARP欺骗的木马程序时,会骗欺局域域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登陆了游戏服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录游戏服务器,这样病毒主机就可以盗号了。
  感染arp病毒故障现象:机器以前可正常上网的,突然出现可认证,不能上网的现象(无法ping通网关),重启机器或在MSDOS窗口下运行命令ARP -d后,又可恢复上网一段时间。
  二、ARP病毒故障原因:这是APR病毒欺骗攻击造成的。
  引起问题的原因一般是由传奇外挂携带的ARP病毒木马攻击。当在局域网内使用上述外挂时,外挂携带的病毒会将该机器的MAC地址映射到网关的IP地址上,向局域网内大量发送ARP包,从而致使同一网段地址内的其它机器误将其作为网关,这就是为什么掉线时内网是互通的,计算机却不能上网的原因。
  三、arp病毒临时处理对策:
  步骤一. 在能上网时,进入MS-DOS窗口,输入命令:arp –a 查看网关IP对应的正确MAC地址,将其记录下来。
  注:如果已经不能上网,则先运行一次命令arp –d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp –a。
  步骤二. 如果已经有网关的正确MAC地址,在不能上网时,手工将网关IP和正确MAC绑定,可确保计算机不再被攻击影响。手工绑定可在MS-DOS窗口下运行以下命令: arp –s 网关IP 网关MAC 例如:假设计算机所处网段的网关为218.197.192.254,本机地址为218.197.192.1在计算机上运行arp –a后输出如下:
  C:Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type
  218.197.192.254 00-01-02-03-04-05 dynamic 其中00-01-02-03-04-05就是网关218.197.192.254对应的MAC地址,类型是动态(dynamic)的,因此是可被改变。被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC,如果大家希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找做准备。 手工绑定的命令为: arp –s 218.197.192.254 00-01-02-03-04-05 绑定完,可再用arp –a查看arp缓存, C:Documents and Settings>arp -a Interface: 218.197.192.1 --- 0x2 Internet Address Physical Address Type 218.197.192.254 00-01-02-03-04-05 static 这时,类型变为静态(static),就不会再受攻击影响了。但是,需要说明的是,手工绑定在计算机关机重开机后就会失效,需要再绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,令其杀毒,方可解决。找出病毒计算机的方法: 如果已有病毒计算机的MAC地址,可使用NBTSCAN软件找出网段内与该MAC地址对应的IP,即病毒计算机的IP地址,然后可报告校网络中心对其进行查封。 NBTSCAN的使用方法:下载nbtscan.rar到硬盘后解压,然后将cygwin1.dll和nbtscan.exe两文件拷贝到c:windowssystem32(或system)下,进入MSDOS窗口就可以输入命令: nbtscan -r 218.197.192.0/24 (假设本机所处的网段是218.197.192,掩码是255.255.255.0;实际使用该命令时,应将斜体字部分改为正确的网段) 。
  注:使用nbtscan时,有时因为有些计算机安装防火墙软件,nbtscan的输出不全,但在计算机的arp缓存中却能有所反应,所以使用nbtscan时,还可同时查看arp缓存,就能得到比较完全的网段内计算机IP与MAC的对应关系。
  补充一下:
  Anti ARP Sniffer 使用说明
  1、功能说明: 使用Anti ARP Sniffer可以防止利用ARP技术进行数据包截取以及防止利用ARP技术发送地址冲突数据包。
  2、使用说明:
  1、ARP欺骗: 填入网关IP地址,点击[获取网关mac地址]将会显示出网关的MAC地址。点击[自动防护]即可保护当前网卡与该网关的通信不会被第三方监听。 注意:如出现ARP欺骗提示,这说明攻击者发送了ARP欺骗数据包来获取网卡的数据包,如果您想追踪攻击来源请记住攻击者的MAC地址,利用MAC地址扫描器可以找出IP 对应的MAC地址。
  2、IP地址冲突 首先点击“恢复默认”然后点击“防护地址冲突”。 如频繁的出现IP地址冲突,这说明攻击者频繁发送ARP欺骗数据包,才会出现IP冲突的警告,利用Anti ARP Sniffer可以防止此类攻击。 首先您需要知道冲突的MAC地址,Windows会记录这些错误。查看具体方法如下:
  右击[我的电脑]-->[管理]-->点击[事件查看器]-->点击[系统]-->查看来源为[TcpIP]--->双击事件可以看到显示地址发生冲突,并记录了该MAC地址,请复制该MAC地址并填入Anti ARP Sniffer的本地MAC地址输入框中(请注意将:转换为-),输入完成之后点击[防护地址冲突],为了使MAC地址生效请禁用本地网卡然后再启用网卡,在CMD命令行中输入Ipconfig /all,查看当前MAC地址是否与本地MAC地址输入框中的MAC地址相符。如果成功将不再会显示地址冲突。 注意:如果您想恢复默认MAC地址,请点击[恢复默认],为了使MAC地址生效请禁用本地网卡然后再启用网卡。
  四、定位APR病毒攻击源头和防御方法
  1.定位APR病毒攻击源头
  主动定位方式:因为所有的APR病毒攻击源都会有其特征——网卡会处于混杂模式,可以通过ARPKiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可能就是“元凶”。定位好机器后,再做病毒信息收集,提交给趋势科技做分析处理。
  标注:网卡可以置于一种模式叫混杂模式(promiscuous),在这种模式下工作的网卡能够收到一切通过它的数据,而不管实际上数据的目的地址是不是它。这实际就是Sniffer工作的基本原理:让网卡接收一切它所能接收的数据。
  被动定位方式:在局域网发生APR病毒攻击时,查看交换机的动态ARP表中的内容,确定攻击源的MAC地址;也可以在局域居于网中部署Sniffer工具,定位APR病毒攻击源的MAC。
  也可以直接Ping网关IP,完成Ping后,用ARP –a查看网关IP对应的MAC地址,此MAC地址应该为欺骗的MAC。
  使用NBTSCAN可以取到PC的真实IP地址、机器名和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP、机器名和MAC地址。
  命令:“nbtscan -r 192.168.16.0/254”(搜索整个192.168.16.0/254网段, 即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137。输出结果第一列是IP地址,最后一列是MAC地址。
  NBTSCAN的使用范例:
  假设查找一台MAC地址为“000d870d585f”的病毒主机。
  1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:下。
  2)在Windows开始—运行—打开,输入cmd(windows98输入“command”),在出现的DOS窗口中输入:C: btscan -r 192.168.16.1/24(这里需要根据用户实际网段输入),回车。
  3)通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。
  通过上述方法,我们就能够快速的找到病毒源,确认其MAC——〉机器名和IP地址。
  2.防御方法
  a.使用可防御APR病毒攻击的三层交换机,绑定端口-MAC-IP,限制ARP流量,及时发现并自动阻断ARP攻击端口,合理划分VLAN,彻底阻止盗用IP、MAC地址,杜绝ARP的攻击。
  b.对于经常爆发病毒的网络,进行Internet访问控制,限制用户对网络的访问。此类ARP攻击程序一般都是从Internet下载到用户终端,如果能够加强用户上网的访问控制,就能极大的减少该问题的发生。
  c.在发生ARP攻击时,及时找到病毒攻击源头,并收集病毒信息,可以使用趋势科技的SIC2.0,同时收集可疑的病毒样本文件,一起提交到趋势科技的TrendLabs进行分析,TrendLabs将以最快的速度提供病毒码文件,从而可以进行ARP病毒的防御。
  ARP病毒运作基理:
  1.LOADHW.EXE 执行时会释放两个组件npf.sys 和msitinit.dll .
  LOADHW.EXE释放组件后即终止运行.
  注意: 病毒假冒成winPcap的驱动程序,并提供winPcap的功能. 客户若原先装有winPcap,
  npf.sys将会被病毒文件覆盖掉.
  2.随后msitinit.dll将npf.sys注册(并监视)为内核级驱动设备: "NetGroup Packet Filter Driver"
  msitinit.dll 还负责发送指令来操作驱动程序npf.sys (如发送APR欺骗包, 抓包, 过滤包等)
  以下从病毒代码中提取得服务相关值:
  BinaryPathName = "system32drivers pf.sys"StartType = SERVICE_AUTO_STARTServiceType= SERVICE_KERNEL_DRIVERDesiredAccess= SERVICE_ALL_ACCESSDisplayName = "NetGroup Packet Filter Driver"ServiceName = "Npf"
  3. npf.sys 负责监护msitinit.dll. 并将LOADHW.EXE注册为自启动程序:
  [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce]
  dwMyTest =LOADHW.EXE
  注: 由于该项位于RunOnce下,该注册表启动项在每次执行后,即会被系统自动删除.

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwddd.html