一 什么是ARP协议?
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。所以说从某种意义上讲ARP协议是工作在更低于IP协议的协议层。这也是为什么ARP欺骗更能够让人在神不知鬼不觉的情况下出现网络故障,他的危害更加隐蔽。
二 ARP欺骗的原理:
首先我们可以肯定一点的就是发送ARP欺骗包是通过一个恶毒的程序自动发送的,正常的TCP/IP网络是不会有这样的错误包发送的,而人工发送又比较麻烦。也就是说当黑客没有运行这个恶毒程序的话,网络上通信应该是一切正常的,保留在各个连接网络计算机上的ARP缓存表也应该是正确的,只有程序启动开始发送错误ARP信息以及ARP欺骗包时才会让某些计算机访问网络出现问题。接下来我们来阐述下ARP欺骗的原理。
第一步:假设这样一个网络,一个Hub或交换机连接了3台机器,依次是计算机A,B,C。
A的地址为:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC
第二步:正常情况下在A计算机上运行ARP -A查询ARP缓存表应该出现如下信息。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 CC-CC-CC-CC-CC-CC dynamic
第三步:在计算机B上运行ARP欺骗程序,来发送ARP欺骗包。
B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址。
第四步:欺骗完毕我们在A计算机上运行ARP -A来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 DD-DD-DD-DD-DD-DD dynamic
从上面的介绍我们可以清楚的明白原来网络中传输数据包最后都是要根据MAC地址信息的,也就是说虽然我们日常通讯都是通过IP地址,但是最后还是需要通过ARP协议进行地址转换,将IP地址变为MAC地址。而上面例子中在计算机A上的关于计算机C的MAC地址已经错误了,所以即使以后从A计算机访问C计算机这个192.168.1.3这个地址也会被ARP协议错误的解析成MAC地址为DD-DD-DD-DD-DD-DD的。问题也会随着ARP欺骗包针对网关而变本加厉,当局域网中一台机器,反复向其他机器,特别是向网关,发送这样无效假冒的ARP应答信息包时,严重的网络堵塞就会开始。由于网关MAC地址错误,所以从网络中计算机发来的数据无法正常发到网关,自然无法正常上网。这就造成了无法访问外网的问题,另外由于很多时候网关还控制着我们的局域网LAN上网,所以这时我们的LAN访问也就出现问题了。
摘于网络
三ARP欺骗kali复现
环境配置:
kali上搭建的2023版本虚拟机一台和kali上搭建的win7(靶机)
kali win7搭建教程:MS17-010漏洞复现(带win7虚拟机安装,零基础)_永恒之蓝系统镜像_墨言ink的博客-CSDN博客
win7镜像文件:链接:https://pan.baidu.com/s/1gB6GNMFDy6QyHLQXIw4aYg
提取码:2co0
--来自百度网盘超级会员V3的分享
首先,ARP欺骗需要用到dsniff数据包,安装教程:Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗)_kali攻击命令大全_Andysun06的博客-CSDN博客
之后便可以开始攻击了,先进入管理员root权限:
sudo su
之后输入kali机的登入密码即可(密码是显示不出来的输完回车即可进入root权限)
先查看一下本机的ip:
ifconfig
找到本机ip为:192.168.50.131,
然后嗅探你所在WLAN下所有设备的IP地址,命令如下:
fping -g 本机IP地址/24
例如我的IP是192.168.50.131,命令就是fping -g 192.168.50.131/24
刚刚搭建的win7虚拟机ip:192.168.50.133就在这里了
然后输入以下命令:
arpspoof -i 你的网卡名称 -t 攻击目标的IP地址 攻击目标的网关地址
网卡名称的查看上文已经提过,我以我的网卡为例,名称是eth0
,攻击目标就是我刚刚搭建的win7虚拟机,IP是192.168.50.133
,win7虚拟机的网关就是192.168.50.1(就是IP的最后一位改为1),于是我的攻击命令就是 :
arpspoof -i eth0 -t 192.168.50.133 192.168.50.1
按下回车,如果出现下图回显,就说明正在攻击
现在,我们刚刚搭建的win7上不了网了或网非常慢,这就说明我们的ARP欺骗成功了。
如果你想停止攻击,就按下Ctrl+Z
,攻击就停止了。