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

linker15年前 (2006-10-19)系统安全290

【故障原因】 

局域网内有人使用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.utt.com.cn/upload/nbtscan.rar)工具来快速查找它。 

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--开始--程序--启动”中。


前几天由于arp木马攻击的事情,引发了公司局域网全部不能上网,可见前几天的博客日志,现在收录一篇,有兴趣的,大伙可以看看,以防到时好解决。
标签: arp攻防原理

相关文章

解决登陆恶意网站IE窗口自动不停打开的一则方法

不知你遇到过这种事情没有?上网正在兴头上时,突然IE窗口不停地打开,最后直到资源耗尽死机?近日笔者上网不久,计算机便一直狂打开IE窗口,最后导致系统内存占用过多而死机。虽然我用的是IE 6,并有病毒防...

假警察病毒的手工删除方法

  (1) 打开注册表编辑器,删除如下键值<如果存在的话>:  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\...

伪装声卡程序的病毒 AdWare.Win32.Agent.eih

利用声卡程序来隐藏病毒,够阴险,也够创意。病毒名称:AntiVir :-AVG :- Kaspersky :not-a-virus:AdWare.Win32.Agent.eihNOD32v2:arch...

社会工程学基础:黑客战术

一个真实的故事   几年前的一个早晨,一群陌生人走进了一家大型远洋运输公司并控制了该公司的整个计算机网络。他们是怎么做到的?是通过从该公司的许多不同的员工那里一点点的获得帮助来达到目的的。首先,...

校园里讨MM欢心的高难动作

[img]/UserUpLoad/User0/22/200632859493421.jpg[/img] [img]/UserUpLoad/User0/22/200632859500829.jpg[/...

软件泄密打开日本信息安全天窗

连日来,日本全国上下都被一种名叫winny的点对点网络文件交换软件搞得束手无策。装有这种软件的电脑一旦感染某些病毒,就会导致电脑内存储的秘密信息在不知不觉中流失。目前各方面都在采取紧急措施,以求堵上信...

评论列表

双头鹰
15年前 (2006-10-24)

ARP卫士彻底解决任何ARP欺骗、攻击问题
通过底层核心驱动彻底解决任何ARP欺骗、攻击问题,无需安装其它任何第三方软件(如WinPcap),以服务及进程并存的形式随系统启动并运行,不占用计算机系统资源。无需对计算机进行IP地址及MAC地址绑定,从而避免了大量且无效的工作量。也不用担心计算机会在重启后新建ARP缓存列表,因为此软件是以服务与进程相结合的形式存在于计算机中,当计算机重启后软件的防护功能也会随操作系统自动启动并工作。
下载地址:http://arp.enet100.com/download.asp
有安装测试的用户,一定要看详细的安装说明。
ARP卫士主要适用于网吧,具有局域网络的企业、大学等。
欢迎有实力、有经验、有信心、有热情的个人,团体,组织加入我们,ARP卫士的广阔市场前景会给您带来滚滚财源。
公司地址:哈尔滨市南岗区花园街368号华威大厦b座2101室
邮政编码:150001
联系电话:0451-53622666
公司传真:0451-87536311
公司网址:http://arp.enet100.com
电子邮箱:myapple800128@163.com
招商经理:王晶远
QQ:625627925

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。