7.8 KiB
EIGRP 攻击
从零开始学习 AWS 黑客技术,成为 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们的独家NFT收藏品
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @hacktricks_live** 上关注**我们。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
本页面基于 ****。查看以获取更多信息。
理解 EIGRP 协议的漏洞
EIGRP(增强内部网关路由协议) 被识别为一种动态的距离矢量路由协议。如果忽略身份验证或被动接口的配置,可能会出现关键漏洞,导致潜在的路由表污染。此外,EIGRP 网络或自治系统的结构是非分段的,缺乏任何形式的区域划分。这种扁平结构意味着攻击者注入的路由可能传播到整个自治系统。
![](../../.gitbook/assets/image (25) (1).png)
利用 EIGRP 系统的初始步骤包括与合法的 EIGRP 路由器建立连接。这种连接打开了从侦察到各种形式的注入的途径。为了实现这一点,使用开源解决方案 FRRouting 在 Unix 和 Linux 系统上模拟路由器。FRRouting 支持多种协议,包括 BGP、OSPF 和 EIGRP。在攻击者的系统上部署 FRRouting 使其能够在路由域内模拟合法的路由器。将在后续提供在您的系统上部署 FRR 的详细说明。
收集网络情报
集成到路由域中允许对网络进行枚举和侦察,提供了一种节省时间的替代方案,避免了广泛扫描的风险。这种方法不仅节省时间,还减少了被入侵检测系统(IPS/IDS)发现的风险。要实现这一点,需要部署 FRRouting。
需要在控制守护程序活动的 daemons
配置文件中进行修改。必须激活 eigrpd 守护程序。
~# nano /etc/frr/daemons
eigrpd=yes
此外,需要调整vtysh.conf文件,以确保各种协议的配置被整合到单个文件中。
~# nano /etc/frr/vtysh.conf
service integrated-vtysh-config
在配置完成后,需要启动FRR守护程序并启用流量路由(在Linux发行版中默认情况下是禁用的)。
~$ sudo systemctl start frr
~$ sudo sysctl -w net.ipv4.ip_forward=1
![](../../.gitbook/assets/image (32).png)
vtysh命令提供对FRR路由器控制面板的访问。
~$ sudo vtysh
示例用法:
root# show version
注意:EIGRP路由域可能已通过身份验证进行保护。但是,仍然可以通过从hello数据包中提取加密哈希并重置密码来实现潜在访问。
在全局配置模式下,启动EIGRP进程并定义自治系统号为1,以及网络位置。
root# config
root(config)# router eigrp 1
root(config-router) network 10.10.100.50/32
在与合法的 EIGRP 路由器(在本例中为 GW1 (10.10.100.100) 和 GW2 (10.10.100.200))建立邻居连接后,路由器会交换路由信息。这个过程会导致攻击系统的路由表中出现新的路由,有助于渗透测试并节省子网扫描时间。在这个阶段,系统已经成为 EIGRP 路由域的一部分,并准备好进一步发展攻击向量。
![](../../.gitbook/assets/image (5) (1) (2).png) ![](../../.gitbook/assets/image (30) (1).png) ![](../../.gitbook/assets/image (29) (1) (2).png)
利用 EIGRP:攻击向量
1. 伪造 EIGRP 邻居
大量发送 EIGRP hello 数据包可能导致路由器 CPU 过载,为 DoS 攻击铺平道路。一个名为 helloflooding.py 的脚本用于此目的,尽管其数据包发送速度受 GIL(全局解释器锁)限制。计划对该脚本进行 C 语言重写以提高性能。
![](../../.gitbook/assets/image (2) (6) (1).png)
脚本的使用涉及指定:
- 网络接口(例如,eth0)
- EIGRP 自治系统号(例如,1)
- 子网位置(例如,10.10.100.0/24)
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
2. EIGRP黑洞
这种攻击涉及注入虚假路由以破坏流量流向,通常称为黑洞攻击。使用routeinject.py脚本来实现。例如,将172.16.100.140/32
的流量重定向到一个不存在的目的地。
Script参数包括:
- 攻击者系统接口
- EIGRP AS号
- 攻击者IP地址
- 目标子网IP及其掩码
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
![](../../.gitbook/assets/image (20) (1).png)
攻击结果是由于路由注入导致对目标主机的连接丢失。
![](../../.gitbook/assets/image (6) (1) (1).png)
3. 滥用 K-Values
EIGRP 路由器之间不匹配的 K-Values 可以破坏 EIGRP 域。relationshipnightmare.py 脚本利用这一点,通过注入修改后的 K-Values,触发 EIGRP 域内持续的中断和重新连接,有效地导致 DoS 攻击。
![](../../.gitbook/assets/image (12) (2) (1).png)
脚本需要:
- 网络接口
- EIGRP AS 号
- 合法路由器的 IP 地址
注入的修改会从指定的 IP 发送到多播 EIGRP IP 地址,导致不匹配。
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
![](../../.gitbook/assets/image (9) (1) (4).png) ![](../../.gitbook/assets/image (27) (1).png)
4. 路由表溢出
此攻击通过向路由表发送虚假路由来使路由器的CPU和RAM负担过重。routingtableoverflow.py 脚本通过快速发送大量虚假路由来实现此攻击。
![](../../.gitbook/assets/image (3) (4).png)
脚本参数:
- 网络接口
- EIGRP AS编号
- 攻击者的IP地址
执行脚本后,路由表将充斥着虚假路由,严重影响路由器性能。
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
![](../../.gitbook/assets/image (4) (4).png) ![](../../.gitbook/assets/image (21) (1).png)
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!
其他支持HackTricks的方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS家族,我们的独家NFTs
- 加入 💬 Discord群 或 电报群 或 关注我们的Twitter 🐦 @hacktricks_live。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。