hacktricks/generic-methodologies-and-resources/pentesting-network/glbp-and-hsrp-attacks.md
2024-02-11 01:46:25 +00:00

10 KiB

Ataki GLBP i HSRP

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Przegląd ataków FHRP Hijacking

Wprowadzenie do FHRP

FHRP został zaprojektowany w celu zapewnienia niezawodności sieci poprzez połączenie wielu routerów w jednostkę wirtualną, co zwiększa rozłożenie obciążenia i odporność na awarie. Cisco Systems wprowadził w tej grupie prominentne protokoły, takie jak GLBP i HSRP.

Informacje o protokole GLBP

GLBP, stworzony przez Cisco, 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 wysyła tych pakietów przez 10 sekund, uważa się go za offline. Jednak te timery nie są stałe i mogą być modyfikowane.

Operacje i rozłożenie obciążenia w GLBP

GLBP wyróżnia się umożliwieniem rozłożenia obciążenia między routerami za pomocą jednego wirtualnego adresu IP i wielu wirtualnych adresów MAC. W grupie GLBP każdy router bierze udział w przekazywaniu pakietów. W odróżnieniu od HSRP/VRRP, GLBP oferuje prawdziwe równoważenie obciążenia za pomocą kilku mechanizmów:

  • Równoważenie obciążenia zależne od hosta: Utrzymuje stałe przypisanie adresu MAC AVF do hosta, co jest istotne dla stabilnych konfiguracji NAT.
  • Równoważenie obciążenia typu Round-Robin: Domyślne podejście, polegające na naprzemiennym przypisywaniu adresu MAC AVF żądającym hostom.
  • Równoważenie obciążenia typu Weighted Round-Robin: Rozkłada obciążenie na podstawie predefiniowanych metryk "Weight".

Kluczowe komponenty i terminologia w GLBP

  • AVG (Active Virtual Gateway): Główny router odpowiedzialny za przydzielanie adresów MAC routerom równorzędnym.
  • AVF (Active Virtual Forwarder): Router wyznaczony do zarządzania ruchem sieciowym.
  • Priorytet GLBP: Metryka określająca AVG, zaczynająca się od domyślnej wartości 100 i mieszcząca się w zakresie od 1 do 255.
  • Waga GLBP: Odzwierciedla obecne obciążenie routera, które można dostosować ręcznie lub za pomocą śledzenia 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 są uważane 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ących przechwytywanie lub przekierowywanie ruchu.

Wykonanie ataku GLBP za pomocą Loki

Loki może przeprowadzić atak GLBP poprzez wstrzyknięcie pakietu z ustawionymi priorytetem i wagą na 255. Kroki przed atakiem obejmują zbieranie informacji, takich jak wirtualny adres IP, obecność uwierzytelniania 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 adres IP.
  3. Wygeneruj Gratuitous ARP.
  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ć kontynuowany dostęp do Internetu przez oryginalny router AVG.

Postępując zgodnie z tymi krokami, atakujący staje się "człowiekiem pośrednim", zdolnym 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

Monitorowanie i przechwytywanie ruchu można przeprowadzić za pomocą narzędzi takich jak net-creds.py w celu przechwycenia i analizy danych przepływających przez skompromitowaną sieć.

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

Przegląd protokołu 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 jednostkę logiczną o wspólnym adresie IP. Ta jednostka logiczna jest zarządzana przez router główny, który odpowiada 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: Rezerwowy router gotowy do przejęcia roli aktywnego routera w przypadku awarii.
  • Grupa HSRP: Zbiór routerów współpracujących w celu utworzenia jednego odpornego wirtualnego routera.
  • Adres MAC HSRP: Wirtualny adres MAC przypisany do logicznego routera 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, wykorzystaniem adresów IP multicast oraz strukturą wirtualnego adresu MAC. Protokół wykorzystuje określone adresy IP multicast do wymiany informacji o usłudze, wysyłając pakiety Hello co 3 sekundy. Jeśli w ciągu 10 sekund nie zostanie odebrany żaden pakiet, router jest uważany za nieaktywny.

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ą programu 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 skróty MD5 z pliku .pcap za pomocą hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
  1. Odszyfruj skróty MD5 za pomocą programu 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 pakietów IP.
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Użyj Loki, aby zaatakować określony router, wprowadź odszyfrowane hasło HSRP i wykonaj niezbędne konfiguracje w celu podszywania się pod Aktywnego Routera.
  2. Po przejęciu roli Aktywnego Routera skonfiguruj interfejs sieciowy i tabele IP, aby przechwytywać 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 tablicę 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 narzędzia net-creds.py lub podobnego, aby przechwycić dane uwierzytelniające 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. Uwydatnia to podatność protokołów redundancji takich jak HSRP i konieczność stosowania solidnych środków bezpieczeństwa.

Odwołania

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: