1.ARP协议介绍
ARP全称是“Address Resolution Protocol”(地址解析协议),ARP作用于以太网的环境之中,以太网环境之中数据的传输依赖的是MAC地址并不是我们所熟悉的IP地址,每个电脑都有一个IP地址记以及一个MAC地址(全球唯一),二者缺一不可,将我们所知道熟悉的IP地址转换为MAC地址就是ARP协议的工作。
2.ARP协议原理
查询目的主机的MAC地址步骤
1.ARP进程在本局域网上广播发送一个ARP请求分组。
2.在本局域网上的所以主机运行的ARP进程都收到该ARP请求分组。
3.主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下ARP请求分组,并单播向主机A发送ARP响应分组。
4.主机A收到主机B的ARP相应分组以后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
在windows系统中,我们可以通过 arp -a 来查看arp缓存表信息。
当本网段新连入一台设备,并且与本主机产生通信后,arp表将会更新。
基本介绍了一下ARP协议的工作机制,下面就开始讲如何进行ARP攻击。
3.ARP攻击
ARP攻击原理
ARP攻击就是通过伪造IP地址和MAC地址的对应关系,使得网络无法正常通信,ARP攻击原理下图所示:
ARP欺骗方式
1.伪装成网关
欺骗原把自己(或者其他非网关主机)伪装成网关,向局域网内的目标主机发送ARP应答报文,由于ARP协议只要我们发送的IP地址是正确的,局域网内的主机就会相信我们发送的MAC地址就是网关的MAC地址,使得局域网内的主机误以为欺骗源的MAC地址是网关的MAC地址,并将原本应该流向网关的数据都发送到欺骗源。由于ARP遵循后到优先原则,所以只要我们持续的发送ARP欺骗包,就一定能够覆盖正常的应答报文,达到欺骗的目的。
2.伪装成主机
欺骗源2把自己伪装成局域网内的另一台主机3,将主机3的IP地址对应的MAC地址替换为欺骗源C的IP地址对应的MAC地址,使得局域网内的主机1发往主机3的报文都流向主机2该欺骗过程如图所示:
因为我们向PC1和PC3发送的IP地址是真正PC3和PC1的IP地址,所以他们都会相信我们所发送的MAC地址,这种情况下原本PC1发送给PC3或者PC3发送给PC1的流量都会经过我们的PC2,这样就达成了ARP的欺骗。
4.ettercap工具介绍及其使用
Ettercap是一款专业的中间人攻击工具。其利用ARP的缺陷进行攻击,在目标主机与服务器之间充当中间人,嗅探两者之间的数据流量,从中窃取目标主机的数据资料。该工具有窗口操作和文本两种模式。
窗口模式
ettercap -G 以root权限启动启动命令
┌──(root㉿kali2023)-[~]
└─# ettercap -G
ettercap 0.8.3.1 copyright 2001-2020 Ettercap Development Team
进来之后就是应该默认配置的页面,Primary interface是设置默认网卡的地方,应为我这里是使用的kali来进行的实验,所以默认的网卡是eth0,点击 √ 就开始主机发现。
这里我们用的攻击机是kali2023,靶机是win7的,IP配置如下:
当主机扫描完成后,我们点击放大镜右边的那个图标,列出扫描到的主机
在这个发现的主机列表中就可以看到我们的两台靶机
192.168.5.129 和 192.168.5.130,我们今天的目标是欺骗130让它认为我们是129,实际上我们是131,让129和130在连接的时候抓他们之间的数据包。
首先我们先选择这个130,然后把它添加到target 1,将129,把它添加到target 2,这里的顺序是无所谓的。
添加成功的话下面也会有提示的,然后我们点击右上角的地球图标,选择我们的ARP中间人攻击。
这里会出现两选项,一个双向欺骗,一个单向欺骗,
双向欺骗就是主机和网关一起欺骗,而单向欺骗就只是欺骗其中一个,因为我们这里还要做转发的功能所以这里就使用双向欺骗,选择好了以后我们直接开始。
然后我们在kali上开启监听eth0网卡
┌──(root㉿kali2023)-[~]
└─# dsniff
dsniff: listening on eth0
开启以后我们随便选择一台(这里使用129)靶机向另一台靶机(130),使用telnet服务进行连接。
这里要输入用户名和密码时,我们随便输入点东西。
然后我们就可以看到刚刚开启监听的eth0网卡有数据了,数据和我们刚刚随便输入的一模一样,同理用130来连接129的步骤也是一样的。
这样我们的一个ARP中间人攻击就完成了。
5.ARP防御措施
1.动态ARP检测
1.交换机记录每个接口对应的IP地址和MAC,生成DAI检测表。
2.交换机检测每个接口发送过来的ARP回应包,根据DAI表判新是否违规,若违规丢弃此数据包并对接口进行惩罚。
2.静态ARP绑定
防御ARP攻击和ARP欺骗最直接的方式是进行IP-MAC地址绑定。用户通过在主机和网关(路由器)上实现双向IP地址和MAC地址绑定,即可提高其网络的安全性。
3.利用Arpspoof和Arposion等工具
原理是向网关更快地发送正确的MAC地址,只要用户给网关发送正确的ARP包的速度比攻击者发送ARP包的速度快就不会影响与网关的通信。这样就实现了ARP防御。
4.安装ARP防火墙
如今大部分安全辅助软件均内置了ARP防火墙功能,如360安全卫士、火绒、金山卫士等。这些软件通过在终端计算机上对网关进行绑定,以保证终端计算机不受网络中假网关的影响,从而保护其数据不被窃取。