一、ARP攻击概述
ARP攻击,作为中间人攻击手段中的一种,一是可以实现对局域网中用户的断网攻击,二是可以获取到受害用户的数据流量包括浏览的网站,图片,甚至账号密码(PS:想想还是有点恐怖的!),接下来,让我先给你讲讲什么是ARP攻击的类型和原理吧!
(一)ARP的原理
ARP,即Address Resolution Protocol,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。简单来说,就是将IP地址转换为物理地址(PS:在一个局域网中主机之间的通信是通过物理地址来完成的,而不用ip地址来通信(前者是烧录在设备上,固定不变的;后后者是随机的,所以,通过固定的地址很找到相应的主机))。附:计算机中会维护一个ARP缓存表,里面就是各个IP地址与物理地址之间的映射关系,可通过arp -a指令查看
(二)ARP的攻击类型
ARP攻击大致分为两种类型:
对主机欺骗:欺骗对象为主机
对网关欺骗:欺骗对象为网关,可以获得其他主机的数据流量
通过两幅图片来深刻的理解:
二、实现ARP攻击的原理
(一)建立环境
上图展示的是在一个局域网中的三台主机(pc1、pc2、pc3)分别接在sw1这台交换机上,所对应的端口分别为p1、p2、p3;此时我们把pc3当成攻击者hacker (由黑客操控),来入侵这片局域网。搭建好这样的环境后,进行接下来的操作。
(二)中间人(被操控的PC)窃听
1、此时,pc1和pc2开始通信,在此之前,pc1并不知道pc2的mac地址,pc1发送arp广播包来获取pc2的mac地址,由于arp协议采用广播的形式,交换机接收到数据包后会进行泛红,将广播包通过接口p2、p3依次发送给这两台主机。-----广播包会逼交换机泛红。
2、pc2接到广播包后,将自己的mac地址以单播的形式回应给pc1;而pc3没有返回arp包,但是处于监听状态,为后续攻击做好准备
3、最后pc1和pc2通信结束,并将彼此的IP-MAC对应关系记录在自己的ARP缓存表中;交换机也会把mac地址所对应的接口信息记录在MAC地址表中-----也称为CAM缓存表。
切记,交换机属于二层设备,通过mac地址来转发数据,不会识别ip地址。
(三)欺骗成功
接下来,将会演示pc3是如何发起ARP泛红的
在此之前,我们说明下ARP缓存表缓存信息的规则------以最新收到的数据为准,来刷新旧的缓存信息。
所以,当pc1收到pc2的回应包时,里面包含的有pc2的ip地址和相对应的mac地址;然而,当pc2先回包后,pc3也开始向pc1回包,此时包里包含的数据为仍为pc2的ip地址,但mac地址换为了pc3自己的mac地址。根据ARP缓存表的缓存规则,会存储最新的信息,所以,pc1的arp缓存表会存储后发来的pc3回应包所对应的ip-mac信息。
最终,当pc1再次给pc2发送消息时,会以ARP缓存表中存储的mac地址发送信息,不知不觉,原本发给pc2的信息,最后到达了pc3的手中。实现了单方面的欺骗
(四)实现双向欺骗
pc3欺骗了pc1同样也可以欺骗pc2,以类似的步骤最终实现了双向欺骗-------PC1和PC2的通信数据流被PC3拦截,形成了典型的"中间人攻击"------如下图所示
通过以上的步骤,pc3变成了黑客攻击网络的工具,轻者会导致pc1和pc2两台主机上不了网
-----pc3收到两者发来的数据后直接丢弃;重者pc1和pc2的关键数据会被pc3窃取,造成更大的损失,而且此时的pc3仍然会帮你转发数据,给你造成一种网络正常的错觉!
注:此处的图片源自网络(侵删)
ps:后续的实机演练会在后面补充,此处主要是讲下原理,若有不足之处,欢迎大家指正!