Bootstrap

ARP欺骗

1.ARP介绍

 ARP是一个将32位IP地址映射到MAC地址的协议 。在局域网中,主机之间通信需要知道对方的MAC地址,而ARP协议就是用来完成这个映射过程的

2.ARP欺骗原理

发送伪造ARP数据包

        攻击者通过发送伪造的ARP数据包到局域网中,尤其是发送到网关上。这些数据包中包含虚假的IP地址和MAC地址的映射关系

欺骗ARP缓存

        当局域网中的主机(受害者)需要与目标主机(如网关)通信时,它首先会检查自己的ARP缓存表中是否有目标主机的IP地址和MAC地址的映射关系

        如果缓存表中没有相应的映射关系,那么主机会发送一个ARP请求广播,询问局域网内谁有这个IP地址

        攻击者会伪造一个ARP响应,包含自己的MAC地址作为目标IP地址的响应,并将其发给受害者

        受害者收到伪造的ARP响应后,会将其添加到自己的缓存表中,导致后续的通信都会发送到攻击者的主机上

截获或篡改通信

        由于受害者将攻击者的MAC地址误认为是网关的MAC地址,因为所有原本发送给网关的数据包都会被发送到攻击者的主机上

        攻击者可以截获这些数据包,甚至篡改其中内容,然后再将数据包转发给真正的网关或其他目标主机

3.漏洞分析

ARP欺骗的关键在于ARP机制本身缺乏内置的安全机制来验证相应的真实性。这一漏洞使得网络中的任何设备都可以冒充其他设备,通过发送伪造的ARP响应来欺骗其他主机,从而实现对网络的监听和操控

4.实验准备

1.攻击机:kali  地址:192.168.3.183,MAC:00:0c:29:c9:84:48 (ifconfig,ether后面的就是)

2.靶机:win10  地址:192.168.3.164,MAC:40-8c-1f-55-2d-2c(输入arp -a 网关地址对应的物理地址就是)

3.网关地址:192.168.3.1

4.确保两者之前能够互相ping通

5.靶机需要关掉防火墙

5.实验步骤

先提权

sudo su

在kali中获取需要攻击的目标ip地址及网关的ip地址

扫描对应的网关查看所有存活的主机,(推荐使用nmap,因为他只显示存活的主机,方便我们去找)

fping -asg 192.168.3.1/24 

或者

nmap -sP 192.168.3.1/24

找到目标主机为192.168.3.164

为什么是/24呢,因为他表示子网掩码中有24个连续的1,后面8个零,转换成十进制就是255.255.255.0 。实际上是指顶一个IP地址以及该地址所属的子网掩码

我理解的就是查192.168.3.1至192.168.3.255的主机IP

确保靶机可以正常上网

在终端ping一下百度确保可以ping通

攻击靶机

arpspoof -i eth0 -t 192.168.3.174 192.168.3.1

 这个192.168.3.174是我指定的靶机ip,192.168.3.1是网关地址

       

正常情况下arp欺骗是影响整个子网内的所有设备,所以应该是arpspoof -i eth0 -t  192.168.3.1

5查看win10的MAC码情况

开启ip转发功能或拦截靶机访问

echo 1 > /proc/sys/net/ipv4/ip_forward

其中参数1是打开靶机的网络访问,0是关闭靶机的网络访问。

可用Wireshark去获取靶机提交的数据修改并重新提交

ARP欺骗的防御

使用静态arp缓存表

绑定mac地址

使用arp服务器,通过服务器查找arp转换表来相应其他机器的广播

使用arp欺骗防护软件

ARP欺骗的流量特征

网络频繁掉线

网速突然变慢

使用arp -a命令查看的网关max地址与真实的网关mac地址不同

使用嗅探软件发现局域网内存在大量的arp应答包

;