hacktricks/generic-methodologies-and-resources/pentesting-network/glbp-and-hsrp-attacks.md

8.8 KiB

Ataki GLBP & HSRP

{% hint style="success" %} Dowiedz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Dowiedz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wesprzyj HackTricks
{% endhint %}

{% embed url="https://websec.nl/" %}

Przechwytywanie FHRP - Przegląd

Wgląd w FHRP

FHRP został zaprojektowany w celu zapewnienia odporności sieci poprzez połączenie wielu routerów w jedną wirtualną jednostkę, co zwiększa rozkład obciążenia i tolerancję na awarie. Cisco Systems wprowadził do tej grupy znaczące protokoły, takie jak GLBP i HSRP.

Wgląd w Protokół GLBP

Stworzony przez Cisco, GLBP działa na stosie TCP/IP, wykorzystując UDP na porcie 3222 do komunikacji. Routery w grupie GLBP wymieniają pakiety "hello" co 3 sekundy. Jeśli router nie wyśle tych pakietów przez 10 sekund, uznaje się go za offline. Jednak te timery nie są stałe i mogą być modyfikowane.

Operacje i Rozkład Obciążenia w GLBP

GLBP wyróżnia się umożliwieniem rozkładu obciążenia pomiędzy routerami za pomocą jednego wirtualnego IP w połączeniu z wieloma wirtualnymi adresami MAC. W grupie GLBP każdy router bierze udział w przekazywaniu pakietów. W odróżnieniu od HSRP/VRRP, GLBP oferuje rzeczywiste równoważenie obciążenia poprzez kilka mechanizmów:

  • Równoważenie Obciążenia Zależne od Hosta: Zapewnia stałe przypisanie adresu MAC AVF do hosta, co jest istotne dla stabilnych konfiguracji NAT.
  • Równoważenie Obciążenia Round-Robin: Domyślne podejście, polegające na zmianie przypisania adresu MAC AVF pomiędzy żądającymi hostami.
  • Równoważenie Obciążenia Ważone Round-Robin: Rozkłada obciążenie na podstawie zdefiniowanych metryk "Waga".

Kluczowe Składniki i Terminologia w GLBP

  • AVG (Aktywna Wirtualna Bramka): Główny router odpowiedzialny za przydzielanie adresów MAC do routerów równorzędnych.
  • AVF (Aktywny Wirtualny Przekierowujący): Router wyznaczony do zarządzania ruchem sieciowym.
  • Priorytet GLBP: Metryka określająca AVG, zaczynająca się od domyślnej wartości 100 i w zakresie od 1 do 255.
  • Waga GLBP: Odzwierciedla obecne obciążenie routera, regulowane ręcznie lub poprzez Śledzenie Obiektów.
  • Wirtualny Adres IP GLBP: Służy jako domyślna brama sieciowa dla wszystkich podłączonych urządzeń.

Do interakcji GLBP wykorzystuje zarezerwowany adres multicastowy 224.0.0.102 i port UDP 3222. Routery wysyłają pakiety "hello" co 3 sekundy i uznawane są za nieoperacyjne, jeśli pakiet zostanie pominięty przez okres 10 sekund.

Mechanizm Ataku GLBP

Atakujący może stać się głównym routerem, wysyłając pakiet GLBP z najwyższą wartością priorytetu (255). Może to prowadzić do ataków typu DoS lub MITM, umożliwiając przechwytywanie lub przekierowywanie ruchu.

Wykonanie Ataku GLBP za pomocą Loki

Loki może przeprowadzić atak GLBP poprzez wstrzyknięcie pakietu z ustawionym priorytetem i wagą na 255. Kroki przed atakiem obejmują zbieranie informacji, takich jak wirtualny adres IP, obecność uwierzytelnienia i wartości priorytetu routera za pomocą narzędzi takich jak Wireshark.

Kroki Ataku:

  1. Przełącz się w tryb promiskuitywny i włącz przekazywanie IP.
  2. Zidentyfikuj docelowy router i pobierz jego IP.
  3. Wygeneruj ARP Gratuitous.
  4. Wstrzyknij złośliwy pakiet GLBP, podszywając się pod AVG.
  5. Przypisz drugi adres IP do interfejsu sieciowego atakującego, odzwierciedlając wirtualny adres IP GLBP.
  6. Wdroż SNAT dla pełnej widoczności ruchu.
  7. Dostosuj trasowanie, aby zapewnić ciągły dostęp do internetu poprzez oryginalny router AVG.

