ARP地址欺骗类病毒(以下简称ARP病毒)是一类特殊的病毒,该病毒一般属于***(Trojan)病毒,不具备主动传播的特性,不会自我复制。但是由于其发作的时候会向全网发送伪造的ARP数据包,干扰全网的运行,因此它的危害比一些蠕虫还要严重得多。
二、ARP病毒发作时的现象
网络掉线,但网络连接正常,内网的部分PC机不能上网,或者所有电脑不能上网,无法打开网页或打开网页慢,局域网时断时续并且网速较慢等。
三、ARP病毒原理
3.1 网络模型简介
众所周知,按照OSI (Open Systems Interconnection Reference Model 开放系统互联参考模型) 的观点,可将网络系统划分为7层结构,每一个层次上运行着不同的协议和服务,并且上下层之间互相配合,完成网络数据交换的功能,如图1:

图1 OSI网络体系模型
然而,OSI的模型仅仅是一个参考模型,并不是实际网络中应用的模型。实际上应用最广泛的商用网络模型即TCP/IP体系模型,将网络划分为四层,每一个层次上也运行着不同的协议和服务,如图2。

图2 TCP/IP四层体系模型及其配套协议
上图中,蓝色字体表示该层的名称,绿色字表示运行在该层上的协议。由图2可见,我们即将要讨论的ARP协议,就是工作在网际层上的协议。
3.2 ARP协议简介
我们大家都知道,在局域网中,一台主机要和另一台主机进行通信,必须要知道目标主机 的IP地址,但是最终负责在局域网中传送数据的网卡等物理设备是不识别IP地址的,只能识别其硬件地址即MAC地址。MAC地址是48位的,通常表示为 12个16进制数,每2个16进制数之间用“-”或者冒号隔开,如:00-0B-2F-13-1A-11就是一个MAC地址。每一块网卡都有其全球唯一的 MAC地址,网卡之间发送数据,只能根据对方网卡的MAC地址进行发送,这时就需要一个将高层数据包中的IP地址转换成低层MAC地址的协议,而这个重要 的任务将由ARP协议完成。
ARP全称为Address Resolution Protocol,地址解析协议。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。ARP协议的基本功能就是 通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能准确的记住对方电脑网卡的MAC地址,以便数据的发送呢?这就 涉及到了另外一个概念,ARP缓存表。在局域网的任何一台主机中,都有一个ARP缓存表,该表中保存这网络中各个电脑的IP地址和MAC地址的对照关系。 当这台主机向同局域网中另外的主机发送数据的时候,会根据ARP缓存表里的对应关系进行发送。
下面,我们用一个模拟的局域网环境,来说明ARP欺骗的过程。
3.3 ARP欺骗过程
假设一个只有三台电脑组成的局域网,该局域网由交换机(Switch)连接。其中一 个电脑名叫A,代表***方;一台电脑叫S,代表源主机,即发送数据的电脑;令一台电脑名叫D,代表目的主机,即接收数据的电脑。这三台电脑的IP地址分别 为192.168.0.2,192.168.0.3,192.168.0.4。MAC地址分别为MAC_A,MAC_S,MAC_D。其网络拓扑环境如图 3。

