我是靠谱客的博主 高高蜜蜂,最近开发中收集的这篇文章主要介绍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病毒清除
       如果你得计算机不想格式化硬盘,请按以下顺序删除病毒组件
       1. 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后可双向绑定,只在本机上绑本机和路由的ARP不起任何做用.
如果要100%禁ARP病毒的话可以这样做..
    进入安全模式
    打开WINDOWS/SYSTEM32下找到NPPTOOLS.DLL文件(可同时按下NP键找到)
    因为WINDOWS发ARP包要用到NPPTOOLS文件
    双击,打开方式选记事本.
    全选记事本内的字符(看起来象乱码~_~)删除.
    保存它.这时NPPTOOLS.DLL文件应该是0字节.
    在NPPTOOLS上点右键,选中只读,再点安全选项卡把里边所以用户改成拒绝.
    (XP可能有的没有安全选项卡,这时要打开一个文件夹,点工具-文件夹选项-查看-使用简单文件共享的勾去  掉.)
     确定.
     这台机子以后就不会再有ARP病毒了。
 
ARP绑定功能
  ARP绑定是防止ARP欺骗的有效方法,就是把IP地址与相应的MAC地址进行绑定来避免ARP欺骗。ARP欺骗形式有欺骗路由器ARP表和欺骗电脑ARP两种,因此MAC地址绑定也有路由器ARP表的绑定和电脑上ARP表的绑定。两个方面的设置都是必须的,不然,如果您只设置了路由器的防止ARP欺骗功能而没有设置电脑,电脑被欺骗后就不会把数据包发送到路由器上,而是发送到一个错误的地方,当然无法上网和访问路由器了。

1、路由器ARP表绑定设置

视具体路由器而定。比如安庆教育网使用的是Quidway Eudemon 500/1000防火墙。兼用路由器。他的命令是:

# 配置客户机IP地址和MAC地址到地址绑定关系中。

[Eudemon] firewall mac-binding 202.169.168.1 00e0-fc00-0100

# 使能地址绑定功能。

[Eudemon] firewall mac-binding enable

2、电脑ARP绑定设置

Windows操作系统带有ARP命令程序,可以在Windows的命令提示符下就用这个命令来完成ARP绑定。

打开Windows命令提示符,输入“arp –a”,可以查看当前电脑上的ARP映射表。可以看到当前的ARP表的类型是“dynamic”,即动态的,通过

“arp –s w.x.y.z aa-bb-cc-dd-ee-ff”命令来添加静态ARP实现ARP绑定。其中w.x.y.z代表路由器的IP地址,aa-bb-cc-dd-ee-ff代表路由器的MAC地址。

例如:arp -s 192.168.1.1 00-02-b3-3c-16-95

再输入“arp -a”就可以看到刚才添加的静态ARP条目了。


为了不必每次重启电脑后都要重新输入上面的命令来实现防止ARP欺骗,可以新建一个批处理文件如arp_bind.bat。在里面加入我们刚才的命令:

arp -s 192.168.1.1 00-02-b3-3c-16-95


保存就可以了,以后可以通过双击它来执行这条命令,还可以把它放置到系统的启动目录下来实现启动时自己执行。打开电脑“开始”->“程序”,双击“启动”打开启动的文件夹目录,把刚才建立的arp_bind.bat复制到里面去。这样每次重启都会执行ARP绑定命令。
局域网出现“arp欺骗”木马用户无法上网的解决


出现的部分用户无法上网现象和以前经常遇到的集体瘫痪有所不同,用sniffer观察一段时间后症状并不明显,运行cmd,输入arp -a发现出现多个地址,并且出现不同的IP地址对应的MAC是一样的,因此基本确定是中了arp欺骗。

以下说明下处理这种情况的方法:

1、首先进入命令行模式

然后运行arp -a命令,该命令是查看当前arp表,可以确认网关和对应的mac地址
正常情况下会出现类似如下的提示:
Interface:192.168.1.5 --- 0x2 Internet Address Physical Address Type

192.168.1.1 00-01-02-03-04-05 dynamic

如果192.168.1.1为网关,那么00-01-02-03-04-05就是网关服务器网卡的MAC地址,比对这个MAC是否和真的服务器网卡MAC一致,如果不一致就是被欺骗,会造成用户无法上网。
而被欺骗的电脑可能会出现多个IP出现同样的MAC,出现错乱。这个时候记住要记下那个网关IP对应的错误MAC地址,这个地址很可能是中了木马的电脑,这个可以方便接下来的查杀。

2、确认之后,可以输入arp -d命令,以删除当前计算机的arp表,方便重新建立arp表。

3、接下来可以绑定正确的arp网关,输入arp -s 192.168.1.1 00-0e-18-34-0d-56
再用arp -a查看
Interface: 192.168.1.5 --- 0x2 Internet Address Physical Address Type
192.168.1.1 00-0e-18-34-0d-56 static
这时,类型变为静态(static),就不会再受攻击影响了。

 

最后

以上就是高高蜜蜂为你收集整理的ARP病毒攻击原理和查杀的全部内容,希望文章能够帮你解决ARP病毒攻击原理和查杀所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部