IPv6 Angriffsvektoren Screencasts Konzepte

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

IPv6 Angriffsvektoren - Laborumgebung und Demonstration

Einführung

Dieser Artikel beschreibt spezifische Angriffsvektoren im IPv6-Protokollstack, die oft übersehen werden. Ziel ist es, eine Laborumgebung aufzubauen, in der diese Angriffe praktisch vorgeführt und mittels Screencasts dokumentiert werden können. IPv6 bringt neue Protokolle und Autokonfigurationsmechanismen mit, die ohne entsprechende Härtung neue Angriffsflächen eröffnen.

Laboraufbau

Grundvoraussetzungen

Für das Labor werden mindestens drei virtuelle Maschinen (z.B. in VirtualBox oder VMware) benötigt:

  • Angreifer: Kali Linux (enthält die meisten benötigten Tools)
  • Opfer: Windows 10/11 oder eine Linux-Distribution mit aktiviertem IPv6-Stack
  • Legitimer Router: Eine Linux-VM, die als korrekter IPv6-Router konfiguriert ist (z.B. mit radvd)

Das virtuelle Netzwerk (z.B. "Host-only" oder "NAT Network") muss IPv6 unterstützen. Für kontrollierte Bedingungen kann die manuelle Konfiguration von IPv6-Adressen empfohlen werden.

Wichtige Tool-Sammlung

Das folgende Toolkit ist für die Durchführung der Angriffe essentiell:

thc-ipv6: Das Hauptwerkzeugkasten für IPv6-Pentesting.

 git clone https://github.com/vanhauser-thc/thc-ipv6.git
 cd thc-ipv6
 make
 sudo make install

Wireshark: Unverzichtbar für die Analyse und Visualisierung der Netzwerkpakete in den Screencasts. Filter wie `icmpv6` oder `dhcpv6` sind hierbei nützlich. SIv6 (Scapy for IPv6): Für das Craften individueller IPv6-Pakete, falls tiefere Protokollanalysen nötig sind.

Spezifische Angriffsvektoren und deren Demonstration

Rogue Router Advertisement (RA) - "The Silent Takeover"

Konzept

Clients konfigurieren ihre IPv6-Adressen oft automatisch via SLAAC (Stateless Address Autoconfiguration), indem sie auf Router Advertisements (RAs) lauschen. Ein Angreifer kann sich als Standard-Gateway ausgeben und den gesamten Datenverkehr des Opfers umleiten (Man-in-the-Middle).

Tools

  • fake_router6 (aus thc-ipv6)
  • radvd (für den legitimen Router)
  • wireshark

Screencast-Ablauf

  1. Ausgangssituation: Auf dem Opfer wird ip -6 route ausgeführt. Die bestehende Standardroute zum legitimen Router wird gezeigt.
  2. Angriff starten: Auf der Angreifer-Maschine wird der Befehl fake_router6 eth0 <IPv6-Netzwerk-Präfix> ausgeführt.
  3. Wirkung demonstrieren: Der Befehl ip -6 route wird auf dem Opfer erneut ausgeführt. Pointe: Eine neue Standardroute mit einer besseren (niedrigeren) Metrik zum Angreifer ist vorhanden.
  4. Konsequenz zeigen: Auf dem Angreifer wird Wireshark gestartet. Vom Opfer wird ein Ping zu einem externen IPv6-Host (z.B. ping6 ipv6.google.com) gesendet. Der gesamte Traffic wird nun über den Angreifer geleitet.

Neighbor Discovery Protocol (NDP) Spoofing / Poisoning

Konzept

Analog zu ARP-Spoofing in IPv4. Der Angreifer vergiftet den Neighbor-Cache des Opfers, indem er falsche Neighbor Advertisement (NA) Pakete sendet. Das Opfer lernt dadurch eine falsche MAC-Adresse für eine bestimmte IPv6-Adresse (z.B. sein Default-Gateway).

Tools

  • parasite6 (aus thc-ipv6)

Screencast-Ablauf

  1. Ausgangssituation: Auf dem Opfer wird ip -6 neighbor show ausgeführt. Der korrekte Eintrag für das Standard-Gateway wird angezeigt.
  2. Angriff starten: Auf der Angreifer-Maschine: parasite6 eth0
  3. Vergiftung demonstrieren: ip -6 neighbor show wird auf dem Opfer erneut ausgeführt. Pointe: Der Eintrag für die IPv6-Adresse des Routers zeigt nun die MAC-Adresse der Angreifer-Maschine.
  4. Konsequenz zeigen: Der Angreifer ist nun ein Man-in-the-Middle und kann den Traffic mitlesen oder modifizieren.

DHCPv6 Spoofing - "The Rogue DHCPv6 Server"

