如何让机房的好基友断网?浅谈ARP欺骗
温馨提示:使用本文的操作后被教练骂/同学群殴不要怪我(((
前置芝士
-
MAC 地址
MAC 地址是具有唯一性的,在局域网中用来确认设备位置的地址。
-
局域网
局部地区形成的区域网络,比如你的机房(((
-
ARP协议
根据目标主机的IP地址来获取目标主机的MAC地址,这个协议的问题,也是我们攻击的机会就是局域网内的主机可以自由发送ARP应答消息,其他主机接收到时不会检验真伪就加入到自己的ARP缓存,就像你给老师交空作业,老师不检查,你就可以逃过一劫
。
ARP欺骗的理论
所谓ARP欺骗,就是像目标主机发送报文,并且将其网网关内的MAC地址设置为一个不存在的或者自己的MAC地址,当目标主机上网时,发送的数据包都会发送到自己的主机或不存在的MAC地址上,我们只需要丢弃这些包,就可以达到断网的效果。
按照上述所说,我们假设局域网中一台主机的IP是192.169.3.10,MAC地址是11-22-33-44,攻击者的MAC地址是99-88-77-66,攻击者向目标主机进行ARP攻击,把对方的MAC地址篡改,换成自己的99-88-77-66,就会导致数据包全都发送给了攻击者,导致断网。
实际操作环节
这次我们要用到的ARP欺骗工具是arpspoof。
-
测试环境搭建
-
进攻方
这次的进攻方系统是Kali Linux 2021.1系统,预装arpspoof,其他Linux发行版可以用命令安装,以我的CentOS 7为例,输入
yum -y install libICE libSM libXmu libpcap libnet libXext libXext-devel libXt
等待片刻,安装完后输入
arpspoof
如果出现了Version等信息说明安装成功。
Linux的其他发行版安装方法也可以自行查询互联网。
Windows系统网上也有类似的工具,可以自行下载。
进攻方一切正常:
-
受害方
受害方就是本机的电脑,系统是windows11 10.0.22200.160。
正式实验
首先要保证双方的互通,使用ping指令。
-
获取Kali的IP地址
输入ifconfig,获取到如下信息:
获取到Kali的IP地址为192.168.29.130.
Ping 192.168.29.130,一切正常,实验可以开始。
-
查看Arp表,获取正确的Mac地址,使得网络被篡改Mac地址后能够恢复
在Windows下,输入arp -a即可查看到Windows自带的Arp表:
在CMD中,输入ipconfig,可以看到局域网网关是192.168.3.1,对应的Mac地址是14-de-39-63-b2-e0,这个是正确的Mac地址。
现在在受害端这里输入www.baidu.com,可以正常上网。
通过ipconfig命令,我们可以知道受害机器的IP是192.168.3.17。
发动Arp攻击
回到攻击端Kali Linux上,使用arpspoof,语法如下:
arpspoof -t [受害端IP地址] [网关地址] -i [网卡]
在本机的Kali Linux中,网卡默认是eth0。
按照上述的IP,在Kali Linux输入如下命令:
arpspoof -t 192.168.3.17 192.168.3.1 -i eth0
回车。
(因为我在写文章,不能断网,故借用了互联网的照片,侵删)
现在受害端就认为Kali Linux是网关,把自己的数据包源源不断地发给Kali,所以当受害端想要访问Internet时,已经不能正常访问了。
当现在输入arp -a时,发现Mac地址已经跟正确的Mac地址不一样了,变成了Kali Linux的Mac地址。
Arp攻击成功。
被攻击后如何恢复
我们之前记录过正确的Mac地址,所以我们可以通过静态绑定正确的网关来恢复。
-
获取网卡的IDX编号
在Windows下CMD输入netsh i i show in
Windows地址下的网卡是Loopback,记录下Idx编号是1 。
接下来的操作需要管理员权限,请确保你的CMD是运行在管理员权限下的。
接下来执行如下命令:
netsh -c i i add neighbors [Idx编号] [网关IP地址] [Mac地址]
以我的机器为例,执行以下:
netsh -c i i add neighbors 1 192.168.3.1 14-de-39-63-b2-e0
绑定完成后,输入arp -a,可以发现你的IP地址那一行最后一列变成了静态,现在可以正常上网。
常见问题
-
输入
arpspoof显示“libnet_open_link(): UID/EUID 0 or capability CAP_NET_RAW required”
请使用最高权限运行,输入sudo arpspoof或者使用root账户执行命令。
-
执行攻击时显示“arpspoof: couldn't arp for host xxx.xxx.xx.x”。
可能是对方绑定了arp地址,或者路由器绑定了地址,也有可能是你的IP输错了。
机房确定攻击目标小技巧
以我学校的机房为例,每个电脑的名称都是对应的标号,比如我机房的电脑名称是A36,知道你好基友的座位在哪后,确定他的标号,输入ipconfig /all,获取到好基友的Mac地址,比如我这里:
可以看到虚拟机上的IP,通过arp -a可以确定IP地址。
最终方法
如果上述方法都不行,那么向你推荐最终方法:
-
准备
一把锐器。
-
实施
冲上去,弄断网线即可。这种方法我们一般称之为物理攻击(
你说你们机房是无线网?
物理攻击服务器即可(
后话
Arp欺骗一时爽,回家反省火葬场(
参考资料
【kali】突然被舍友断网?史上最详细的ARP讲解(永久适用)/网络安全/渗透工具/linux
百度百科有关词条