Translated ['src/generic-methodologies-and-resources/pentesting-network/

This commit is contained in:
Translator 2025-08-20 11:32:28 +00:00
parent 0cc255595d
commit b684260c43
2 changed files with 27 additions and 27 deletions

View File

@ -14,8 +14,8 @@ Adresy IPv6 są zorganizowane w celu poprawy organizacji sieci i interakcji urz
Podczas gdy IPv6 pomija protokół ARP występujący w IPv4, wprowadza **ICMPv6** z dwoma głównymi komunikatami:
- **Zapytanie sąsiedztwa (NS)**: Wiadomości multicastowe do rozwiązywania adresów.
- **Ogłoszenie sąsiedztwa (NA)**: Odpowiedzi unicastowe na NS lub spontaniczne ogłoszenia.
- **Zapytanie sąsiednie (NS)**: Wiadomości multicastowe do rozwiązywania adresów.
- **Ogłoszenie sąsiednie (NA)**: Odpowiedzi unicastowe na NS lub spontaniczne ogłoszenia.
IPv6 wprowadza również specjalne typy adresów:
@ -27,7 +27,7 @@ IPv6 wprowadza również specjalne typy adresów:
Aby interagować z sieciami IPv6, można używać różnych poleceń:
- **Ping adresy lokalne**: Sprawdź obecność lokalnych urządzeń za pomocą `ping6`.
- **Odkrywanie sąsiedztwa**: Użyj `ip neigh`, aby zobaczyć urządzenia odkryte na warstwie łącza.
- **Odkrywanie sąsiadów**: Użyj `ip neigh`, aby zobaczyć urządzenia odkryte na warstwie łącza.
- **alive6**: Alternatywne narzędzie do odkrywania urządzeń w tej samej sieci.
Poniżej znajdują się przykłady poleceń:
@ -50,7 +50,7 @@ Dany adres MAC **`12:34:56:78:9a:bc`**, możesz skonstruować adres Link-local I
### **Typy adresów IPv6**
- **Unique Local Address (ULA)**: Do komunikacji lokalnej, nieprzeznaczone do routingu w Internecie. Prefiks: **`FEC00::/7`**
- **Unique Local Address (ULA)**: Do komunikacji lokalnej, nieprzeznaczone do routingu w internecie. Prefiks: **`FEC00::/7`**
- **Multicast Address**: Do komunikacji jeden-do-wielu. Dostarczany do wszystkich interfejsów w grupie multicast. Prefiks: **`FF00::/8`**
- **Anycast Address**: Do komunikacji jeden-do-najbliższego. Wysyłany do najbliższego interfejsu zgodnie z protokołem routingu. Część globalnego zakresu unicast **`2000::/3`**.
@ -59,8 +59,8 @@ Dany adres MAC **`12:34:56:78:9a:bc`**, możesz skonstruować adres Link-local I
- **fe80::/10**: Adresy Link-Local (podobne do 169.254.x.x)
- **fc00::/7**: Unique Local-Unicast (podobne do prywatnych zakresów IPv4, takich jak 10.x.x.x, 172.16.x.x, 192.168.x.x)
- **2000::/3**: Global Unicast
- **ff02::1**: Multicast All Nodes
- **ff02::2**: Multicast Router Nodes
- **ff02::1**: Multicast Wszystkie Węzły
- **ff02::2**: Multicast Węzły Routerów
### **Odkrywanie adresów IPv6 w sieci**
@ -81,7 +81,7 @@ ip -6 neigh # Display the neighbor table
Istnieje kilka technik wykonywania ataków MitM w sieciach IPv6, takich jak:
- Fałszowanie reklamacji sąsiadów lub routerów ICMPv6.
- Fałszowanie reklam sąsiedztwa lub routera ICMPv6.
- Używanie komunikatów ICMPv6 redirect lub "Packet Too Big" do manipulacji trasowaniem.
- Atakowanie mobilnego IPv6 (zwykle wymaga wyłączenia IPSec).
- Ustawienie nieautoryzowanego serwera DHCPv6.
@ -90,7 +90,7 @@ Istnieje kilka technik wykonywania ataków MitM w sieciach IPv6, takich jak:
### Badanie subdomen
Metoda znajdowania subdomen, które mogą być powiązane z adresami IPv6, polega na wykorzystaniu wyszukiwarek. Na przykład, zastosowanie wzoru zapytania takiego jak `ipv6.*` może być skuteczne. Konkretnie, można użyć następującego polecenia wyszukiwania w Google:
Metoda znajdowania subdomen, które mogą być powiązane z adresami IPv6, polega na wykorzystaniu wyszukiwarek. Na przykład, zastosowanie wzoru zapytania takiego jak `ipv6.*` może być skuteczne. Konkretnie, następujące polecenie wyszukiwania można użyć w Google:
```bash
site:ipv6./
```
@ -112,7 +112,7 @@ Poniższe sekcje obejmują praktyczne ataki IPv6 na warstwie 2, które można wy
### Dostosowanie systemu do stabilnego laboratorium
Przed zabawą z ruchem IPv6 zaleca się wzmocnienie swojego systemu, aby uniknąć bycia zatrutym przez własne testy i uzyskać najlepszą wydajność podczas masowego wstrzykiwania/podsłuchiwania pakietów.
Przed zabawą z ruchem IPv6 zaleca się wzmocnienie swojego systemu, aby uniknąć zanieczyszczenia własnymi testami i uzyskać najlepszą wydajność podczas masowego wstrzykiwania/podsłuchiwania pakietów.
```bash
# Enable promiscuous mode to capture all frames
sudo ip link set dev eth0 promisc on
@ -128,7 +128,7 @@ sudo sysctl -w net.ipv4.tcp_tw_reuse=1
```
### Pasywne sniffowanie NDP i DHCPv6
Ponieważ każdy host IPv6 **automatycznie dołącza do wielu grup multicastowych** (`ff02::1`, `ff02::2`, …) i używa ICMPv6 do SLAAC/NDP, możesz zmapować cały segment bez wysyłania pojedynczego pakietu. Poniższy jednowierszowy skrypt Python/Scapy nasłuchuje najciekawszych wiadomości L2 i drukuje kolorowy, stemplowany czasem log, kto jest kim:
Ponieważ każdy host IPv6 **automatycznie dołącza do wielu grup multicastowych** (`ff02::1`, `ff02::2`, …) i komunikuje się za pomocą ICMPv6 dla SLAAC/NDP, możesz zmapować cały segment bez wysyłania pojedynczego pakietu. Poniższy jednowierszowy skrypt Python/Scapy nasłuchuje najciekawszych wiadomości L2 i drukuje kolorowy, stemplowany czasem log, kto jest kim:
```python
#!/usr/bin/env python3
from scapy.all import *
@ -197,9 +197,9 @@ sniff(iface=a.interface,prn=handler,timeout=a.time or None,store=0)
```
Wynik: pełna **topologia link-local** (MAC ⇄ IPv6) w ciągu kilku sekund, bez wywoływania systemów IPS/IDS, które polegają na aktywnych skanach.
### Fałszowanie Reklam Routera (RA)
### Fałszowanie ogłoszeń routera (RA)
Hosty IPv6 polegają na **Reklamach Routera ICMPv6** w celu odkrywania domyślnej bramy. Jeśli wstrzykniesz sfałszowane RA **częściej** niż prawdziwy router, urządzenia cicho przełączą się na Ciebie jako bramę.
Hosty IPv6 polegają na **ogłoszeniach routera ICMPv6** w celu odkrywania domyślnej bramy. Jeśli wstrzykniesz sfałszowane RA **częściej** niż prawdziwy router, urządzenia cicho przełączą się na ciebie jako bramę.
```python
#!/usr/bin/env python3
from scapy.all import *
@ -221,13 +221,13 @@ ICMPv6NDOptSrcLLAddr(lladdr=args.mac))
send(ra,iface=args.interface,loop=1,inter=args.interval)
```
Aby faktycznie **przekierować ruch** po wygraniu wyścigu:
Aby faktycznie **przekazywać ruch** po wygraniu wyścigu:
```bash
sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo ip6tables -A FORWARD -i eth0 -j ACCEPT
sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
```
#### Flagi Ogłoszenia Routera (M/O) i Preferencje Domyślnego Routera (Prf)
#### Flagi Ogłoszenia Routera (M/O) i Preferencje Domowego Routera (Prf)
| Flaga | Znaczenie | Efekt na zachowanie klienta |
|-------|-----------|-----------------------------|
@ -242,13 +242,13 @@ sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertise
```
Szukaj pola `flags [M,O]` w zrzucie nie ma potrzeby zgadywania.
Pole **Prf** (Router Preference) wewnątrz nagłówka RA kontroluje, jak atrakcyjny wygląda twój fałszywy router, gdy obecnych jest *wiele* bram:
Pole **Prf** (Router Preference) wewnątrz nagłówka RA kontroluje, jak atrakcyjny wygląda twój fałszywy router, gdy obecnych jest *wiele* bramek:
| Wartość Prf | Binarnie | Znaczenie |
|-------------|----------|-----------|
| **Wysoki** | `10` | Klienci preferują ten router nad jakimkolwiek *Średnim*/*Niskim* |
| **Wysoki** | `10` | Klienci preferują ten router nad jakikolwiek *Średni*/*Niski* |
| Średni (domyślny) | `01` | Używany przez prawie każde legalne urządzenie |
| Niski | `00` | Wybierany tylko wtedy, gdy nie ma lepszego routera |
| Niski | `00` | Wybierany tylko wtedy, gdy nie ma lepszego routera |
Podczas generowania pakietu za pomocą Scapy możesz ustawić to przez parametr `prf`, jak pokazano powyżej (`prf=0x1` → Wysoki). Łączenie **Wysokiego Prf**, **krótkiego interwału** i **niezerowego czasu życia** sprawia, że twój fałszywy gateway jest niezwykle stabilny.
@ -276,11 +276,11 @@ ICMPv6NDOptRDNSS(dns=[args.dns],lifetime=args.lifetime))
send(ra,iface=args.interface,loop=1,inter=args.interval)
```
Klienci **dodają** twoje DNS do swojej listy resolverów na dany czas życia, co umożliwia pełne przejęcie DNS, aż wartość wygaśnie lub wyślesz `lifetime=0` w celu przywrócenia.
Klienci **dodają** twoje DNS do swojej listy resolverów na dany czas, co umożliwia pełne przejęcie DNS aż do wygaśnięcia wartości lub wysłania `lifetime=0` w celu przywrócenia.
### DHCPv6 DNS Spoofing (mitm6)
Zamiast SLAAC, sieci Windows często polegają na **stateless DHCPv6** dla DNS. [mitm6](https://github.com/rofl0r/mitm6) automatycznie odpowiada na wiadomości `Solicit` za pomocą przepływu **Advertise → Reply**, który przypisuje **twoje lokalne adresy jako DNS na 300 sekund**. To odblokowuje:
Zamiast SLAAC, sieci Windows często polegają na **stateless DHCPv6** dla DNS. [mitm6](https://github.com/rofl0r/mitm6) automatycznie odpowiada na wiadomości `Solicit` przepływem **Advertise → Reply**, który przypisuje **twoje lokalne adresy jako DNS na 300 sekund**. To odblokowuje:
* Ataki relay NTLM (WPAD + przejęcie DNS)
* Przechwytywanie wewnętrznego rozwiązywania nazw bez dotykania routerów
@ -289,14 +289,14 @@ Typowe użycie:
```bash
sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
```
### Ochrona
### Ochrony
* **RA Guard / DHCPv6 Guard / ND Inspection** na zarządzanych przełącznikach.
* Port ACL, które pozwalają tylko na wysyłanie RAs przez prawidłowy adres MAC routera.
* Monitorowanie **niesolidnych RAs o wysokiej częstotliwości** lub nagłych **zmian RDNSS**.
* Wyłączenie IPv6 na punktach końcowych to tymczasowe rozwiązanie, które często łamie nowoczesne usługi i ukrywa martwe punkty zamiast tego preferuj filtrowanie L2.
## Odniesienia
## Referencje
- [Legless IPv6 Penetration Testing](https://blog.exploit.org/caster-legless/)
- [mitm6](https://github.com/rofl0r/mitm6)

View File

@ -10,7 +10,7 @@ Klasycznym—ale wciąż niezwykle skutecznym—wektorem ataku jest **brute-forc
```bash
onesixtyone -c community_strings.txt -i targets.txt
```
Inne szybkie opcje to skrypt Nmap NSE `snmp-brute` lub moduł SNMP Hydry:
Inne szybkie opcje to skrypt Nmap NSE `snmp-brute` lub moduł SNMP Hydra:
```bash
nmap -sU -p161 --script snmp-brute --script-args brute.community=wordlist 10.0.0.0/24
hydra -P wordlist.txt -s 161 10.10.10.1 snmp
@ -59,10 +59,10 @@ run
## Ostatnie luki w SNMP Cisco (2023 2025)
Śledzenie powiadomień od dostawców jest przydatne do określenia możliwości *zero-day-to-n-day* w ramach zaangażowania:
| Rok | CVE | Dotknięta funkcja | Wpływ |
|------|----------------|----------------------------------|-----------------------------------------------------------------------|
| 2025 | CVE-2025-20174 | Podsystem SNMP | Opracowany pakiet prowadzi do uwierzytelnionego *DoS* (przeładowanie) na IOS/IOS-XE (v1/v2c/v3). |
| 2024 | CVE-2024-20373 | Obsługa ACL IPv4 | Źle skonfigurowane **rozszerzone** ACL cicho *nie działają*, umożliwiając nieautoryzowane sondowanie SNMP, gdy znana jest ważna społeczność/użytkownik. |
| Rok | CVE | Affected feature | Impact |
|------|-----|-----------------|--------|
| 2025 | CVE-2025-20174 | Podsystem SNMP | Opracowany pakiet prowadzi do uwierzytelnionego *DoS* (przeładowanie) na IOS/IOS-XE (v1/v2c/v3). |
| 2024 | CVE-2024-20373 | Obsługa ACL IPv4 | Źle skonfigurowane **rozszerzone** ACL cicho *zawodzą*, umożliwiając nieautoryzowane sondowanie SNMP, gdy znana jest ważna społeczność/użytkownik. |
| 2025 | (brak CVE jeszcze) | Ominięcie ograniczeń konfiguracji SNMPv3 | Ważny użytkownik v3 może sondować z adresów, które powinny być zablokowane. |
Możliwość wykorzystania często nadal zależy od posiadania ciągu społeczności lub poświadczeń v3 kolejny powód, dla którego ich łamanie pozostaje istotne.
@ -82,7 +82,7 @@ snmp-server user monitor SECURE v3 auth sha <authpass> priv aes 256 <privpass>
`snmp-server community <string> RW 99 view SysView`
* Monitoruj:
- Wzrosty UDP/161 lub nieoczekiwane źródła (reguły SIEM).
- Wydarzenia `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` wskazujące na zmiany konfiguracji poza pasmem.
- Zdarzenia `CISCO-CONFIG-MAN-MIB::ccmHistoryEventConfigSource` wskazujące na zmiany konfiguracji poza pasmem.
* Włącz **logowanie SNMPv3** i `snmp-server packetsize 1500`, aby zredukować niektóre wektory DoS.
---