ARP病毒入侵原理和解决方案

解决ARP攻击的方法

【故障原因】

  局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序)。

  【故障原理】

  要了解故障原理,我们先来了解一下ARP协议。

  在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。

  ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

  每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下表所示。  

  主机 IP地址 MAC地址

  A 192.168.16.1 aa-aa-aa-aa-aa-aa

  B 192.168.16.2 bb-bb-bb-bb-bb-bb

  C 192.168.16.3 cc-cc-cc-cc-cc-cc

  D 192.168.16.4 dd-dd-dd-dd-dd-dd  

  我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

  从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,嗅探成功。

  A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。因为A和C连接不上了。D对接收到A发送给C的数据包可没有转交给C。

  做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了整个计划。

  D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。

  【故障现象】

  当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。

  切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。

  由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。

  【HiPER用户快速发现ARP欺骗木马】

  在路由器的“系统历史记录”中看到大量如下的信息(440以后的路由器软件版本中才有此提示):

  MAC Chged 10.128.103.124

  MAC Old 00:01:6c:36:d1:7f

  MAC New 00:05:5d:60:c7:18

  这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址),同时在路由器的“用户统计”中看到所有用户的MAC地址信息都一样。

  如果是在路由器的“系统历史记录”中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在路由器上恢复其真实的MAC地址)。

  【在局域网内查找病毒主机】

  在上面我们已经知道了使用ARP欺骗木马的主机的MAC地址,那么我们就可以使用NBTSCAN(下载地址:http://www.jb51.net/softs/64461.html)工具来快速查找它。

  NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”传奇木马”在做怪,可以找到装有木马的PC的IP/和MAC地址。

  命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段, 即

  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(这里需要根据用户实际网段输入),回车。  

  C:Documents and SettingsALAN>C: 
btscan -r 192.168.16.1/24

  Warning: -r option not supported under Windows. Running without it.  

  Doing NBT name scan for addresses from 192.168.16.1/24  

  IP address NetBIOS Name Server User MAC address

  ------------------------------------------------------------------------------

  192.168.16.0 Sendto failed: Cannot assign requested address

  192.168.16.50 SERVER 00-e0-4c-4d-96-c6

  192.168.16.111 LLF ADMINISTRATOR 00-22-55-66-77-88

  192.168.16.121 UTT-HIPER 00-0d-87-26-7d-78

  192.168.16.175 JC 00-07-95-e0-7c-d7

  192.168.16.223 test123 test123 00-0d-87-0d-58-5f  

  3)通过查询IP--MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。

  【解决思路】

  1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。

  2、设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。

  3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。

  4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。

  5、使用""proxy""代理IP的传输。

  6、使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。

  7、管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。

  8、管理员定期轮询,检查主机上的ARP缓存。

  9、使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

【HiPER用户的解决方案】

  建议用户采用双向绑定的方法解决并且防止ARP欺骗。

  1、在PC上绑定路由器的IP和MAC地址:

  1)首先,获得路由器的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa局域网端口MAC地址>)。

  2)编写一个批处理文件rarp.bat内容如下:

  @echo off

  arp -d

  arp -s 192.168.16.254 00-22-aa-00-22-aa

  将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。

  将这个批处理软件拖到“windows--开始--程序--启动”中。

(0)

