mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
139 lines
7.9 KiB
Markdown
139 lines
7.9 KiB
Markdown
# GLBP & HSRP Attacks
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
|
|
## 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](https://github.com/raizo62/loki_on_kali) 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
|
|
```
|
|
2. Wyodrębnij hashe MD5 z pliku .pcap za pomocą hsrp2john.py.
|
|
```shell
|
|
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
|
|
```
|
|
3. 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
|
|
```
|
|
3. Użyj Loki, aby celować w konkretny router, wprowadź złamane hasło HSRP i wykonaj niezbędne konfiguracje, aby udawać Active Routera.
|
|
4. 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
|
|
```
|
|
5. 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
|
|
```
|
|
6. 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
|
|
|
|
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
|
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|