欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

ARP攻击的原理与实践ARP协议(2)

来源:本站整理 作者:佚名 时间:2017-08-30 TAG: 我要投稿

一、ARP的攻击叙述
我记得在上一篇文章里给大家普及了关羽ARP协议的基本原理还包括ARP请求应答、数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别,底层数据包特征是怎样的?
接下来,我们通过图解的方式来深入了解ARP攻击是如何实现的。
二、ARP的攻击原理
凡是局域网存在ARP攻击,都说明网络存在"中间人",我们可以用下图来解释。

在这个局域网里面,PC1、PC2、PC3三台主机共同连接到交换机SW1上面,对应3个接口port1/2/3。假设PC3这台主机安装了ARP攻击软件或遭受ARP病毒,成为这个网络的攻击者(hacker),接下来,PC3是如何攻击的?先不急,先来回顾下PC1和PC2是如何通信的。

①PC1需要跟PC2通信,通过ARP请求包询问PC2的MAC地址,由于采用广播形式,所以交换机将ARP请求包从接口P1广播到P2和PC3。(注:交换机收到广播/组播/未知帧都会其他接口泛洪)
②PC2根据询问信息,返回ARP单播回应包;此时PC3作为攻击者,没有返回ARP包,但是处于"监听"状态,为后续攻击做准备。
③PC1和PC2根据ARP问答,将各自的ARP映射信息(IP-MAC)存储在本地ARP缓存表。
④交换机根据其学习机制,记录MAC地址对应的接口信息,存储在CAM缓存表(也称为MAC地址表)。交换机收到数据包时,会解封装数据包,根据目标MAC字段进行转发。
关于上面的图解,我们要记住这些关键知识(敲黑板!):
①主机通信需要查找ARP表,而交换机通信需要查找CAM表(路由器则查找Route表)。
注:ARP表:ipmac    CAM表:macport  (Route表:routeport)
②交换机基于源MAC地址学习,基于目的MAC地址转发。
③同一局域网内,攻击者可以根据主机的ARP广播请求监听其IP和MAC信息。
注:这里是"被动监听",跟后面要谈到的"主动扫描",原理上有区分,这里先埋个坑)
接下来是重点,我们来看看PC3(Hacker)是如何发起ARP攻击的=>

正常情况下,若收到的ARP请求不是给自己的,则直接丢弃;而这里PC3(Hacker)在监听之后,发起了ARP回应包:我就是PC2(IP2-MAC3)。
从拓扑可以出现,PC3明明是IP3对应MAC3,很显然这就是一个ARP欺骗行为。于此同时,PC2正常的ARP回应包也交到了PC1手中,我们来看PC1接下来如何处理的:

PC1收到两个ARP回应包,内容分别如下:
③我是PC2,我的IP地址是IP2,我的MAC地址是MAC2;
③我是PC2,我的IP地址是IP2,我的MAC地址是MAC3;
PC1一脸懵:咋回事?还有这操作?不管了,我选最新的!(后到优先)
这里给大家顺便普及下网络协议里各种表在处理缓存信息的方式:
要么"先到先得",要么"后到优先"。上面提到的ARP和CAM表,就是遵循"后到优先"原则,而后面章节我们会讲到的DHCP表,则遵循"先到先得"原则。
那么问题来了,上面两个ARP回应包到底哪个先到哪个后到呢?
作为初学者,可能还在纠结前后这种naive的问题;而作为hacker,只要持续不停发出ARP欺骗包,就一定能够覆盖掉正常的ARP回应包。稳健的ARP嗅探/渗透工具,能在短时间内高并发做网络扫描(例如1秒钟成千上百的数据包),能够持续对外发送欺骗包。
无论如何,当PC1和PC2这种"小白"用户遇到PC3(hacker)时,最终的结果一定是这样的:

小白 vs 黑客,很明显的较量,PC1最终记录的是虚假的ARP映射:IP2MAC3,得到错误信息的PC1,接下来会发生什么情况呢?(我们以PC1 ping PC2为例)

根据数据封装规则,当PC1要跟PC2进行通信时,无论是发生PING包还是发送其他数据,首先要查找ARP表,然后在网络层打上源目IP,在链路层打上源目MAC,然后将数据包发送给交换机。交换机收到之后对数据进行解封装,并且查看CAM表(基于目的MAC转发),由于目标MAC3对应Port3,所以交换机自然而然将其转发给PC3。
就这样,PC1本来要发给PC2的数据包,落到了PC3(Hacker)手里,这就完成了一次完整的ARP攻击。反过来,如果PC2要将数据包发送给PC1,PC3仍然可以以同样的ARP欺骗实现攻击,这就有了下面这张图(PC3既欺骗了PC1,也欺骗了PC2)。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载