6.2 KiB
{% hint style="success" %}
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)
Wesprzyj HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się trikami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
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:
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:
- 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.
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.