相关推荐

  • ARP病毒入侵原理和解决方案

    解决ARP攻击的方法 [故障原因] 局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序). [故障原理] 要了解故障原理,我们先来了解一下ARP协议. 在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞. ARP协议是"Address Resolution Protocol"(地址解析协议)

  • 服务器ARP病毒的特征及防护说明

    近期有些用户反映服务器上所有网站被插入了病毒代码,但是这些病毒代码  在服务器的源文件上并不能找到,因此,网管想清理病毒也无从下手,这是什  么原因造成的呢? 答:这是近期流行的ARP病毒造成的.  具体地说,就是您的服务器所在的机房有上百台服务器,其中有一台服  务器被人入侵并安装了ARP病毒,虽然并不是您自己的服务器被入侵,  但也会严重影响到其他服务器包括您自己的服务器. 例如:机房只要有其中一台带毒的服务器被入侵后,它就会向同一个机  房其它的服务器广播这样的欺骗性信息:"我是网关,大家

  • Arp病毒专杀工具 下载

    工具类型:综合工具 ⊙ 操作系统:所有Windows系统 ⊙ 工具大小:1.95 MB ⊙ 提交日期:2007-1-1 ⊙ 访问次数:1590 ⊙ 下载地址:下载地址 ⊙ 工具简介感染了Arp欺骗病毒(木马)的电脑的症状表现如下: 该机一开机上网就不断发Arp欺骗报文,即以假冒的网卡物理地址向同一子网的其它机器发送Arp报文,甚至假冒该子网网关物理地址蒙骗其它机器,使网内其它机器改经该病毒主机上网,这个由真网关向假网关切换的过程中其它机器会断一次网.倘若该病毒机器突然关机或离线,则其它机器又要重

  • Cisco路由器和H3C交换设备ARP病毒快速解决办法

    Cisco交换机: 在中心交换机上show logging 发现如下日志 Apr 18 10:24:16.265: %IP-4-DUPADDR: Duplicate address 172.30.30.62 on Vlan711, sourced by 0009.6b84.189e:说明有ARP病毒, 2.执行conf t,mac-address static mac地址 vlan id drop:  3.对有ARP病毒的主机进行了处理,然后在中心交换机上执行 no mac-address st

  • 解析arp病毒背后利用的Javascript技术附解密方法

    本文的目的是探讨JS相关技术,并不是以杀毒为主要目的,杀毒只是为讲解一些JS做铺垫的,呵呵,文章有点长,倒杯咖啡或者清茶慢慢看,学习切勿急躁! 最近公司的网络中了这两天闹的很欢的ARP病毒,导致大家都无法上网,给工作带来了很大的不方便,在这里写下杀毒的过程,希望对大家能有帮助! 现象:打开部分网页显示为乱码,好像是随机的行为,但是看似又不是,因为它一直在监视msn.com,呵呵,可能和微软有仇吧,继续查看源代码,发现头部有一个js文件链接----<script src=http://9-6.in

  • 完美清除局域网中ARP病毒的软件

    1.打开AntiArp Sniffer,检查右侧[管理]栏内是否自动获取了网关地址,如果没获取,则手动输入网关地址,再单击[枚取MAC].MAC地址获取后再单击[自动保护]即可!如图:screen.width-500)this.style.width=screen.width-500;" border=0>2.运行一段时间后,若弹出提示说"发现ARP欺骗数据包",则可以在"欺骗数据详细记录"看到"欺骗机MAC地址"既是中了ARP病

  • 局域网遭遇“ARP”病毒的新变种附临时解决方法

    早上来公司发现公司的电脑突然都上不了网,排除了拨号密码等问题,最后只要怀疑是arp病毒导致,于是逐个拔掉网线,首先把感染病毒的电脑断网,我们测试上网一切正常,于是我们就到360safe的官方去下了个,arp防火墙插件,每台电脑都有了arp防火墙,把感染病毒的电脑上网,也不影响我们了,问题解决突然发现原来的arp新变种 复制代码 代码如下: 国家计算机病毒应急处理中心近期监测发现,"ARP"病毒出现了新变种,一旦系统受到感染,可能会导致局域网部分计算机不能正常上网,无法打开网页等现象. 

  • Linux使用libnet实现ARP攻击脚本原理分析以防被攻击

    闲来无事,用libnet写了个简单的ARP攻击.以前感觉ARP攻击不是特别常见,不过最近工作中倒是遇到过两次ARP欺骗的事件.其实ARP欺骗的原理灰常简单滴,大部分都是在局域网中发送伪造的ARP广播包, 广播包的目的是干嘛呢?很简单,欺骗内网的所有主机,告诉受害主机,"我"是网关. 内网机器接收到这种广播包之后,会刷新自己ARP缓存表,把网关的IP和广播包中的源MAC绑定.这样攻击机器就达到了冒充网关的目的.上次一所大学就是被ARP欺骗攻击,他们的学校主页一打开就会跳出其他很多乱七八糟

  • 详解缓存穿透/击穿/雪崩原理及其解决方案

    目录 1. 简介 2. 缓存穿透 2.1描述 2.2 解决方案 3. 缓存击穿 3.1 描述 3.2 解决方案 4. 缓存雪崩 4.1 描述 4.1 解决方案 5. 布隆过滤器 5.1 描述 5.2 数据结构 5.3 "一定不在集合中" 5.4 "可能在集合中" 5.5 "删除困难" 5.6 为什么不使用HashMap呢? 1. 简介 如图所示,一个正常的请求 1.客户端请求张铁牛的博客. 2.服务首先会请求redis,查看请求的内容是否存在.

  • 详解Redis缓存穿透/击穿/雪崩原理及其解决方案

    目录 1.简介 2.缓存穿透 2.1描述 2.2解决方案 3.缓存击穿 3.1描述 3.2解决方案 4.缓存雪崩 4.1描述 4.1解决方案 5.布隆过滤器 5.1描述 5.2数据结构 5.3"一定不在集合中" 5.4"可能在集合中" 5.5"删除困难" 5.6为什么不使用HashMap呢? 1. 简介 如图所示,一个正常的请求 1.客户端请求张铁牛的博客. 2.服务首先会请求redis,查看请求的内容是否存在. 3.redis将请求结果返回给服

随机推荐