Pentesting IPv6

Unterstützen Sie HackTricks

IPv6 Grundtheorie

Netzwerke

IPv6-Adressen sind strukturiert, um die Netzwerkorganisation und die Gerätekommunikation zu verbessern. Eine IPv6-Adresse ist unterteilt in:

  1. Netzwerkpräfix: Die ersten 48 Bits, die das Netzwerksegment bestimmen.

  2. Subnetz-ID: Die folgenden 16 Bits, die zur Definition spezifischer Subnetze innerhalb des Netzwerks verwendet werden.

  3. Schnittstellenkennung: Die abschließenden 64 Bits, die ein Gerät innerhalb des Subnetzes eindeutig identifizieren.

Während IPv6 das in IPv4 gefundene ARP-Protokoll auslässt, führt es ICMPv6 mit zwei primären Nachrichten ein:

  • Nachbarschaftsanfrage (NS): Multicast-Nachrichten zur Adressauflösung.

  • Nachbarankündigung (NA): Unicast-Antworten auf NS oder spontane Ankündigungen.

IPv6 enthält auch spezielle Adresstypen:

  • Loopback-Adresse (::1): Äquivalent zu IPv4's 127.0.0.1, für die interne Kommunikation innerhalb des Hosts.

  • Link-Lokale Adressen (FE80::/10): Für lokale Netzwerkaktivitäten, nicht für die Internet-Routing. Geräte im selben lokalen Netzwerk können sich gegenseitig mit diesem Bereich entdecken.

Praktische Verwendung von IPv6 in Netzwerk-Befehlen

Um mit IPv6-Netzwerken zu interagieren, können Sie verschiedene Befehle verwenden:

  • Ping Link-Lokale Adressen: Überprüfen Sie die Anwesenheit lokaler Geräte mit ping6.

  • Nachbarschaftsfindung: Verwenden Sie ip neigh, um Geräte auf der Link-Ebene entdeckt anzuzeigen.

  • alive6: Ein alternatives Tool zur Entdeckung von Geräten im selben Netzwerk.

Nachfolgend einige Beispiele für Befehle:

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

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

Bei einer MAC-Adresse 12:34:56:78:9a:bc kann die Link-Local IPv6-Adresse wie folgt konstruiert werden:

  1. MAC-Adresse in IPv6-Format umwandeln: 1234:5678:9abc

  2. fe80:: voranstellen und fffe in die Mitte einfügen: fe80::1234:56ff:fe78:9abc

  3. Das siebte Bit von links invertieren, um 1234 in 1034 zu ändern: fe80::1034:56ff:fe78:9abc

IPv6-Adresstypen

  • Unique Local Address (ULA): Für lokale Kommunikation, nicht für die öffentliche Internet-Routing bestimmt. Präfix: FEC00::/7

  • Multicast-Adresse: Für eine-zu-viele Kommunikation. An alle Schnittstellen in der Multicast-Gruppe gesendet. Präfix: FF00::/8

  • Anycast-Adresse: Für eine-zu-nächstgelegene Kommunikation. An die nächstgelegene Schnittstelle gemäß Routingprotokoll gesendet. Teil des globalen Unicast-Bereichs 2000::/3.

Adresspräfixe

  • fe80::/10: Link-Local-Adressen (ähnlich wie 169.254.x.x)

  • fc00::/7: Eindeutige Lokale Unicast-Adressen (ähnlich wie private IPv4-Bereiche wie 10.x.x.x, 172.16.x.x, 192.168.x.x)

  • 2000::/3: Global Unicast

  • ff02::1: Multicast Alle Knoten

  • ff02::2: Multicast Router-Knoten

Entdecken von IPv6-Adressen innerhalb eines Netzwerks

  1. Die MAC-Adresse eines Geräts im Netzwerk erhalten.

  2. Die Link-Local IPv6-Adresse aus der MAC-Adresse ableiten.

Weg 2: Verwendung von Multicast

  1. Senden Sie einen Ping an die Multicast-Adresse ff02::1, um IPv6-Adressen im lokalen Netzwerk zu entdecken.

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

IPv6 Man-in-the-Middle (MitM) Angriffe

Es existieren mehrere Techniken zur Durchführung von MitM-Angriffen in IPv6-Netzwerken, wie zum Beispiel:

  • Spoofing von ICMPv6-Nachbarn oder Router-Anzeigen.

  • Verwendung von ICMPv6-Weiterleitungen oder "Paket zu groß"-Nachrichten zur Manipulation der Routen.

  • Angriffe auf mobiles IPv6 (erfordert normalerweise, dass IPSec deaktiviert ist).

  • Einrichten eines rogue DHCPv6-Servers.

Identifizierung von IPv6-Adressen im Feld

Erkunden von Subdomains

Eine Methode zur Auffindung von Subdomains, die potenziell mit IPv6-Adressen verknüpft sind, besteht darin, Suchmaschinen zu nutzen. So kann beispielsweise die Verwendung eines Abfrage-Musters wie ipv6.* effektiv sein. Speziell kann der folgende Suchbefehl in Google verwendet werden:

site:ipv6./

Nutzung von DNS-Abfragen

Zur Identifizierung von IPv6-Adressen können bestimmte DNS-Rekordtypen abgefragt werden:

  • AXFR: Fordert eine vollständige Zonentransfer an und deckt möglicherweise eine Vielzahl von DNS-Einträgen auf.

  • AAAA: Sucht direkt nach IPv6-Adressen.

  • ANY: Eine umfassende Abfrage, die alle verfügbaren DNS-Einträge zurückgibt.

Sondierung mit Ping6

Nachdem IPv6-Adressen, die mit einer Organisation verbunden sind, ermittelt wurden, kann das Dienstprogramm ping6 zur Sondierung verwendet werden. Dieses Tool hilft bei der Bewertung der Reaktionsfähigkeit identifizierter IPv6-Adressen und kann auch bei der Entdeckung benachbarter IPv6-Geräte helfen.

Referenzen

Last updated