当前位置: 网络主页 > 校园网介绍 >

ARP攻击时的主要现象

时间:2012-06-08 12:11来源:未知 作者:admin 点击:
ARP攻击时的主要现象 1、网上银行、游戏及QQ账号的频繁丢失 一些人为了获取非法利益,利用ARP欺骗程序在网内进行非法活动,此类程序的主要目的在于破解账号登陆时的加密解密算法,通 过截取局域网中的数据包,然后以分析数据通讯协议的方法截获用户的信息。

ARP攻击时的主要现象
1、网上银行、游戏及QQ账号的频繁丢失
一些人为了获取非法利益,利用ARP欺骗程序在网内进行非法活动,此类程序的主要目的在于破解账号登陆时的加密解密算法,通 过截取局域网中的数据包,然后以分析数据通讯协议的方法截获用户的信息。运行这类木马病毒,就可以获得整个局域网中上网用 户账号的详细信息并盗取。
2、网速时快时慢,极其不稳定,但单机进行光纤数据测试时一切正常
当局域内的某台计算机被ARP的欺骗程序非法侵入后,它就会持续地向网内所有的计算机及网络设备发送大量的非法ARP欺骗数据包, 阻塞网络通道,造成网络设备的承载过重,导致网络的通讯质量不稳定。
3、局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常
当带有ARP欺骗程序的计算机在网内进行通讯时,就会导致频繁掉线,出现此类问题后重启计算机或禁用网卡会暂时解决问题,但掉 线情况还会发生。
ARP病毒原理
3.1 网络模型简介
众所周知,按照OSI (Open Systems Interconnection Reference Model 开放系统互联参考模型) 的观点,可将网络系统划分为7层结构,每一个层次上运行着不同的协议和服务,并且上下层之间互相配合,完成网络数据交换的功能.
然而,OSI的模型仅仅是一个参考模型,并不是实际网络中应用的模型。实际上应用最广泛的商用网络模型即TCP/IP体系模型,将网络划分为四层,每一个层次上也运行着不同的协议和服务.
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。
现在,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要请求某个网站页面,如想请求easynet.5d6d.com这个网页,这台电脑会先向网关发送HTTP请求,说:“我想登陆easynet.5d6d.com网页,请你将这个网页下载下来,并发送给我。”这样,网关就会将easynet.5d6d.com页面下载下来,并发送给S电脑。这时,如果A这台电脑通过向全网发送伪造的ARP欺骗广播,自身伪装成网关,成为一台ARP中毒电脑的话,这样当S电脑请求WEB网页时,A电脑先是“好心好意”地将这个页面下载下来,然后发送给S电脑,但是它在返回给S电脑时,会向其中插入恶意网址连接!该恶意网址连接会利用MS06-014和MS07-017等多种系统漏洞,向S电脑种植木马病毒!同样,如果D电脑也是请求WEB页面访问,A电脑同样也会给D电脑返回带毒的网页,这样,如果一个局域网中存在这样的ARP病毒电脑的话,顷刻间,整个网段的电脑将会全部中毒!沦为黑客手中的僵尸电脑!
ARP病毒电脑定位方法
1 命令行法
这种方法比较简便,不利用第三方工具,利用系统自带的ARP命令即可完成。上文已经说过,当局域网中发生ARP欺骗的时候,ARP病毒电脑会向全网不停地发送ARP欺骗广播,这时局域网中的其它电脑就会动态更新自身的ARP缓存表,将网关的MAC地址记录成ARP病毒电脑的MAC地址,这时候我们只要在其它受影响的电脑中查询一下当前网关的MAC地址,就知道中毒电脑的MAC地址了,查询命令为 ARP -a,需要在cmd命令提示行下输入。输入后的返回信息如下:
Internet Address Physical Address Type
192.168.0.1 00-50-56-e6-49-56 dynamic
这时,由于这个电脑的ARP表是错误的记录,因此,该MAC地址不是真正网关的MAC地址,而是中毒电脑的MAC地址!这时,再根据网络正常时,全网的IP—MAC地址对照表,查找中毒电脑的IP地址就可以了。由此可见,在网络正常的时候,保存一个全网电脑的IP—MAC地址对照表是多么的重要。可以使用nbtscan 工具扫描全网段的IP地址和MAC地址,保存下来,以备后用。
2 工具软件法
现在网上有很多ARP病毒定位工具,其中做得较好的是Anti ARP Sniffer(现在已更名为ARP防火墙),下面我就演示一下使用Anti ARP Sniffer这个工具软件来定位ARP中毒电脑。
首先打开Anti ARP Sniffer 软件,输入网关的IP地址之后,再点击红色框内的“枚举MAC”按钮,即可获得正确网关的MAC地址.
接着点击“自动保护”按钮,即可保护当前网卡与网关的正常通信。
当局域网中存在ARP欺骗时,该数据包会被Anti ARP Sniffer记录,该软件会以气泡的形式报警。
这时,我们再根据欺骗机的MAC地址,对比查找全网的IP-MAC地址对照表,即可快速定位出中毒电脑。
3 Sniffer 抓包嗅探法
当局域网中有ARP病毒欺骗时,往往伴随着大量的ARP欺骗广播数据包,这时,流量检测机制应该能够很好的检测出网络的异常举动,此时Ethereal 这样的抓包工具就能派上用场。
以上三种方法有时需要结合使用,互相印证,这样可以快速准确的将ARP中毒电脑定位出来。
ARP病毒电脑查杀方法
较老类型的ARP病毒运行特征比较隐蔽,电脑中毒时并无明显异常现象,这类病毒运行时自身无进程,通过注入到Explorer.exe进程来实现隐藏自身。其注册表中的启动项也很特殊,并非常规的Run键值加载,也不是服务加载,而是通过注册表的AppInit_DLLs 键值加载实现开机自启动的,这一点比较隐蔽,因为正常的系统AppInit_DLLs键值是空的。也正由于这个特点,利用Autoruns这个工具软件就可以快速扫描出病毒文件体。
ARP病毒文件主体,该文件虽然扩展名为log,看似很像是系统日志文件,但其实,它是一个不折不扣的病毒!除了Log形式的病毒文件,还有一些以Bmp作为扩展名的病毒文件,同样,这些病毒文件也不是图片文件,而是EXE格式的可执行文件,在同目录下还有同名的dll文件,这些都是病毒体。
%WinDir%\ KB*.log
或者
%WinDir%\ *.bmp
%WinDir%\同名.dll
如何区别正常的log日志文件,bmp图片文件和病毒文件呢?其实很简单,用记事本程序打开该文件,查看其文件头是否有“MZ”的标记即可,找到这些文件后,可以先清除注册表中的相关键值,然后重启系统到安全模式下,手动删除文件即可。
对于最近多发的,修改WEB请求页面的新型ARP病毒,则改变了病毒文件的表现形式,现对简单,利用系统进程查看和启动项查看注册表的Run键值,可以明显发现病毒的文件,另外,利用KV 的未知病毒扫描程序进行检测,也是一个好办法。
局域网ARP病毒通用的处理流程
  1.先保证网络正常运行
方法一:编辑个***.bat文件内容如下:
arp.exes
**.**.**.**(网关ip)****
**
**
**
**(
网关mac地址)
end
让网络用户点击就可以了!
办法二:编辑一个注册表问题,键值如下:
WindowsRegistryEditorVersion5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
“mac”=“arps
网关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,安装和更新杀毒软件。
4,如果网络规模较少,尽量使用手动指定IP设置,而不是使用DHCP来分配IP地址。
5,如果交换机支持,在交换机上绑定MAC地址与IP地址。
 

(责任编辑:admin)
------分隔线----------------------------