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

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:

  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 dodatkowy adres IP do interfejsu sieciowego atakującego, odzwierciedlając wirtualny adres IP GLBP.
  6. Wdróż SNAT dla pełnej widoczności ruchu.
  7. 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ń:

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

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

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

Wykonywanie wstrzyknięcia HSRP za pomocą Loki

  1. Uruchom Loki, aby zidentyfikować ogłoszenia HSRP.
  2. Ustaw interfejs sieciowy w tryb promiskuitywny i włącz przekazywanie IP.
shell
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
  1. Użyj Loki, aby celować w konkretny router, wprowadź złamane hasło HSRP i wykonaj niezbędne konfiguracje, aby udawać Active Routera.
  2. Po przejęciu roli Active Routera skonfiguruj swój interfejs sieciowy i tabele IP, aby przechwytywać prawidłowy ruch.
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. Zmodyfikuj tabelę routingu, aby kierować ruch przez byłego Active Routera.
shell
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, aby przechwycić dane uwierzytelniające z przechwyconego ruchu.
shell
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