tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

IPv6 Grundtheorie

Netzwerke

IPv6-Adressen sind so strukturiert, dass sie die Netzwerkorganisation und die Interaktion von Geräten 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. Schnittstellenbezeichner: Die letzten 64 Bits, die ein Gerät innerhalb des Subnetzes eindeutig identifizieren.

Während IPv6 das in IPv4 vorhandene ARP-Protokoll weglässt, führt es ICMPv6 mit zwei Hauptnachrichten ein:

  • Neighbor Solicitation (NS): Multicast-Nachrichten zur Adressauflösung.
  • Neighbor Advertisement (NA): Unicast-Antworten auf NS oder spontane Ankündigungen.

IPv6 umfasst auch spezielle Adresstypen:

  • Loopback-Adresse (::1): Entspricht IPv4's 127.0.0.1, für die interne Kommunikation innerhalb des Hosts.
  • Link-Local-Adressen (FE80::/10): Für lokale Netzwerkaktivitäten, nicht für das Internet-Routing. Geräte im selben lokalen Netzwerk können sich mit diesem Bereich gegenseitig entdecken.

Praktische Nutzung von IPv6 in Netzwerkbefehlen

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

  • Ping Link-Local-Adressen: Überprüfen Sie die Anwesenheit lokaler Geräte mit ping6.
  • Neighbor Discovery: Verwenden Sie ip neigh, um Geräte zu sehen, die auf der Linkschicht entdeckt wurden.
  • alive6: Ein alternatives Tool zur Entdeckung von Geräten im selben Netzwerk.

Im Folgenden einige Beispielbefehle:

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

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

IPv6-Adressen können aus der MAC-Adresse eines Geräts für die lokale Kommunikation abgeleitet werden. Hier ist eine vereinfachte Anleitung, wie man die Link-Local IPv6-Adresse aus einer bekannten MAC-Adresse ableitet, sowie eine kurze Übersicht über IPv6-Adresstypen und Methoden zur Entdeckung von IPv6-Adressen innerhalb eines Netzwerks.

Gegeben ist eine MAC-Adresse 12:34:56:78:9a:bc, die Link-Local IPv6-Adresse kann wie folgt konstruiert werden:

  1. MAC 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 umkehren, wodurch 1234 zu 1034 wird: fe80::1034:56ff:fe78:9abc

IPv6-Adresstypen

  • Unique Local Address (ULA): Für lokale Kommunikation, nicht für das Routing im öffentlichen Internet gedacht. Präfix: FEC00::/7
  • Multicast-Adresse: Für Eins-zu-viele-Kommunikation. An alle Schnittstellen in der Multicast-Gruppe geliefert. Präfix: FF00::/8
  • Anycast-Adresse: Für Eins-zu-nächster Kommunikation. An die nächstgelegene Schnittstelle gemäß Routing-Protokoll gesendet. Teil des 2000::/3 globalen Unicast-Bereichs.

Adresspräfixe

  • fe80::/10: Link-Local-Adressen (ähnlich wie 169.254.x.x)
  • fc00::/7: Unique Local-Unicast (ä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

Entdeckung von IPv6-Adressen innerhalb eines Netzwerks

  1. Ermitteln Sie die MAC-Adresse eines Geräts im Netzwerk.
  2. Leiten Sie die Link-Local IPv6-Adresse aus der MAC-Adresse ab.

Methode 2: Verwendung von Multicast

  1. Senden Sie ein Ping an die Multicast-Adresse ff02::1, um IPv6-Adressen im lokalen Netzwerk zu entdecken.
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

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

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

  • Spoofing von ICMPv6-Nachbar- oder Router-Anzeigen.
  • Verwendung von ICMPv6-Redirect- oder "Packet Too Big"-Nachrichten zur Manipulation des Routings.
  • Angriff auf mobiles IPv6 (erfordert normalerweise, dass IPSec deaktiviert ist).
  • Einrichten eines bösartigen DHCPv6-Servers.

Identifizierung von IPv6-Adressen im Feld

Erforschen von Subdomains

Eine Methode, um Subdomains zu finden, die potenziell mit IPv6-Adressen verknüpft sind, besteht darin, Suchmaschinen zu nutzen. Zum Beispiel kann ein Abfragemuster wie ipv6.* effektiv sein. Insbesondere kann der folgende Suchbefehl in Google verwendet werden:

bash
site:ipv6./

Nutzung von DNS-Abfragen

Um IPv6-Adressen zu identifizieren, können bestimmte DNS-Record-Typen abgefragt werden:

  • AXFR: Fordert einen vollständigen Zonenübertrag an, der möglicherweise eine Vielzahl von DNS-Records aufdeckt.
  • AAAA: Sucht direkt nach IPv6-Adressen.
  • ANY: Eine breite Abfrage, die alle verfügbaren DNS-Records zurückgibt.

Probing mit Ping6

Nachdem IPv6-Adressen, die mit einer Organisation verbunden sind, identifiziert wurden, kann das ping6-Dienstprogramm zum Probing verwendet werden. Dieses Tool hilft bei der Bewertung der Reaktionsfähigkeit der identifizierten IPv6-Adressen und kann auch dabei helfen, benachbarte IPv6-Geräte zu entdecken.

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks