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
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
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:
- Netzwerkpräfix: Die ersten 48 Bits, die das Netzwerksegment bestimmen.
- Subnetz-ID: Die folgenden 16 Bits, die zur Definition spezifischer Subnetze innerhalb des Netzwerks verwendet werden.
- 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's127.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:
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.
Ableitung der Link-Local IPv6 von der MAC-Adresse
Gegeben ist eine MAC-Adresse 12:34:56:78:9a:bc
, die Link-Local IPv6-Adresse kann wie folgt konstruiert werden:
- MAC in IPv6-Format umwandeln:
1234:5678:9abc
fe80::
voranstellen undfffe
in die Mitte einfügen:fe80::1234:56ff:fe78:9abc
- Das siebte Bit von links umkehren, wodurch
1234
zu1034
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
Methode 1: Verwendung von Link-Local-Adressen
- Ermitteln Sie die MAC-Adresse eines Geräts im Netzwerk.
- Leiten Sie die Link-Local IPv6-Adresse aus der MAC-Adresse ab.
Methode 2: Verwendung von Multicast
- Senden Sie ein 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 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:
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
- http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html
- https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904
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
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.