图3 网络拓扑
现在,S电脑要给D电脑发送数据了,在S电脑内部,上层的TCP和UDP的数据包已经传送到 了最底层的网络接口层,数据包即将要发送出去,但这时还不知道目的主机D电脑的MAC地址MAC_D。这时候,S电脑要先查询自身的ARP缓存表,查看里 面是否有192.168.0.4这台电脑的MAC地址,如果有,那很好办,就将 封装在数据包的外面。直接发送出去即可。如果没有,这时S电脑要向全网络发送一个ARP广播包,大声询问:“我的IP是192.168.0.3,硬件地址 是MAC_S,我想知道IP地址为192.168.0.4的主机的硬件地址是多少?” 这时,全网络的电脑都收到该ARP广播包了,包括A电脑和D电脑。A电脑一看其要查询的IP地址不是自己的,就将该数据包丢弃不予理会。而D电脑一看IP 地址是自己的,则回答S电脑:“我的IP地址是192.168.0.4,我的硬件地址是MAC_D”需要注意的是,这条信息是单独回答的,即D电脑单独向 S电脑发送的,并非刚才的广播。现在S电脑已经知道目的电脑D的MAC地址了,它可以将要发送的数据包上贴上目的地址MAC_D,发送出去了。同时它还会 动态更新自身的ARP缓存表,将192.168.0.4-MAC_D这一条记录添加进去,这样,等S电脑下次再给D电脑发送数据的时候,就不用大声询问发 送ARP广播包了。这就是正常情况下的数据包发送过程。
这样的机制看上去很完美,似乎整个局域网也天下太平,相安无事。但是,上述数据发 送机制有一个致命的缺陷,即它是建立在对局域网中电脑全部信任的基础上的,也就是说它的假设前提是:无论局域网中那台电脑,其发送的ARP数据包都是正确 的。那么这样就很危险了!因为局域网中并非所有的电脑都安分守己,往往有非法者的存在。比如在上述数据发送中,当S电脑向全网询问“我想知道IP地址为 192.168.0.4的主机的硬件地址是多少?”后,D电脑也回应了自己的正确MAC地址。但是当此时,一向沉默寡言的A电脑也回话了:“我的IP地址 是192.168.0.4,我的硬件地址是MAC_A” ,注意,此时它竟然冒充自己是D电脑的IP地址,而MAC地址竟然写成自己的!由于A电脑不停地发送这样的应答数据包,本来S电脑的ARP缓存表中已经保 存了正确的记录:192.168.0.4-MAC_D,但是由于A电脑的不停应答,这时S电脑并不知道A电脑发送的数据包是伪造的,导致S电脑又重新动态 更新自身的ARP缓存表,这回记录成:192.168.0.4-MAC_A,很显然,这是一个错误的记录(这步也叫ARP缓存表中毒),这样就导致以后凡 是S电脑要发送给D电脑,也就是IP地址为192.168.0.4这台主机的数据,都将会发送给MAC地址为MAC_A的主机,这样,在光天化日之下,A 电脑竟然劫持了由S电脑发送给D电脑的数据!这就是ARP欺骗的过程。
如果A这台电脑再做的“过分”一些,它不冒充D电脑,而是冒充网关,那后果会怎么 样呢?我们大家都知道,如果一个局域网中的电脑要连接外网,也就是登陆互联网的时候,都要经过局域网中的网关转发一下,所有收发的数据都要先经过网关,再 由网关发向互联网。在局域网中,网关的IP地址一般为192.168.0.1。如果A这台电脑向全网不停的发送ARP欺骗广播,大声说:“我的IP地址是 192.168.0.1,我的硬件地址是MAC_A”这时局域网中的其它电脑并没有察觉到什么,因为局域网通信的前提条件是信任任何电脑发送的ARP广播 包。这样局域网中的其它电脑都会更新自身的ARP缓存表,记录下192.168.0.1-MAC_A这样的记录,这样,当它们发送给网关,也就是IP地址 为192.168.0.1这台电脑的数据,结果都会发送到MAC_A这台电脑中!这样,A电脑就将会监听整个局域网发送给互联网的数据包!
实际上,这种病毒早就出现过,这就是ARP地址欺骗类病毒。一些传奇*** (Trojan/PSW.LMir)具有这样的特性,该***一般通过传奇外挂、网页***等方式使局域网中的某台电脑中毒,这样中毒电脑便可嗅探到整个局域 网发送的所有数据包,该***破解了《传奇》游戏的数据包加密算法,通过截获局域网中的数据包,分析数据包中的用户隐私信息,盗取用户的游戏帐号和密码。在 解析这些封包之后,再将它们发送到真正的网关。这样的病毒有一个令网吧游戏玩家闻之色变的名字:“传奇网吧杀手” !\
四、ARP病毒新的表现形式
由于现在的网络游戏数据包在发送过程中,均已采用了强悍的加密算法,因此这类ARP 病毒在解密数据包的时候遇到了很大的难度。现在又新出现了一种ARP病毒,与以前的一样的是,该类ARP病毒也是向全网发送伪造的ARP欺骗广播,自身伪 装成网关。但区别是,它着重的不是对网络游戏数据包的解密,而是对于HTTP请求访问的修改。
HTTP是应用层的协议,主要是用于WEB网页访问。还是以上面的局域网环境举 例,如果局域网中一台电脑S要请求某个网站页面,如想请求[url]www.sina.com.cn[/url]这个网页,这台电脑会先向网关发送HTTP请求,说:“我想登陆 [url]www.sina.com.cn[/url]网页,请你将这个网页下载下来,并发送给我。”这样,网关就会将[url]www.sina.com.cn[/url]页面下载下来,并发送给S 电脑。这时,如果A这台电脑通过向全网发送伪造的ARP欺骗广播,自身伪装成网关,成为一台ARP中毒电脑的话,这样当S电脑请求WEB网页时,A电脑先 是“好心好意”地将这个页面下载下来,然后发送给S电脑,但是它在返回给S电脑时,会向其中插入恶意网址连接!该恶意网址连接会利用MS06-014和 MS07-017等多种系统漏洞,向S电脑种植***病毒!同样,如果D电脑也是请求WEB页面访问,A电脑同样也会给D电脑返回带毒的网页,这样,如果一 个局域网中存在这样的ARP病毒电脑的话,顷刻间,整个网段的电脑将会全部中毒!沦为***手中的僵尸电脑!
案例
某企业用户反映,其内部局域网用户无论访问那个网站,KV杀毒软件均报病毒:Exploit.ANIfile.o 。
在经过对该局域网分析之后,发现该局域网中有ARP病毒电脑导致其它电脑访问网页 时,返回的网页带毒,并且该带毒网页通过MS06-014和MS07-017漏洞给电脑植入一个***下载器,而该***下载器又会下载10多个恶性网游木 马,可以盗取包括魔兽世界,传奇世界,征途,梦幻西游,边锋游戏在内的多款网络游戏的帐号和密码,对网络游戏玩家的游戏装备造成了极大的损失。被ARP病 毒电脑篡改的网页如图4。

