hacktricks/generic-methodologies-and-resources/pentesting-network/eigrp-attacks.md

7.7 KiB
Raw Blame History

EIGRP 攻击

从零到英雄学习 AWS 黑客攻击 htARTE (HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

本页面基于 ****。查看以获取更多信息。

理解 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

![](../../.gitbook/assets/image (15) (1).png)

此外,需要对 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
![](../../.gitbook/assets/image (3) (2) (2).png)

> 注意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 的流量重定向到一个不存在的目的地。

脚本参数包括:

  • 攻击者系统接口
  • 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-值

EIGRP 路由器之间不匹配的 K-值可以破坏 EIGRP 域。relationshipnightmare.py 脚本通过注入改变的 K-值来利用这一点,触发 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

4. 路由表溢出

此攻击通过用假路由淹没路由表给路由器的CPU和RAM带来压力。routingtableoverflow.py 脚本通过快速发送大量假路由来促进这一点。

脚本参数:

  • 网络接口
  • 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 红队专家)

支持HackTricks的其他方式