Konzept

Fordert ein Client seine Konfiguration per DHCPv6 an, kann ein bösartiger Server eine gefälschte Konfiguration verteilen. Kritisch ist insbesondere die Zuweisung eines manipulierten DNS-Servers (DNS Redirection).

Tools

  • fake_dhcp6 (aus thc-ipv6)
  • dnsmasq (für den bösartigen DNS-Server)

Screencast-Ablauf

  1. Ausgangssituation: Auf dem Opfer wird die Datei /etc/resolv.conf angezeigt, um die legitimen DNS-Server zu dokumentieren.
  2. Angriff vorbereiten: Auf dem Angreifer wird dnsmasq so konfiguriert, dass alle Anfragen auf einen selbst gehosteten Server umgeleitet werden.
  3. Angriff starten: fake_dhcp6 -d <IP-des-Angreifer-DNS> eth0 <IPv6-Netzwerk-Präfix>
  4. Erfolg demonstrieren: Die /etc/resolv.conf des Opfers wird erneut geprüft. Pointe: Als DNS-Server ist nun die IP des Angreifers eingetragen.
  5. Konsequenz zeigen: Das Opfer ruft eine Webseite (z.B. www.meine-bank.de) auf. Der Browser lädt eine gefälschte Seite vom Angreifer.

IPv6 Local-Link Multicast Attacks (Reconnaissance & DoS)

Konzept

Multicast-Nachrichten im Link-Local-Bereich können für Angriffe genutzt werden. alive6 nutzt diese, um alle aktiven IPv6-Hosts im Netzwerk zu finden. flood_router6 kann das Netzwerk mit RAs überschwemmen und so einen Denial-of-Service (DoS) verursachen.

Tools

  • alive6, flood_router6, fake_mld26, fake_mld66 (aus thc-ipv6)

Screencast-Ablauf

  1. Ausgangssituation (Recon): Das Netzwerk scheint "leer" zu sein.
  2. Angriff starten (Recon): alive6 eth0. Pointe: Es werden alle IPv6-fähigen Hosts im Netzwerksegment angezeigt.
  3. Ausgangssituation (DoS): Das Opfer hat eine stabile IPv6-Verbindung.
  4. Angriff starten (DoS): flood_router6 eth0. Das Netzwerk wird mit Router Advertisements geflutet.
  5. Wirkung zeigen: Das Opfer verliert die Netzwerkkonnektivität oder diese wird stark beeinträchtigt. Wireshark zeigt die Paketflut.

Ausnutzung von Tunneling-Mechanismen (IPv6 über IPv4)

Konzept

Da IPv6-Traffic oft weniger stark überwacht wird als IPv4, können Tunneling-Protokolle wie 6in4 (Protocol 41) genutzt werden, um eine verborgene Kommunikationsstraße (Covert Channel) aus einem gesicherten Netzwerk aufzubauen.

Tools

  • socat

Screencast-Ablauf

  1. Szenario aufbauen: Das Lab-Netzwerk simuliert ein Corporate-Netzwerk mit einer restriktiven IPv4-Firewall, die IPv6-Tunneling jedoch erlaubt.
  2. Tunnel aufbauen: Es wird gezeigt, wie mit socat auf dem internen Opfer und einem externen Server (z.B. einer VPS) ein 6in4-Tunnel eingerichtet wird.
  3. Umgehung demonstrieren: Es wird gezeigt, wie über den established IPv6-Tunnel von innen nach außen kommuniziert werden kann. Pointe: Die IPv4-Firewall-Regeln werden effektiv umgangen.

Abwehrmaßnahmen

Um die gezeigten Angriffe zu mitigieren, können folgende Maßnahmen ergriffen werden:

  • RA-Guard (Router Advertisement Guard): Konfiguration auf Switches, um RAs von nicht-autorisierten Ports zu blockieren.
  • DHCPv6-Shield: Ähnlich zu RA-Guard, aber für DHCPv6-Messages.
  • SEcure Neighbor Discovery (SEND): Nutzung von kryptografischen Methoden zur Absicherung des Neighbor Discovery Protocol. (In der Praxis wenig verbreitet).
  • Network Monitoring: Überwachung des IPv6-Traffics auf Anomalien und unerwünschte Multicast-/Broadcast-Nachrichten.
  • Explizite Konfiguration: Deaktivierung der IPv6-Autokonfiguration und statische, kontrollierte Zuweisung von Adressen und Routen in kritischen Umgebungen.
  • Host-Based Firewalls: Konfiguration von Firewalls auf den Endgeräten, die auch IPv6-Traffic regeln.
  • Tunneling restriktieren: Firewall-Regeln, die unerwünschte Tunneling-Protokolle (wie Proto 41) blockieren.