Śledząc te kroki, atakujący umieszcza się jako "człowiek pośrodku", zdolny do przechwytywania i analizowania ruchu sieciowego, w tym danych niezaszyfrowanych lub wrażliwych.

Poniżej znajdują się wymagane fragmenty poleceń do demonstracji:

# 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

Pasywne wyjaśnienie przechwytywania HSRP z szczegółami poleceń

Przegląd HSRP (Hot Standby Router/Redundancy Protocol)

HSRP to protokół własnościowy firmy Cisco zaprojektowany do zapewnienia redundancji bramy sieciowej. Umożliwia konfigurację wielu fizycznych routerów w pojedynczą jednostkę logiczną z wspólnym adresem IP. Ta jednostka logiczna jest zarządzana przez główny router odpowiedzialny za kierowanie ruchem. W przeciwieństwie do GLBP, który wykorzystuje metryki takie jak priorytet i waga do równoważenia obciążenia, HSRP polega na pojedynczym aktywnym routerze do zarządzania ruchem.

Role i Terminologia w HSRP

  • Aktywny Router HSRP: Urządzenie pełniące rolę bramy, zarządzające przepływem ruchu.
  • Rezerwowy Router HSRP: Router zapasowy, gotowy do przejęcia roli aktywnego routera w przypadku awarii.
  • Grupa HSRP: Zestaw routerów współpracujących w celu utworzenia jednego odpornego wirtualnego routera.
  • Adres MAC HSRP: Wirtualny adres MAC przypisany do routera logicznego w konfiguracji HSRP.
  • Wirtualny Adres IP HSRP: Wirtualny adres IP grupy HSRP, działający jako domyślna brama dla podłączonych urządzeń.

Wersje HSRP

HSRP występuje w dwóch wersjach, HSRPv1 i HSRPv2, różniących się głównie pojemnością grupy, użyciem adresów IP multicast oraz strukturą wirtualnego adresu MAC. Protokół wykorzystuje określone adresy IP multicast do wymiany informacji usługowych, z pakietami Hello wysyłanymi co 3 sekundy. Router jest uznawany za nieaktywny, jeśli nie otrzyma pakietu w ciągu 10 sekund.

Mechanizm Ataku HSRP

Ataki HSRP polegają na przymusowym przejęciu roli Aktywnego Routera poprzez wstrzyknięcie maksymalnej wartości priorytetu. Może to prowadzić do ataku typu Man-In-The-Middle (MITM). Istotne kroki przed atakiem obejmują zbieranie danych na temat konfiguracji HSRP, co można zrobić za pomocą Wireshark do analizy ruchu.

Kroki do obejścia uwierzytelniania HSRP

  1. Zapisz ruch sieciowy zawierający dane HSRP jako plik .pcap.
tcpdump -w hsrp_traffic.pcap
  1. Wyodrębnij hashe MD5 z pliku .pcap za pomocą hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Odszyfruj hashe MD5 za pomocą John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes

Wykonanie Wstrzyknięcia HSRP za pomocą Loki

  1. Uruchom Loki, aby zidentyfikować reklamy HSRP.
  2. Ustaw interfejs sieciowy w tryb promiskuitywny i włącz przekazywanie IP.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Użyj Lokiego, aby zaatakować określony router, wprowadź odszyfrowane hasło HSRP i wykonaj niezbędne konfiguracje do podszywania się pod Aktywnego Routera.
  2. Po przejęciu roli Aktywnego Routera skonfiguruj interfejs sieciowy i tabele IP, aby przechwycić prawidłowy ruch.
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. Zmodyfikuj tabelę routingu, aby kierować ruch przez poprzedniego Aktywnego Routera.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
  1. Użyj net-creds.py lub podobnego narzędzia do przechwytywania poświadczeń z przechwyconego ruchu.
sudo python2 net-creds.py -i eth0

Wykonanie tych kroków umieszcza atakującego w pozycji do przechwytywania i manipulowania ruchem, podobnie jak w przypadku przejęcia GLBP. Podkreśla to podatność protokołów redundancji, takich jak HSRP, oraz potrzebę solidnych środków bezpieczeństwa.