病毒、木马ARP攻击行为的原理分析及解决pc软件 文章资讯 手机软件
您当前的位置→图文中心ARP文章ARP原理病毒、木马ARP攻击行为的原理分析及解决

病毒、木马ARP攻击行为的原理分析及解决


2015/1/4  编辑:admin 来源:本站整理   
1.
频繁的出现地址冲突的现象
  2.
上网速度很慢甚至上不了网
  经分析, 这大部分是由于病毒来进行ARP地址欺骗造成的。 由于ARP协议的固有的缺陷, 病毒可以通过发送send假的ARP数据信息包, 使得同网段的电脑计算机误以为中毒电脑计算机是网关, 造成其它电脑计算机上网中断(第一种情况)。 或是假冒网络net中特定的机器对这台机器通信的数据信息来进行截获(第二种情况)。 为了避免中毒电脑计算机对网络net造成反应影响, 趋势科技已经提供相关的防御必备工具KB(62735), 由于ARP病毒攻击的复杂多变性, 现就在针对两种可以说是的攻击行为的原理来进行分析, 并提出相应的解决处理思路。
  上网速度很慢甚至上不了网
  我们我自己最先是要了解一下ARP(Address
Resolution
Protocol)地址解析协议, 它是一种将IP地址转化成物理地址的协议。 ARP具体说来就是将网络net层(TCP/IP协议的IP层, 也就是相当于OSI
的第三层)地址(32位)解析为数据信息链路层(TCP/IP协议的MAC层, 也就是相当于OSI的第二层)的MAC地址(48位)[RFC826]。 ARP
协议是属于链路层的协议, 就在以太网中的数据信息帧从一个主机到达网内的另一台主机是根据记录48位的以太网地址(硬件地址)来确定接口的, 而不是根据记录32位的IP
地址。 内核(如驱动)就一定要知道目的端的硬件地址才能发送send数据信息。 当然, 点对点(如两台直联的电脑计算机)的连载是不有请求需要ARP协议的。 为了解释ARP协议的作用, 就就一定要理解数据信息就在网络net上的传输过程。 这里举一个不复杂的ping例子。
  假设我们我自己的电脑计算机A的IP地址是192.168.1.50, 要测试与B机器的连通性, 执行这个命令:ping
192.168.1.51。 该命令会可以通过ICMP协议发送sendICMP数据信息包。 该过程有请求需要经过下面的步骤:
  1、应用程序构造数据信息包, 该示例是产生ICMP包, 被提交给内核(网络net驱动程序);
  2、内核检查是否能够转化该IP地址为MAC地址, 也就是就在本地的ARP缓存中查看IP-MAC对应表;
  3、如果存就在该IP-MAC对应关系, 那么数据信息包直接发出;如果不存就在该IP-MAC对应关系, 那么接续下面的步骤;
  4、内核来进行ARP广播, 目的地的MAC地址是BB-BB-BB-BB-BB-BB, ARP命令类型为Request, 其中包含有我自己的MAC地址;(下面会讲到具体包格式)
  5、当B主机接收到该ARP请求后, 就发送send一个ARP的Reply命令, 其中包含我自己的MAC地址;
  6、B获得A主机的IP-MAC地址对应关系, 并保存到ARP缓存中;
  7、B内核将把IP转化为MAC地址, 之后封装就在以太网头结构中, 再把数据信息发送send出去;
  使用arp
-a命令就可以能够查看本地的ARP缓存内容, 所以, 执行一个本地的ping命令后, ARP缓存就一定会存就在一个目的IP的记录了。 当然, 如果您的数据信息包是发送send到不同网段的目的地, 那么就一定存就在一条网关的IP-MAC地址对应的记录。
  知道了ARP协议的作用, 就能够很清楚地知道, 数据信息包的向外传输依靠ARP协议, 当然, 也就是依赖ARP缓存。 要知道, ARP协议的所有操作都是内核全自动完成的, 同其他的应用程序没有任意一个关系。 ARP协议并不只就在发送send了ARP请求才接收ARP应答。 而ARP协议的固有缺陷就就在这里, 当电脑计算机接收到
