Pentesting IPv6

Wesprzyj HackTricks

Podstawowa teoria IPv6

Sieci

Adresy IPv6 są zorganizowane w celu poprawy organizacji sieci i interakcji urządzeń. Adres IPv6 jest podzielony na:

  1. Prefiks sieciowy: Pierwsze 48 bitów, określający segment sieci.

  2. ID podsieci: Następne 16 bitów, używane do określenia konkretnych podsieci w obrębie sieci.

  3. 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.

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:

ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

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:

  1. Konwersja MAC na format IPv6: 1234:5678:9abc

  2. Dodanie prefiksu fe80:: i wstawienie fffe na środku: fe80::1234:56ff:fe78:9abc

  3. Odwrócenie siódmego bitu od lewej, zmieniając 1234 na 1034: 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

  1. Uzyskaj adres MAC urządzenia w sieci.

  2. Wygeneruj adres Link-local IPv6 na podstawie adresu MAC.

Sposób 2: Użycie Multicast

  1. Wyślij ping na adres multicast ff02::1, aby odkryć adresy IPv6 w lokalnej sieci.

service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table

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:

site:ipv6./

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