图4 被ARP病毒插入的恶意网址连接
从图4中可以看出,局域网中存在这样的ARP病毒电脑之后,其它客户机无论访问什么网页,当返回该网页时,都会被插入一条恶意网址连接,如果用户没有打过相应的系统补丁,就会感染***病毒。
五、ARP病毒电脑的定位方法
下面,又有了一个新的课题摆在我们面前:如何能够快速检测定位出局域网中的ARP病毒电脑?
面对着局域网中成百台电脑,一个一个地检测显然不是好办法。其实我们只要利用ARP 病毒的基本原理:发送伪造的ARP欺骗广播,中毒电脑自身伪装成网关的特性,就可以快速锁定中毒电脑。可以设想用程序来实现以下功能:在网络正常的时候, 牢牢记住正确网关的IP地址和MAC地址,并且实时监控着来自全网的ARP数据包,当发现有某个ARP数据包广播,其IP地址是正确网关的IP地址,但是 其MAC地址竟然是其它电脑的MAC地址的时候,这时,无疑是发生了ARP欺骗。对此可疑MAC地址报警,在根据网络正常时候的IP-MAC地址对照表查 询该电脑,定位出其IP地址,这样就定位出中毒电脑了。下面详细说一下几种不同的检测ARP中毒电脑的方法。
5.1 命令行法
这种方法比较简便,不利用第三方工具,利用系统自带的ARP命令即可完成。上文已经 说过,当局域网中发生ARP欺骗的时候,ARP病毒电脑会向全网不停地发送ARP欺骗广播,这时局域网中的其它电脑就会动态更新自身的ARP缓存表,将网 关的MAC地址记录成ARP病毒电脑的MAC地址,这时候我们只要在其它受影响的电脑中查询一下当前网关的MAC地址,就知道中毒电脑的MAC地址了,查 询命令为 ARP -a,需要在cmd命令提示行下输入。输入后的返回信息如下:

[pre]Internet Address      Physical Address        Type192.168.0.1         
00-50-56-e6-49-56      dynamic[/pre]

