Pentesting IPv6
Last updated
Last updated
Ucz się i praktykuj Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i praktykuj Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Adresy IPv6 są zorganizowane w celu poprawy organizacji sieci i interakcji urządzeń. Adres IPv6 jest podzielony na:
Prefiks sieciowy: Pierwsze 48 bitów, określający segment sieci.
ID podsieci: Następne 16 bitów, używane do określenia konkretnych podsieci w obrębie sieci.
Identyfikator interfejsu: Ostatnie 64 bity, unikalnie identyfikujący urządzenie w obrębie podsieci.
Podczas gdy IPv6 pomija protokół ARP znaleziony w IPv4, wprowadza ICMPv6 z dwiema głównymi wiadomościami:
Solicitation sąsiada (NS): Wiadomości multicast do rozwiązywania adresów.
Ogłoszenie sąsiada (NA): Odpowiedzi unicast na NS lub spontaniczne ogłoszenia.
IPv6 również zawiera specjalne typy adresów:
Adres pętli zwrotnej (::1
): Odpowiada 127.0.0.1
w IPv4, służy do komunikacji wewnętrznej w obrębie hosta.
Adresy lokalne (FE80::/10
): Do lokalnych aktywności sieciowych, nie do routingu internetowego. Urządzenia w tej samej sieci lokalnej mogą odnaleźć się nawzajem korzystając z tego zakresu.
Aby komunikować się z sieciami IPv6, można użyć różnych poleceń:
Pingowanie adresów lokalnych: Sprawdź obecność lokalnych urządzeń za pomocą ping6
.
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ładowe polecenia:
Dla podanego adresu MAC 12:34:56:78:9a:bc
, można skonstruować adres Link-local IPv6 w następujący sposób:
Konwersja MAC na format IPv6: 1234:5678:9abc
Dodanie prefiksu fe80::
i wstawienie fffe
na środku: fe80::1234:56ff:fe78:9abc
Odwrócenie siódmego bitu od lewej, zmieniając 1234
na 1034
: fe80::1034:56ff:fe78:9abc
Adres Lokalny Unikalny (ULA): Do komunikacji lokalnej, nie przeznaczony do routingu w publicznym internecie. Prefiks: FEC00::/7
Adres Multicast: Do komunikacji jeden do wielu. Dostarczany do wszystkich interfejsów w grupie multicastowej. Prefiks: FF00::/8
Adres Anycast: Do komunikacji jeden do najbliższego. Wysyłany do najbliższego interfejsu zgodnie z protokołem routingu. Część globalnego zakresu unicast 2000::/3
.
fe80::/10: Adresy Link-Local (podobne do 169.254.x.x)
fc00::/7: Unikalny Lokalny-Unicast (podobne do prywatnych zakresów IPv4 jak 10.x.x.x, 172.16.x.x, 192.168.x.x)
2000::/3: Globalny Unicast
ff02::1: Multicast Wszystkie Węzły
ff02::2: Multicast Węzły Routera
Uzyskaj adres MAC urządzenia w sieci.
Wygeneruj adres Link-local IPv6 na podstawie adresu MAC.
Wyślij ping na adres multicast ff02::1
, aby odkryć adresy IPv6 w lokalnej sieci.
Istnieje kilka technik pozwalających na przeprowadzenie ataków typu MitM w sieciach IPv6, takich jak:
Podrobienie komunikatów sąsiedztwa ICMPv6 lub ogłoszeń routera.
Wykorzystanie komunikatów ICMPv6 przekierowania lub "Zbyt duży pakiet" do manipulowania trasowaniem.
Atakowanie mobilnego IPv6 (zazwyczaj wymaga wyłączenia IPSec).
Skonfigurowanie podstępnego serwera DHCPv6.
Metoda znajdowania subdomen potencjalnie powiązanych z adresami IPv6 polega na wykorzystaniu wyszukiwarek internetowych. Na przykład, zastosowanie wzorca zapytania ipv6.*
może być skuteczne. W szczególności, poniższe polecenie wyszukiwania można użyć w Google:
Aby zidentyfikować adresy IPv6, można zapytać o pewne typy rekordów DNS:
AXFR: Żąda kompletnej transmisji strefy, potencjalnie odkrywając szeroki zakres rekordów DNS.
AAAA: Bezpośrednio wyszukuje adresy IPv6.
ANY: Szerokie zapytanie zwracające wszystkie dostępne rekordy DNS.
Po zlokalizowaniu adresów IPv6 powiązanych z organizacją, narzędzie ping6
może być użyte do sondowania. To narzędzie pomaga ocenić reaktywność zidentyfikowanych adresów IPv6 i może również pomóc w odkryciu sąsiednich urządzeń IPv6.