Pentesting IPv6
Podstawowa teoria IPv6
Sieci
Adresy IPv6 są strukturalnie zorganizowane, aby ułatwić organizację sieci i interakcję urządzeń. Adres IPv6 jest podzielony na:
Prefiks sieciowy: Pierwsze 48 bitów, określający segment sieciowy.
ID podsieci: Następne 16 bitów, używane do definiowania konkretnych podsieci w sieci.
Identyfikator interfejsu: Ostatnie 64 bity, unikalnie identyfikujący urządzenie w podsieci.
Podczas gdy IPv6 pomija protokół ARP, który występuje w IPv4, wprowadza ICMPv6 z dwoma podstawowymi wiadomościami:
Solicytacja sąsiada (NS): Wiadomości multicast do rozwiązywania adresów.
Ogłoszenie sąsiada (NA): Unicastowe odpowiedzi na NS lub spontaniczne ogłoszenia.
IPv6 zawiera również specjalne typy adresów:
Adres pętli zwrotnej (
::1
): Odpowiednik127.0.0.1
w IPv4, służy do komunikacji wewnętrznej wewnątrz hosta.Adresy lokalne (
FE80::/10
): Do lokalnych działań 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 korzystać z sieci IPv6, można używać różnych poleceń:
Ping adresów lokalnych: Sprawdź obecność lokalnych urządzeń za pomocą
ping6
.Odkrywanie sąsiadów: Użyj
ip neigh
, aby wyświetlić 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:
Adresy IPv6 można wygenerować na podstawie adresu MAC urządzenia do lokalnej komunikacji. Oto uproszczony przewodnik, jak wygenerować adres IPv6 typu Link-local na podstawie znanego adresu MAC, oraz krótki opis typów adresów IPv6 i metod odkrywania adresów IPv6 w sieci.
Generowanie adresu Link-local IPv6 na podstawie 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:
Przekształć MAC na format IPv6:
1234:5678:9abc
Dodaj prefiks
fe80::
i wstawfffe
w środku:fe80::1234:56ff:fe78:9abc
Odwróć siódmy bit od lewej strony, zmieniając
1234
na1034
:fe80::1034:56ff:fe78:9abc
Typy adresów IPv6
Unique Local Address (ULA): Do lokalnej komunikacji, nie przeznaczony do routingu w publicznym internecie. Prefiks:
FEC00::/7
Adres multicast: Do komunikacji jedno-do-wielu. Dostarczany do wszystkich interfejsów w grupie multicastowej. Prefiks:
FF00::/8
Adres anycast: Do komunikacji jedno-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: Unikalne lokalne unicast (podobne do prywatnych zakresów IPv4, takich 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: Wykorzystanie adresów Link-local
Uzyskaj adres MAC urządzenia w sieci.
Wygeneruj adres Link-local IPv6 na podstawie adresu MAC.
Sposób 2: Wykorzystanie Multicastu
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 umożliwiających przeprowadzenie ataków typu MitM w sieciach IPv6, takich jak:
Podrobienie komunikatów ICMPv6 dotyczących sąsiadów lub routera.
Wykorzystanie komunikatów ICMPv6 przekierowania lub "Packet Too Big" do manipulacji trasowaniem.
Atakowanie mobilnego IPv6 (zwykle wymaga wyłączenia IPSec).
Utworzenie fałszywego serwera DHCPv6.
Identyfikacja adresów IPv6 w dziedzinie
Badanie subdomen
Metoda polegająca na znalezieniu subdomen potencjalnie powiązanych z adresami IPv6 polega na wykorzystaniu wyszukiwarek. Na przykład, można skorzystać z wzorca zapytania ipv6.*
. W szczególności, w Google można użyć następującej komendy wyszukiwania:
Wykorzystywanie zapytań DNS
Aby zidentyfikować adresy IPv6, można zapytać o określone typy rekordów DNS:
AXFR: Wymaga pełnego transferu strefy, co może ujawnić szeroki zakres rekordów DNS.
AAAA: Bezpośrednio wyszukuje adresy IPv6.
ANY: Szerokie zapytanie, które zwraca wszystkie dostępne rekordy DNS.
Sondowanie za pomocą Ping6
Po zlokalizowaniu adresów IPv6 powiązanych z organizacją, można użyć narzędzia ping6
do sondowania. Narzędzie to pomaga ocenić reaktywność zidentyfikowanych adresów IPv6 i może również pomóc w odkrywaniu sąsiednich urządzeń IPv6.
Referencje
Last updated