GLBP & HSRP Attacks
Reading time: 7 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
FHRP Hijacking Overview
Insights into FHRP
FHRP został zaprojektowany w celu zapewnienia odporności sieciowej poprzez połączenie wielu routerów w jedną wirtualną jednostkę, co zwiększa rozkład obciążenia i tolerancję na awarie. Cisco Systems wprowadziło w tej suite znaczące protokoły, takie jak GLBP i HSRP.
GLBP Protocol Insights
Stworzenie 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.
GLBP Operations and Load Distribution
GLBP wyróżnia się umożliwieniem rozkładu obciążenia pomiędzy routerami przy użyciu jednego wirtualnego adresu IP połączonego z wieloma wirtualnymi adresami MAC. W grupie GLBP każdy router bierze udział w przesyłaniu pakietów. W przeciwieństwie do HSRP/VRRP, GLBP oferuje prawdziwe równoważenie obciążenia poprzez kilka mechanizmów:
- Host-Dependent Load Balancing: Utrzymuje stałe przypisanie adresu MAC AVF do hosta, co jest niezbędne dla stabilnych konfiguracji NAT.
- Round-Robin Load Balancing: Domyślne podejście, naprzemienne przypisanie adresu MAC AVF pomiędzy żądającymi hostami.
- Weighted Round-Robin Load Balancing: Rozkłada obciążenie na podstawie zdefiniowanych metryk "Wagi".
Key Components and Terminologies in GLBP
- AVG (Active Virtual Gateway): Główny router, odpowiedzialny za przydzielanie adresów MAC do routerów partnerskich.
- AVF (Active Virtual Forwarder): Router wyznaczony do zarządzania ruchem sieciowym.
- GLBP Priority: Metryka, która określa AVG, zaczynająca się od domyślnej wartości 100 i mieszcząca się w zakresie od 1 do 255.
- GLBP Weight: Odzwierciedla aktualne obciążenie routera, regulowane ręcznie lub poprzez Object Tracking.
- GLBP Virtual IP Address: Służy jako domyślny brama sieciowa dla wszystkich podłączonych urządzeń.
Do interakcji GLBP wykorzystuje zarezerwowany adres multicast 224.0.0.102 i port UDP 3222. Routery przesyłają pakiety "hello" co 3 sekundy i są uznawane za nieoperacyjne, jeśli pakiet zostanie pominięty przez 10 sekund.
GLBP Attack Mechanism
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 DoS lub MITM, umożliwiając przechwytywanie lub przekierowywanie ruchu.
Executing a GLBP Attack with Loki
Loki może przeprowadzić atak GLBP, wstrzykując pakiet z priorytetem i wagą ustawioną na 255. Kroki przed atakiem obejmują zbieranie informacji, takich jak wirtualny adres IP, obecność uwierzytelnienia i wartości priorytetu routera przy użyciu narzędzi takich jak Wireshark.
Attack Steps:
- Przełącz się w tryb promiskuitywny i włącz przekazywanie IP.
- Zidentyfikuj docelowy router i pobierz jego adres IP.
- Wygeneruj Gratuitous ARP.
- Wstrzyknij złośliwy pakiet GLBP, podszywając się pod AVG.
- Przypisz dodatkowy adres IP do interfejsu sieciowego atakującego, odzwierciedlając wirtualny adres IP GLBP.
- Wdróż SNAT dla pełnej widoczności ruchu.
- Dostosuj routing, aby zapewnić ciągły dostęp do internetu przez oryginalny router AVG.
Postępując zgodnie z tymi krokami, atakujący ustawia się jako "człowiek w środku", zdolny do przechwytywania i analizowania ruchu sieciowego, w tym niezaszyfrowanych lub wrażliwych danych.
Dla demonstracji oto wymagane fragmenty poleceń:
# 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ą net-creds.py lub podobnych narzędzi do przechwytywania i analizy danych przepływających przez skompromitowaną sieć.
Pasywne wyjaśnienie przejęcia HSRP z szczegółami poleceń
Przegląd HSRP (Hot Standby Router/Redundancy Protocol)
HSRP to protokół własnościowy Cisco zaprojektowany do redundancji bram sieciowych. Umożliwia konfigurację wielu fizycznych routerów w jedną logiczną jednostkę z wspólnym adresem IP. Ta logiczna jednostka 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 jednym aktywnym routerze do zarządzania ruchem.
Role i terminologia w HSRP
- HSRP Active Router: Urządzenie działające jako brama, zarządzające przepływem ruchu.
- HSRP Standby Router: Router zapasowy, gotowy do przejęcia, jeśli router aktywny zawiedzie.
- HSRP Group: Zestaw routerów współpracujących w celu utworzenia jednego odpornego wirtualnego routera.
- HSRP MAC Address: Wirtualny adres MAC przypisany do logicznego routera w konfiguracji HSRP.
- HSRP Virtual IP Address: 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 o usługach, z pakietami Hello wysyłanymi co 3 sekundy. Router uznaje się za nieaktywny, jeśli w ciągu 10 sekund nie otrzyma żadnego pakietu.
Mechanizm ataku HSRP
Ataki HSRP polegają na przymusowym przejęciu roli Active Routera poprzez wstrzyknięcie maksymalnej wartości priorytetu. Może to prowadzić do ataku Man-In-The-Middle (MITM). Kluczowe kroki przed atakiem obejmują zbieranie danych o konfiguracji HSRP, co można zrobić za pomocą Wireshark do analizy ruchu.
Kroki do ominięcia uwierzytelniania HSRP
- Zapisz ruch sieciowy zawierający dane HSRP jako plik .pcap.
tcpdump -w hsrp_traffic.pcap
- Wyodrębnij hashe MD5 z pliku .pcap za pomocą hsrp2john.py.
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
- Złam hashe MD5 za pomocą John the Ripper.
john --wordlist=mywordlist.txt hsrp_hashes
Wykonywanie wstrzyknięcia HSRP za pomocą Loki
- Uruchom Loki, aby zidentyfikować ogłoszenia HSRP.
- 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
- Użyj Loki, aby celować w konkretny router, wprowadź złamane hasło HSRP i wykonaj niezbędne konfiguracje, aby udawać Active Routera.
- Po przejęciu roli Active Routera skonfiguruj swój 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
- Zmodyfikuj tabelę routingu, aby kierować ruch przez byłego Active Routera.
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
- Użyj net-creds.py lub podobnego narzędzia, aby przechwycić dane uwierzytelniające z przechwyconego ruchu.
sudo python2 net-creds.py -i eth0
Wykonanie tych kroków stawia 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.
Referencje
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.