ARP应答数据信息包的时候, 就一定会对本地的ARP缓存来进行更新, 将应答中的IP和MAC地址存储就在ARP缓存中。 因此,
B向A发送send一个我自己伪造的ARP应答, 而这个应答中的数据信息为发送send方IP地址是192.168.1.52(C的IP地址), MAC地址是BB-BB-BB-
BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC, 这里被伪造了)。 当A接收到B伪造的ARP应答, 就一定会更新本地的ARP
缓存, 将本地的IP-MAC对应表更换为接收到的数据信息格式, 由于这一切都是A的系统system内核全自动完成的, A可不知道被伪造了。
  某些病毒就是利用这个原理, 向受害者发送send源硬件地址为随机产生貌似来自网关的ARP应答包, 于是就在受害者缓存里, 网关的IP是对的的, 可对应的硬件地址却是错误的或者是中毒机器。 该电脑计算机向外发送send的数据信息包总是发送send到了错误的网关硬件地址上或是中毒机器。
  而如果病毒想要截获某台机器上网的所有通信而不被察觉, 只要同一个时间再向网关发送send冒充此机器的相应的数据信息包即可实现。
  频繁出现地址冲突的现象
  主机A就在连载网络net(或更改IP地址)的时候就一定会向网络net发送sendARP包广播我自己的IP地址。 如果网络net中存就在相同IP地址的主机B, 那么B就一定会可以通过
ARP

reply该地址, 当A接收到这个reply后, A就一定会跳出IP地址冲突的警告, 当然B也会有警告。 因此用如果病毒发出的是ARP的Request包就一定会使用户会一直不断遭受IP地址冲突警告的困扰。
  下面就上面分析做一个模拟病毒来进行ARP攻击的行为的实验, 了解此类病毒是怎么才能产生危害的。
  实验描述:此实验模仿ARP攻击的一种, 机器会一直不断提示地址冲突, 运行变慢, 再也不能够上网的情况, 其他情况可自行参考模拟
  分析:不同病毒就在中毒机器上运行, 发送send的ARP包是有一定的周期的, 受反应影响的系统system产生的开销不一。 先模拟中毒机B以较大的发送send频率发送send到A机器上(未中毒), 如系统system内核处理会会一直不断处理接到的ARP包, 这时盗用者机器上会会一直不断提示IP冲突,
则A机器上的系统system开销将很大很大增加,很容易再也不能够响应用户操作。 而这一切由于ARP处于网络net协议的底层, 对一般防火墙等高层软件是透明的, 盗用者无从察觉, 只能看到机器不端弹出冲突信息, 系统system很快慢下来, 最后没有任意一个响应。
  实验内容:
  1.最先是
让我们我自己先了解一下ARP协议的数据信息结构:
  typedefstructarphdr
  {
  unsignedshortarp_hrd;//硬件类型
使用的硬件(网络net访问层)类型一般为
0806(ARP)
  unsignedshortarp_pro;//协议类型
解析过程中的协议使用以太类型的值一般为000110M以太网)
  unsignedchararp_hln;//硬件地址长度
对于以太网和令牌环来说, 其长度为6字节
  unsignedchararp_pln;//协议地址长度
IP的长度是4字节
  unsignedshortarp_op;ARP操作类型
