hacktricks/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md
2024-02-10 15:36:32 +00:00

8.1 KiB
Raw Blame History

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

IPv6 Grundlagen

Netzwerke

IPv6-Adressen sind strukturiert, um die Organisation von Netzwerken und die Interaktion von Geräten zu verbessern. Eine IPv6-Adresse ist in folgende Teile unterteilt:

  1. Netzwerkpräfix: Die ersten 48 Bits, die das Netzwerksegment bestimmen.
  2. Subnetz-ID: Die nächsten 16 Bits, die zur Definition spezifischer Subnetze innerhalb des Netzwerks verwendet werden.
  3. Schnittstellenkennung: Die letzten 64 Bits, die ein Gerät innerhalb des Subnetzes eindeutig identifizieren.

Während IPv6 das in IPv4 gefundene 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 enthält auch spezielle Adresstypen:

  • Loopback-Adresse (::1): Entsprechend 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 die Internet-Routing. Geräte im selben lokalen Netzwerk können sich mithilfe dieses Bereichs gegenseitig entdecken.

Praktische Verwendung 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 auf der Linkschicht zu sehen.
  • alive6: Ein alternatives Tool zum Auffinden von Geräten im selben Netzwerk.

Nachfolgend finden Sie 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

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 ein kurzer Überblick über IPv6-Adresstypen und Methoden zur Entdeckung von IPv6-Adressen in einem Netzwerk.

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

  1. Konvertiere die MAC-Adresse in das IPv6-Format: 1234:5678:9abc
  2. Füge fe80:: hinzu und füge fffe in die Mitte ein: fe80::1234:56ff:fe78:9abc
  3. Invertiere das siebte Bit von links, ändere 1234 zu 1034: fe80::1034:56ff:fe78:9abc

IPv6-Adresstypen

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

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 in einem Netzwerk

  1. Erhalten 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 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 gibt mehrere Techniken, um MitM-Angriffe in IPv6-Netzwerken durchzuführen, wie zum Beispiel:

  • Spoofing von ICMPv6-Nachbarn oder Router-Anzeigen.
  • Verwendung von ICMPv6-Weiterleitung oder "Packet Too Big"-Nachrichten zur Manipulation der Routing-Tabelle.
  • Angriffe auf mobile IPv6 (normalerweise erfordert das Deaktivieren von IPSec).
  • Einrichtung eines Rogue-DHCPv6-Servers.

Identifizierung von IPv6-Adressen im Netzwerk

Erkunden von Subdomains

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

site:ipv6./

Verwendung von DNS-Abfragen

Um IPv6-Adressen zu identifizieren, können bestimmte DNS-Eintragstypen 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.

Sondieren mit Ping6

Nachdem IPv6-Adressen einer Organisation ermittelt wurden, kann das Dienstprogramm ping6 zum Sondieren verwendet werden. Dieses Tool hilft bei der Bewertung der Reaktionsfähigkeit der identifizierten IPv6-Adressen und kann auch bei der Entdeckung benachbarter IPv6-Geräte helfen.

Referenzen

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: