arp病毒(剖析ARP病毒的危害及ARP病毒清除方法全攻略)
一、什么是ARP病毒,它的危害是什么
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。所以说从某种意义上讲ARP协议是工作在更低于IP协议的协议层。这也是为什么ARP欺骗更能够让人在神不知鬼不觉的情况下出现网络故障,他的危害更加隐蔽。
首先我们可以肯定一点的就是发送ARP欺骗包是通过一个恶毒的程序自动发送的,正常的TCP/IP网络是不会有这样的错误包发送的,而人工发送又比较麻烦。也就是说当黑客没有运行这个恶毒程序的话,网络上通信应该是一切正常的,保留在各个连接网络计算机上的ARP缓存表也应该是正确的,只有程序启动开始发送错误ARP信息以及ARP欺骗包时才会让某些计算机访问网络出现问题。接下来我们来阐述下ARP欺骗的原理。
第一步:假设这样一个网络,一个Hub或交换机连接了3台机器,依次是计算机A,B,C。
A的地址为:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC
第二步:正常情况下在A计算机上运行ARP-A查询ARP缓存表应该出现如下信息。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 CC-CC-CC-CC-CC-CC dynamic
第三步:在计算机B上运行ARP欺骗程序,来发送ARP欺骗包。
B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址。
第四步:欺骗完毕我们在A计算机上运行ARP-A来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 DD-DD-DD-DD-DD-DD dynamic
从上面的介绍我们可以清楚的明白原来网络中传输数据包最后都是要根据MAC地址信息的,也就是说虽然我们日常通讯都是通过IP地址,但是最后还是需要通过ARP协议进行地址转换,将IP地址变为MAC地址。而上面例子中在计算机A上的关于计算机C的MAC地址已经错误了,所以即使以后从A计算机访问C计算机这个192.168.1.3这个地址也会被ARP协议错误的解析成MAC地址为DD-DD-DD-DD-DD-DD的。
问题也会随着ARP欺骗包针对网关而变本加厉,当局域网中一台机器,反复向其他机器,特别是向网关,发送这样无效假冒的ARP应答信息包时,严重的网络堵塞就会开始。由于网关MAC地址错误,所以从网络中计算机发来的数据无法正常发到网关,自然无法正常上网。这就造成了无法访问外网的问题,另外由于很多时候网关还控制着我们的局域网LAN上网,所以这时我们的LAN访问也就出现问题了。
前面也提到了ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种方法和手段来避免,而ARP协议工作在更低层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。而且很多黑客工具例如网络剪刀手等,可以随时发送ARP欺骗数据包和ARP恢复数据包,这样就可以实现在一台普通计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机的上网与否,甚至还可以直接对网关进行攻击,让所有连接网络的计算机都无法正常上网。这点在以前是不可能的,因为普通计算机没有管理权限来控制网关,而现在却成为可能,所以说ARP欺骗的危害是巨大的,而且非常难对付,非法用户和恶意用户可以随时发送ARP欺骗和恢复数据包,这样就增加了网络管理员查找真凶的难度。那么难道就没有办法来阻止ARP欺骗问题的发生吗?下篇文章笔者将就这些内容进行讲解,让我们真真正正的和ARP欺骗说再见。
二、ARP病毒如何清除
网络中任何一台电脑都会因为网络访问,携带arp病毒,然后发起arp攻击,所以需要arp彻底全面的防护。
介绍你使用巡路免疫墙,将巡路免疫墙安装到每一台局域网电脑,这样每台电脑发出的arp攻击都可以被巡路拦截,网络里自然就没有arp攻击数据,网络也就稳定了。巡路免疫墙会把当前攻击源找出来,报告给你,这样攻击既没有影响网络,又可以找到攻击源。
ARP病毒解决方案:
1、清空ARP缓存:大家可能都曾经有过使用ARP的指令法解决过ARP欺骗问题,该方法是针对ARP欺骗原理进行解决的。一般来说ARP欺骗都是通过发送虚假的MAC地址与IP地址的对应ARP数据包来迷惑网络设备,用虚假的或错误的MAC地址与IP地址对应关系取代正确的对应关系。若是一些初级的ARP欺骗,可以通过ARP的指令来清空本机的ARP缓存对应关系,让网络设备从网络中重新获得正确的对应关系,具体解决过程如下:
第一步:通过点击桌面上任务栏的“开始”->“运行”,然后输入cmd后回车,进入cmd(黑色背景)命令行模式;
第二步:在命令行模式下输入arp-a命令来查看当前本机储存在本地系统ARP缓存中IP和MAC对应关系的信息;
第三步:使用arp-d命令,将储存在本机系统中的ARP缓存信息清空,这样错误的ARP缓存信息就被删除了,本机将重新从网络中获得正确的ARP信息,达到局域网机器间互访和正常上网的目的。如果是遇到使用ARP欺骗工具来进行攻击的情况,使用上述的方法完全可以解决。但如果是感染ARP欺骗病毒,病毒每隔一段时间自动发送ARP欺骗数据包,这时使用清空ARP缓存的方法将无能为力了。下面将接收另外一种,可以解决感染ARP欺骗病毒的方法。
2、指定ARP对应关系:其实该方法就是强制指定ARP对应关系。由于绝大部分ARP欺骗病毒都是针对网关MAC地址进行攻击的,使本机上ARP缓存中存储的网关设备的信息出现紊乱,这样当机器要上网发送数据包给网关时就会因为地址错误而失败,造成计算机无法上网。
第一步:我们假设网关地址的MAC信息为00-14-78-a7-77-5c,对应的IP地址为192.168.2.1。指定ARP对应关系就是指这些地址。在感染了病毒的机器上,点击桌面->任务栏的“开始”->“运行”,输入cmd后回车,进入cmd命令行模式;
第二步:使用arp-s命令来添加一条ARP地址对应关系,例如arp-s 192.168.2.1 00-14-78-a7-77-5c命令。这样就将网关地址的IP与正确的MAC地址绑定好了,本机网络连接将恢复正常了;
第三步:因为每次重新启动计算机的时候,ARP缓存信息都会被全部清除。所以我们应该把这个ARP静态地址添加指令写到一个批处理文件(例如:bat)中,然后将这个文件放到系统的启动项中。当程序随系统的启动而加载的话,就可以免除因为ARP静态映射信息丢失的困扰了。
3、添加路由信息应对ARP欺骗:
一般的ARP欺骗都是针对网关的,那么我们是否可以通过给本机添加路由来解决此问题呢。只要添加了路由,那么上网时都通过此路由出去即可,自然也不会被ARP欺骗数据包干扰了。第一步:先通过点击桌面上任务栏的“开始”->“运行”,然后输入cmd后回车,进入cmd(黑色背景)命令行模式;
第二步:手动添加路由,详细的命令如下:删除默认的路由: route delete 0.0.0.0;添加路由:
route add-p 0.0.0.0 mask 0.0.0.0 192.168.1.254 metric 1;确认修改:
route change此方法对网关固定的情况比较适合,如果将来更改了网关,那么就需要更改所有的客户端的路由配置了。
4、安装杀毒软件:
安装杀毒软件并及时升级,另外建议有条件的企业可以使用网络版的防病毒软件。
三、如何清除区域网中的ARP病毒
如何清除区域网中的ARP病毒
ARP病毒的症状
有时候无法正常上网,有时候有好了,包括访问网路上的芳邻也是如此,拷贝档案无法完成,出现错误;区域网内的ARP包爆增,使用ARP查询的时候会发现不正常的MAC地址,或者是错误的MAC地址对应,还有就是一个MAC地址对应多个IP的情况也会有出现。
ARP攻击的原理
ARP欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警:第一乙太网资料包头的源地址、目标地址和ARP资料包的协议地址不匹配。或者,ARP资料包的传送和目标地址不在自己网路网络卡MAC资料库内,或者与自己网路MAC资料库MAC/IP不匹配。这些统统第一时间报警,查这些资料包(乙太网资料包)的源地址(也有可能伪造),就大致知道那台机器在发起攻击了。现在有网路管理工具比如网路执法官、P2P终结者也会使用同样的方式来伪装成闸道器,欺骗客户端对闸道器的访问,也就是会获取发到闸道器的流量,从而实现网路流量管理和网路监控等功能,同时也会对网路管理带来潜在的危害,就是可以很容易的获取使用者的密码等相关资讯。
处理办法
通用的处理流程
1.先保证网路正常执行
方法一:编辑一个***.bat档案内容如下:
arp.exe s**.**.**.**(闸道器ip)************(闸道器MAC地址) end
让网路使用者点选就可以了!
办法二:编辑一个登录档问题,键值如下:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]"MAC"="arp s闸道器IP地址闸道器MAC地址"
然后储存成Reg档案以后在每个客户端上点选汇入登录档。
2.找到感染ARP病毒的机器
a、在电脑上ping一下闸道器的IP地址,然后使用ARP-a的命令看得到的闸道器对应的MAC地址是否与实际情况相符,如不符,可去查询与该MAC地址对应的电脑。
b、使用抓包工具,分析所得到的ARP资料报。有些ARP病毒是会把通往闸道器的路径指向自己,有些是发出虚假ARP回应包来混淆网路通讯。第一种处理比较容易,第二种处理比较困难,如果防毒软体不能正确识别病毒的话,往往需要手工查询感染病毒的电脑和手工处理病毒,比较困难。
c、使用MAC地址扫描工具,Nbtscan扫描全网段IP地址和MAC地址对应表,有助于判断感染ARP病毒对应MAC地址和IP地址。
预防措施
1、及时升级客户端的作业系统和应用程式补丁;
2、安装和更新防毒软体。
3、如果网路规模较少,尽量使用手动指定IP设定,而不是使用DHCP来分配IP地址。
4、如果交换机支援,在交换机上系结MAC地址与IP地址。
ARP攻击的原理如何清除区域网中的ARP病毒