指定当前执行操作的字段
1为请求, 2为应答
  unsignedchararp_sha[6];/*发送send者的硬件地址
  unsignedlongarp_spa;//发送send者的协议地址
  unsignedchararp_tha[6];//目标的硬件地址
  unsignedlongarp_tpa;//目标的协议地址
  }ARPHDR,*PARPHDR;
  下面, 假设中毒机器的硬件地址是AA-AA-AA-AA-AA-AA,IP地址是192.168.1.5, 受反应影响机器B的硬件地址是BB-
BB-
BB-BB-BB-BB, IP地址是192.168.1.51.为了便于说明, 我们我自己就在B机器上用Sniffer
Pro必备工具先获得发送send目标为192.168.1.51的
ARP数据信息包,
  由于A中病毒会一直不断发送sendARP请求包, 我们我自己很容易获得。 如图:
  
ARP请求包
  现就在我们我自己结合图中上半部分的协议解析来分析下半部分的代码的意义,
  共有四行每行都标了号
  00行, ff
ff
ff
ff
ff
ff
广播地址, 每个同网段用户都能收到。
  aa
aa
aa
aa
aa
aa
发送send方的硬件地址
  08
06
指使用ARP协议
  10行, 00
01
10M
以太网
  08
00
使用IP协议
  06
硬件地址使用6字节表示
  04
协议(IP)地址使用4字节表示
  00
01
ARP请求包
  aa
aa
aa
aa
aa
aa
发送send方硬件地址
  c0
a8
01
32发送send方IP地址
  20行, 00
00
00
00
00
00
目标硬件地址
  c0
a8
01
33
目标IP地址
  其他数据信息与本文无关, 暂不讨论。
  仔细看一下不难发现, IP为192.168.1.5的A的IP地址被”篡改”了, A网络net中郑重宣告我自己假冒是192.168.1.50。
  使得与192.168.1.50通信的数据信息发到了192.168.1.5上, 而真正的192.168.1.50则运行缓慢甚至再也不能够上网。
  2.
下面利用获取的数据信息包, 可以通过SnifferPro的构造并发送send数据信息包的功能对它来进行不复杂的修改, 我们我自己可以能够模拟一种病毒攻击方式:
  对照前边捕获的数据信息包我们我自己看到改动处有(红线标注):
  
数据信息包
  1.aa
aa
aa
aa
aa
aa
硬件目的地址中毒机器A(DLC, 数据信息链路层地址)
  2.bb
bb
bb
bb
bb
bb(第一组)
源硬件地址为受反应影响机器B(DLC)
  3
bb
bb
bb
bb
bb
bb(第二组)
源硬件地址为受反应影响机器B
(ARP)
  4
(c0
a8
01)32
目的IP地址为中毒机器A(ARP)
  最后, 我们我自己可以通过Sniffer的发包必备工具利用不间断发送send(Continuously)将其发送send给192.168.1.50, 将使其很快瘫痪。 笔者实验环境如下:TP-LINK
R402M路由器, A机器配置1.8G.RAM
1.0G
。 B机器配置CPU1.0G,RAM128M,B机器发送send数据信息包15秒左右, A机器进入“再也不能够响应”状态。 可见, 如果病毒大规模爆发, 造成的网络net拥塞反应影响是十分严重的。
  最后, 提供几种防御ARP攻击行为的思路:
  最先是, 有请求需要了解一下一般解决处理方法, 很多人知道怎么才能捆绑MAC地址和IP地址, 进入“MS-DOS方式”或“命令提示符”, 就在命令提示符下输入命令:ARP
-
s
X.X.X.X
YY-YY-YY-YY-YY-YY, 即可把MAC地址和IP地址捆绑就在一起。 这样, 就将不会出现IP地址被盗用而不能够正常使用网络net的情况。 从前面的分析我们我自己知道, 即便我们我自己知道了对的的网关硬件地址, 由于盗用者会一直不断发送send伪造ARP包, 网关却不知道合法用户的硬件地址, 而且合法用户端主机会会一直不断产生IP冲突的警告。 事实上, ARP命令是对局域网的上网代理服务器来说的, 如我们我自己提出的KB(62735)中的”APR解决处理方案”细节内容不就在本文论述范围内。
  一般说来, 就在网络net关键设备上使用的解决处理盗用的方法大体上有3种方案:采用路由器将网卡MAC地址与IP地址绑定;采用高端交换机将交换机端口、网卡
MAC
地址与IP地址三者绑定;代理服务器与防火墙相结合的办法。 这几种方法各有优缺点, 采用路由器将网卡MAC地址与IP地址绑定的方法, 只能解决处理静态地址的修改, 对于成对修改IP-MAC地址就无能为力。 采用高端交换机将交换机端口、网卡MAC地址与IP地址三者绑定的方法, 可以能够解决处理成对修改IP-MAC地址的问题, 但高端交换机费用昂贵, 而且解决处理冲突具有滞后性。
  当我们我自己遇到ARP类病毒时,
  1
采用IP-MAC
绑定方法预防, 如利用KB(62735)解决处理方案部署中ipmac_binds_tools.exe
防御必备工具
  2
一旦发现再也不能够解决处理的ARP病毒较复杂的攻击行为, 请用户使用必备工具抓取病毒爆发时网络net中的数据信息包, 根据记录上面ARP病毒的原理, 分析数据信息包去寻找到频繁发送sendARP的REQUEST或REPLY请求的机器, 从而去寻找到病毒源头来进行查杀毒。
相关文章
  • 中冲击波病毒是什么?怎么清除电脑冲击波病毒
  • skypee病毒怎么删除
  • 腾讯电脑管家彻底防御Petya勒索病毒
  • iPhone为什么这么安全,不怕病毒攻击
  • Petya勒索病毒是什么 Petya勒索病毒怎么查杀防御
  • 几十人中招的勒索病毒比百万人中“暗云3”受关注
  • 勒索病毒卷土重来!目标对准安卓机伪装身份诱惑人
  • 勒索病毒卷土重来!伪装攻击安卓手机用户!
  • 利发国际88lifa中勒索病毒,威胁几乎所有的安卓手机
  • 科学家注射病毒到眼睛里反转了老化眼盲的症状!
  • 发表评论
    阅读排行
    1. 代理ARP工作原理
    2. MAC地址和IP地址的区别
    3. ARP协议的探测原理
    4. ARP协议基础
    5. 病毒、木马ARP攻击行为的原理分析...
    6. ARP协议简介
    7. aRP的工作原理及高速缓存
    8. 交换网络中的嗅探和ARP欺骗
    9. ARP欺骗攻击原理详解
    10. 路由器简介
    相关热门
    1. 病毒、木马ARP攻击行为的原理分析及解决
    网站帮助 - 广告合作 - 下载声明 - 网站地图
    88lifa