这时,由于这个电脑的ARP表是错误的记录,因此,该MAC地址不是真正网关的MAC地址, 而是中毒电脑的MAC地址!这时,再根据网络正常时,全网的IP—MAC地址对照表,查找中毒电脑的IP地址就可以了。由此可见,在网络正常的时候,保存 一个全网电脑的IP—MAC地址对照表是多么的重要。可以使用nbtscan 工具扫描全网段的IP地址和MAC地址,保存下来,以备后用。
5.2 工具软件法
现在网上有很多ARP病毒定位工具,其中做得较好的是Anti ARP Sniffer(现在已更名为ARP防火墙),下面我就演示一下使用Anti ARP Sniffer这个工具软件来定位ARP中毒电脑。
首先打开Anti ARP Sniffer 软件,输入网关的IP地址之后,再点击红色框内的“枚举MAC”按钮,即可获得正确网关的MAC地址,如图5。

图5 输入网关IP地址后,枚举MAC
接着点击“自动保护”按钮,即可保护当前网卡与网关的正常通信。如图6。

图6 点击自动保护按钮
当局域网中存在ARP欺骗时,该数据包会被Anti ARP Sniffer记录,该软件会以气泡的形式报警。如图7。

图7 Anti ARP Sniffer 的拦截记录
这时,我们再根据欺骗机的MAC地址,对比查找全网的IP-MAC地址对照表,即可快速定位出中毒电脑。
5.3 Sniffer 抓包嗅探法
当局域网中有ARP病毒欺骗时,往往伴随着大量的ARP欺骗广播数据包,这时,流量检测机制应该能够很好的检测出网络的异常举动,此时Ethereal 这样的抓包工具就能派上用场。如图8。

图8 用Ethereal抓包工具定位出ARP中毒电脑
从图8中的红色框内的信息可以看出,192.168.0.109 这台电脑正向全网发送大量的ARP广播包,一般的讲,局域网中有电脑发送ARP广播包的情况是存在的,但是如果不停的大量发送,就很可疑了。而这台192.168.0.109 电脑正是一个ARP中毒电脑。
以上三种方法有时需要结合使用,互相印证,这样可以快速准确的将ARP中毒电脑定位出来。
七、ARP病毒的网络免疫措施
由于ARP病毒的种种网络特性,可以采用一些技术手段进行网络中ARP病毒欺骗数据包免疫。即便网络中有ARP中毒电脑,在发送欺骗的ARP数据包,其它电脑也不会修改自身的ARP缓存表,数据包始终发送给正确的网关,用的比较多的办法是“双向绑定法” 。
双向绑定法,顾名思义,就是要在两端绑定IP-MAC地址,其中一端是在路由器中, 把所有PC的IP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。令一端是局域网中的每个客户机,在客户端设置网关的静态ARP信息,这叫PC 机IP-MAC绑定。客户机中的设置方法如下:
新建记事本,输入如下命令:

[pre]arp -darp -s 192.168.0.1  00-e0-4c-8c-9a-47[/pre]

其中,“arp –d” 命令是清空当前的ARP缓存表,而“arp -s 192.168.0.1 00-e0-4c-8c-9a-47 ”命令则是将正确网关的IP地址和MAC地址绑定起来,将这个批处理文件放到系统的启动目录中,可以实现每次开机自运行,这一步叫做“固化arp表” 。
“双向绑定法”一般在网吧里面应用的居多。
除此之外,很多交换机和路由器厂商也推出了各自的防御ARP病毒的软硬产品,如:华 为的H3C AR 18-6X 系列全千兆以太网路由器就可以实现局域网中的ARP病毒免疫,该路由器提供MAC和IP地址绑定功能,可以根据用户的配置,在特定的IP地址和MAC地址 之间形成关联关系。对于声称从这个IP地址发送的报文,如果其MAC地址不是指定关系对中的地址,路由器将予以丢弃,是避免IP地址假冒***的一种方式。

转载于:https://blog.51cto.com/hohu712/113964

