tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks

Podstawowa teoria IPv6

Sieci

Adresy IPv6 są zorganizowane w celu poprawy organizacji sieci i interakcji urządzeń. Adres IPv6 dzieli się na:

  1. Prefiks sieciowy: Początkowe 48 bitów, określające segment sieci.
  2. ID podsieci: Następne 16 bitów, używane do definiowania konkretnych podsieci w sieci.
  3. Identyfikator interfejsu: Ostatnie 64 bity, unikalnie identyfikujące urządzenie w podsieci.

Podczas gdy IPv6 pomija protokół ARP występujący w IPv4, wprowadza ICMPv6 z dwoma głównymi komunikatami:

  • Zapytanie sąsiednie (NS): Wiadomości multicastowe do rozwiązywania adresów.
  • Ogłoszenie sąsiednie (NA): Odpowiedzi unicastowe na NS lub spontaniczne ogłoszenia.

IPv6 wprowadza również specjalne typy adresów:

  • Adres loopback (::1): Odpowiednik 127.0.0.1 w IPv4, do komunikacji wewnętrznej w hoście.
  • Adresy lokalne (FE80::/10): Do lokalnych działań sieciowych, nie do routingu w internecie. Urządzenia w tej samej lokalnej sieci mogą się nawzajem odkrywać, używając tego zakresu.

Praktyczne zastosowanie IPv6 w poleceniach sieciowych

Aby interagować z sieciami IPv6, można używać różnych poleceń:

  • Ping adresy lokalne: 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łady poleceń:

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

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

Adresy IPv6 mogą być wyprowadzone z adresu MAC urządzenia do komunikacji lokalnej. Oto uproszczony przewodnik, jak wyprowadzić adres Link-local IPv6 z znanego adresu MAC oraz krótki przegląd typów adresów IPv6 i metod odkrywania adresów IPv6 w sieci.

Dany adres MAC 12:34:56:78:9a:bc, możesz skonstruować adres Link-local IPv6 w następujący sposób:

  1. Przekształć MAC na format IPv6: 1234:5678:9abc
  2. Dodaj fe80:: i wstaw fffe w środku: fe80::1234:56ff:fe78:9abc
  3. Odwróć siódmy bit z lewej, zmieniając 1234 na 1034: fe80::1034:56ff:fe78:9abc

Typy adresów IPv6

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

Prefiksy adresów

  • 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)
  • 2000::/3: Global Unicast
  • ff02::1: Multicast All Nodes
  • ff02::2: Multicast Router Nodes

Odkrywanie adresów IPv6 w sieci

  1. Uzyskaj adres MAC urządzenia w sieci.
  2. Wyprowadź adres Link-local IPv6 z adresu MAC.

Sposób 2: Używając multicast

  1. Wyślij ping do adresu multicast ff02::1, aby odkryć adresy IPv6 w lokalnej sieci.
bash
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 wykonywania ataków MitM w sieciach IPv6, takich jak:

  • Fałszowanie reklamacji sąsiadów lub routerów ICMPv6.
  • Używanie komunikatów ICMPv6 redirect lub "Packet Too Big" do manipulacji trasowaniem.
  • Atakowanie mobilnego IPv6 (zwykle wymaga wyłączenia IPSec).
  • Ustawienie nieautoryzowanego serwera DHCPv6.

Identyfikacja adresów IPv6 w terenie

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, następujące polecenie wyszukiwania można użyć w Google:

bash
site:ipv6./

Wykorzystanie zapytań DNS

Aby zidentyfikować adresy IPv6, można zapytać o określone typy rekordów DNS:

  • AXFR: Żąda pełnego transferu strefy, co może ujawnić szeroki zakres rekordów DNS.
  • AAAA: Bezpośrednio poszukuje adresów IPv6.
  • ANY: Szerokie zapytanie, które zwraca wszystkie dostępne rekordy DNS.

Badanie za pomocą Ping6

Po zidentyfikowaniu adresów IPv6 związanych z organizacją, można użyć narzędzia ping6 do badania. To narzędzie pomaga ocenić responsywność zidentyfikowanych adresów IPv6 i może również pomóc w odkrywaniu sąsiednich urządzeń IPv6.

Odniesienia

tip

Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks