Pentesting IPv6
Podstawowa teoria IPv6
Sieci
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
): Odpowiada127.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.
Praktyczne użycie IPv6 w poleceniach sieciowych
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:
Pochodzenie lokalnego adresu IPv6 z adresu MAC
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 wstawieniefffe
na środku:fe80::1234:56ff:fe78:9abc
Odwrócenie siódmego bitu od lewej, zmieniając
1234
na1034
:fe80::1034:56ff:fe78:9abc
Typy adresów IPv6
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
.
Prefiksy adresów
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
Odkrywanie adresów IPv6 w sieci
Sposób 1: Użycie adresów Link-local
Uzyskaj adres MAC urządzenia w sieci.
Wygeneruj adres Link-local IPv6 na podstawie adresu MAC.
Sposób 2: Użycie Multicast
Wyślij ping na adres multicast
ff02::1
, aby odkryć adresy IPv6 w lokalnej sieci.
Ataki typu Man-in-the-Middle (MitM) w IPv6
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.
Identyfikacja adresów IPv6 w dziedzinie
Badanie subdomen
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:
Wykorzystanie zapytań DNS
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.
Sondowanie za pomocą Ping6
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.
Referencje
Last updated