局域网arp欺骗病毒查找预防方法(1)相关推荐

  1. ARP欺骗病毒的专题

    (转:http://nc.huel.edu.cn/wt_news/131916192532074846.html) 鉴于目前ARP欺骗对局域网安全运行造成的影响,我们收集整理了这个ARP欺骗病毒的专题 ...

  2. 局域网 ARP 欺骗原理详解

    局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...

  3. java编程实现arp欺骗_局域网 ARP 欺骗原理详解

    局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...

  4. 感染了Arp欺骗病毒(木马)

    感染了Arp欺骗病毒(木马)的电脑的症状表现如下: <script type="text/JavaScript"> var alimama_pid="mm_1 ...

  5. Kali实现局域网ARP欺骗和ARP攻击

    Kali实现局域网ARP欺骗和ARP攻击 原文地址:http://m.2cto.com/Article/201506/407846.html 所谓ARP攻击,就是伪造IP和MAC地址进行的攻击或者欺骗 ...

  6. 防范ARP欺骗的综合解决方法 [转]

    ARP病毒防制方法待加强 ARP病毒问题已经讲了很长一段时间了,大家对于ARP病毒的防制也总结了不少的经验,不断在网上发更新防制方法.但是新的ARP病毒的变种更加猖獗,更加充斥我们网络的不同角落给我们 ...

  7. 防范ARP欺骗病毒攻击

    近一段时间以来,有一些用户反映网络时断时续,网络速度较以前慢许多,而且这种情况一旦发生,用户单位局域网所有用户都不能正常上网.通过深入分析发现是因为局域网内部分用户受到一类名为ARP病毒程序的攻击,该 ...

  8. 浅析局域网ARP欺骗导致的信息泄露

    生活中大家一块上网,局域网中总会有抢带宽的,还有故意限制别人带宽的,可能很多人都是受害者,被P2P终结者.聚生网管之类的软件限制过,或许还有人用这个限制过别人.ARP欺骗攻击,貌似很陌生的一个名词,却 ...

  9. ettercap局域网arp欺骗,轻松窃密

    ettercap是款可用于arp欺骗的软件,支持linux,mac等,安装就不多说了. 先看看被攻击的机器:(arp -a) 此时是正常状态.呆会将在192.168.1.112机器安装ettercap ...

最新文章

  1. Windows 文件服务器升级跨林迁移(二)
  2. 如何改变一个地图的Zoom单位
  3. 计算机软件集成项目工程师上海,2021年上海系统集成项目管理工程师报名时间和报名入口...
  4. 【NLP】文本生成?还不快上知识库
  5. iis8.5 php mysql_Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
  6. JS OOP -01 面向对象的基础
  7. svn上传报Authorization failed错误解决办法
  8. python并发编程2-进程
  9. C语言和设计模式(备忘录模式)
  10. 201621123015《Java程序设计》第11周学习总结
  11. 不到4个小时,我找到了一枚苹果 0day
  12. CSS基础——CSS字体样式属性【学习笔记】
  13. python html表格模版,python-如何使用模板(例如Jinja2)将列值列表呈现到表中
  14. EasyExcel导出设置表头字体样式和批注
  15. ios 启动图一键生成工具_[iOS]利用Appicon and Launchimage Maker生成并配置iOSApp的图标和启动页...
  16. 无盘服务器吃鸡卡,无盘新手必备知识
  17. vc循序渐进实现仿QQ界面(三):界面调色与控件自绘
  18. 44道JS难题,做对一半就是高手
  19. ViewConfiguration常量字段介绍
  20. 2022广东省安全员B证第三批(项目负责人)考试试题及模拟考试

热门文章

  1. wincc怎么做数据库_wincc 数据库
  2. 高德地图怎么搜索marker_百度、高德、腾讯地图坐标认证怎么弄,3分钟轻松自助认证...
  3. TS中的unknown类型
  4. 为什么二维码这么神奇,扫一下就能得到各种各样的信息?
  5. java spring 事务_java 事务与spring 声明式事务
  6. python的实例类方法、修饰器类方法、修饰器保护方法、修饰器静态方法中私有属性的区别和自定义property的读写方法
  7. linux yum源码安装mysql_linux下通过源码包安装mysql,以及yum安装
  8. 20200701:力扣194周周赛上
  9. android 横盘方向传感器,横盘震荡选择方向!
  10. 如何去除360浏览器“网页走丢了”页面广告