Fotolia

IPv6-Sicherheit mit dem kostenlosen SI6 IPv6 Toolkit checken

SI6 Networks bietet ein kostenloses Tool für die Bewertung der IPv6-Netzwerksicherheit zum Download an. Wir erklären im Detail, wie Sie das SI6 IPv6 Toolkit einsetzen.

Eine Schlüssel-Komponente für die Verbesserung der Sicherheit und der Widerstandsfähigkeit einer IPv6-Implementierung ist die Verfügbarkeit von Security-Bewertungs- und Problembehebungs-Tools. Sind diese nicht vorhanden, kann ein Betreiber oder ein Netzwerk-Administrator eines IPv6-Netzwerks die Implementierungen weder ausreichend bewerten noch stressen. Somit kann man das Netzwerk nicht so einschätzen, wie Angreifer dazu in der Lage wären.

Im weiteren Verlauf dieses Beitrags finden Sie eine Einführung zum SI6 Networks IPv6 Toolkit. Es handelt sich hier um ein freies, Open-Source-Security-Bewertungs- und Problembehebungs-Toolkit, das es für die meisten großen Open-Source-Betriebssysteme gibt. Die Tools in diesem Toolkit werden mithilfe realen Beispielen vorgestellt. Das soll Ihnen helfen, die Techniken zu verstehen, die Anbieter und Penetrations-Tester zu Rate ziehen. Weiterhin können Sie so die Security und die Widerstandsfähigkeit Ihrer eigenen IPv6-Implementierungen und -Netzwerke unter die Lupe nehmen.

Die Erschaffung des IPv6 Toolkits

Viele Jahre lang war THCs IPv6 Attack Suite (THC-IPv6) das einzig frei verfügbare IPv6-Toolkit, womit man IPv6-Implementierungen und Netzwerke auf Herz und Nieren testen konnte. THC-IPv6 hat spezifische Angriffsvektoren betont, die ein Ausnutzen recht geradlinig machten. Ein Anwender hat lediglich diverse Schlüsseloptionen gebraucht, wie zum Beispiel die IPv6-Adresse des Ziels. Die Tools haben im Anschluss die restlichen Parameter automatisch gesetzt. Dieser Umstand hat allerdings auch die Flexibilität vieler Funktionen von THC-IPv6 eingeschränkt.

Als das IPv6 Toolkit von SI6 Networks im Jahre 2011 erschien, wurde damit eine Lücke bei den IPv6-Sicherheitsbewertungs- und Problemlösungs-Tools geschlossen. Man kann damit IPv6-Implementierungen auch auf Probleme untersuchen, die von den Erschaffern oder dem Wartungs-Team des Toolkits gar nicht auf dem Radar waren.

Die Philosophie hinter dem IPv6 Toolkit von SI6 Networks.
Abbildung 1: Die Philosophie hinter dem IPv6 Toolkit von SI6 Networks.

Das SI6 IPv6 Toolkit wurde als Teil von Security-Anstrengungen erschaffen, um damit zwei Parteien zu unterstützen. IPv6-Anbieter können damit die Security und die Widerstandsfähigkeit ihrer Produkte testen. Netzwerk- und Security-Techniker können ihre IPv6-Installationen auf Herz und Nieren prüfen.

Für die Entwicklung des Toolkits wurden explizit vier Ziele ausgegeben. Zunächst einmal musste es flexibel genug sein, um so viele Angriffs-Vektoren wie möglich ausnutzen zu können. Damit sind auch solche gemeint, die den Entwicklern nicht in den Sinn kamen. Weiterhin musste das Toolkit als freie Software ausgegeben werden, damit eine große Community davon profitiert. Zum Dritten stand eine klare und übersichtliche Dokumentation auf der Agenda. Viertens sollte das Toolkit so viele Plattformen wie möglich unterstützen. Letzteres wurde nicht nur mit dem Gedanken an eine noch größere Community so gehandhabt. Die Entwickler waren der Meinung, dass damit die gesamte Qualität des Codes besser und die Portabilität gesteigert wird.

Das Toolkit unterstützt derzeit die meisten BSD-basierten Betriebssysteme, die meisten GNU/Linux-Betriebssysteme, Mac OS X und OpenSolaris. Man findet es in den Paket-Managern der meisten oben genannten Betriebssysteme. Sie können die Software wie jedes andere unterstützte Paket installieren. Unter Ubuntu würde das zum Beispiel so aussehen:

sudo apt-get install ipv6toolkit

Finden Sie in dem von Ihnen eingesetztem Betriebssystem keine solche Anwendung oder das angebotene Paket ist nicht die neuste Version, können Sie eine manuelle Installation durchführen. Der Quell-Code des Toolkits ist online verfügbar. Die offizielle Ausgabe ist immer ein mit PGP-signierter Tarball.

Inhalte des IPv6 Toolkits

Alle sich im SI6 IPv6 Toolkit befindlichen Tools sind mit einer umfassenden Dokumentation ausgestattet. Sie können diese aufrufen, indem Sie die entsprechende Man-Page für das jeweilige Tool aufrufen. Ein Beispiel wäre man scan6 und ipv6toolkt(7) stellt eine Übersicht der verfügbaren Tools zur Verfügung. Eine knappe Dokumentation für jedes Tool finden sie auch mithilfe der jeweiligen Option --help für das entsprechende Tool. Zum Beispiel können Sie so eine kurze Hilfe bekommen: scan6 --help.

Die meisten der im Toolkit enthaltenen Tools fokussieren sich auf die unterschiedlichen Protokoll-Nachrichten, die die IPv6-Protokoll-Suite umfasst. Zum Beispiel erlauben es die fünf unterschiedlichen Tools ns6, na6, rs6, ra6 und rd6 den Anwendern, beliebige Nachrichten für die IPv6 Neighbor Discovery zu schicken. Es geht hier unter anderem um Nachforschungen in der näheren Umgebung und auch so genannte Redirects (Umleitungen).

Was befindet sich innerhalb des IPv6 Toolkits.
Abbildung 2: Was befindet sich innerhalb des IPv6 Toolkits.

Andere Tools konzentrieren sich auf spezielle IPv6-Mechanismen, die Gegenstand einer speziellen Bewertung sein können. Zum Beispiel ist frag6 ausschließlich dafür gemacht, die IPv6-Fragmentierung und die Funktionen für den Wiederzusammenbau zu testen. Man kann damit ein Ziel mit IPv6-Adressen fluten und auch die Wiederzusammenbau-Richtlinie für die Fragmente eines bestimmten Nodes ausprobieren.

Andere Tools sind wiederum dafür gemacht, komplexeren Applikationen zu ähneln. Zum Beispiel ist scan6 der umfassendste IPv6-Adress-Scanner, den es derzeit gibt. Das Tool blackhole6 hilft wiederum bei der Problemsuche im Zusammenhang mit verworfenen Paketen und der Verwendung von IPv6 Extension Headers.

Spezielle Tools nutzen

SLAAC-Angriffe (Stateless Address Autoconfiguration) sind seit Jahren bekannt. Einer der am häufigsten benutzen geht so von statten, dass ein Angreifer einen lokalen Router imitiert und eine Router Lifetime von 0 oder einen anderen kleinen Wert ankündigt. Das Ergebnis dieser Aktion ist im Endeffekt, dass alle lokalen Hosts den imitierten Router verwerfen, was wiederum zu einer DoS-Situation (Denial of Service) führt. Um den DoS-Angriff aufrecht zu erhalten, schickt der Angreifer in regelmäßigen Abständen entsprechende Pakete, so dass zum Beispiel neue, legitime Router-Ankündigungen (RAs) verworfen werden. Im Abbildung 3 sehen Sie, dass wir das Tool ra6 angewiesen haben, die bösartige RA-Nachricht jede Sekunde zu schicken.

Abbildung 3:
Abbildung 3: Hier wird das Tool ra6 benutzt, um in regelmäßigen Abständen Angriffs-Pakete zu schicken.

Das Tool Traceroute wird häufig eingesetzt, um das Netzwerk zu erkunden und Problemen auf den Grund zu gehen. Allerdings fehlt es allen Open-Source-Implementierungen an der Unterstützung für IPv6 Extension Headers. Das Tool path6 aus dem SI6 IPv6 Toolkit füllt diese Lücke. Es bringt Traceroute-ähnliche Funktionalität für IPv6 mit sich, plus komplette Unterstützung für IPv6 Extension Headers und beliebige Sondierungs-Pakete.

Abbildung 4 illustriert, wie man die Route zur Website SI6 Networks mithilfe von ICMPv6 Echo Requests (die Standard-Nachrichten für eine solche Untersuchung) überprüft, die einen Ziel-Options-Header von 72 Bytes an Bord haben.

Das Tool path6 bietet traceroute-ähnliche Funktionalität.
Abbildung 4: Das Tool path6 bietet traceroute-ähnliche Funktionalität.

Als Teil einer Security-Bewertung oder einer Problemfindungs-Operation ist es möglicherweise notwendig zu isolieren, an welcher Stelle Netzwerkpakete mit IPv6 Extension Headers verworfen werden. Das Tool blackhole6 ist genau dafür gemacht. Es zieht Rückschlüsse, wo im Netzwerk Pakete mit IPv6 Extension Headers verworfen werden. Weiterhin liefert es nützliche Informationen wie zum Beispiel die IPv6-Adresse und die Autonomous System Number des verwerfenden Knotens.

Das Tool blackhole6 isoliert Netzwerk-Pakete, bei denen die IPv6 Extension Headers verworfen werden.
Abbildung 5: Das Tool blackhole6 isoliert Netzwerk-Pakete, bei denen die IPv6 Extension Headers verworfen werden.

Transportprotokolle besitzen ihren eigenen Satz an dedizierten Werkzeugen. Zum Beispiel ist das Tool tcp6 rein für TCP-basierte Angriffe und Messungen gedacht. Man kann tcp6 einsetzen, um die Widerstandsfähigkeit eines Webservers in Bezug auf IPv6-basierte TCP-Syn-Flood-Angriffe zu testen. In Abbildung 6 sehen Sie, wie man tcp6 einsetzen kann, um einen solchen Angriff via Port 80 auf dem Server 2001:db8::1 zu fahren. Dabei werden die IPv6-Quell-Adressen mit Präfix fc00:1::/64 gefälscht.

Das Tool tcp6 kann helfen, die Widerstandsfähigkeit gegen TCP-basierte Angriffe zu testen.
Abbildung 6: Das Tool tcp6 kann helfen, die Widerstandsfähigkeit gegen TCP-basierte Angriffe zu testen.

Führt man einen Penetrationstest bei einer Seite durch, ist es für einen Penetrationstester nicht unüblich, eine Liste mit Domain-Namen abzuarbeiten, die zur Zielseite gehören. Das Tool script6 aus dem Si6 IPv6 Toolkit kann sehr einfach eine in einer Datei gespeicherten Liste mit DNS-Einträgen zu Rate ziehen. Abbildung 7 zeigt zum Beispiel die Inhalte der Datei sites.txt und wie man mithilfe des Toolkits die IPv6-Adressen der dazugehörigen Web- und Mail-Server beziehen kann. Die Ausgabe beinhaltet Kommentare, die ganz klar den Domänennamen zeigen, der zur jeweiligen IPv6-Adresse gehört.

Mit script6 kann man die Domain-Namen beziehen, die zu einer Zielseite gehören.
Abbildung 7: Mit script6 kann man die Domain-Namen beziehen, die zu einer Zielseite gehören.

Hat ein System-Administrator weniger Erfahrung mit dem IPv6-Betrieb, könnte er Probleme damit haben, die Art der gefragten Adresse zu identifizieren. Zum Beispiel ist es möglicherweise diffizil, den Unterschied zwischen globalen Adressen und Unique Local Unicast zu erkennen. Das gilt auch für herkömmliche SLAAC- sowie zufällige Adressen und so weiter. Das Si6 IPv6 Toolkit enthält ein spezielles Tool, das sich addr6 nennt. Damit kann man diese Herausforderung meistern. Ist eine IPv6-Adresse mithilfe der Option -a spezifiziert, dekodiert addr6 die Adresse und zeigt das Resultat mit der folgenden Syntax:

AddressType=AddressSubtype=Scope=IIDType=IIDSubtype

Ein anderes Problem von IPv6-Adressen ist, dass man die gleiche Adresse unterschiedlich schreiben kann. Zum Beispiel sind 2001:db8::1, 2001:db8:0::1 und 2001:db8::0001 sowie 2001:db8::1 alle gleichwertig. Letzteres ist die kanonische (das heißt autoritativere) Darstellung der Adresse. Für erfahrene Administratoren ist das sicherlich kein Problem. Schwierigkeiten könnte der Umstand bereiten, wenn Adressen von Skripten oder anderen Tools verglichen werden, die IPv6-Adressen als einfache Text-Zeichenketten verarbeiten. Im Zweifelsfall gibt die Option --print-canonical bei addr6 die kanonische Darstellung der über die Option -a angegebenen Adresse aus.

addr6 hilft bei der Identifizierung der Adresstypen.
Abbildung 8: addr6 hilft bei der Identifizierung der Adresstypen.

Eines der interessantesten Tools im SI6 IPv6 Toolkit ist scan6. Es handelt sich dabei um eines der umfassendsten IPv6-Adress-Scanning-Tools. Dieses Werkzeug beinhaltet diverse Heuristiken, um den Suchraum zu reduzieren. Die speziellste Funktion von scan6 ist, dass es die Suchmuster einer Seite automatisch bewerten und nur auf diese Adressmuster im resultierenden Adress-Scan abzielen kann. Wie Sie im Beispiel in Abbildung 9 sehen, scannt es die Seite scanme.nmap.org. Das Tool scan6 zieht Rückschlüsse, dass 2600:3c01::f03c:91ff:fe93:cd19 eine zufällige Adresse ist und zielt per Standard auf Low-Byte-Adressen ab. Diese Adressen setzt man in der Regel auf Serverseiten ein. Somit ist der Suchraum reduziert.

Ein Screenshot von scan6, das scanme.nmap.org scannt.
Abbildung 9: Ein Screenshot von scan6, das scanme.nmap.org scannt.

Fazit

Die meisten der im IPv6 Toolkit von SI6 Networks enthaltenen Tools benötigen ohne Zweifel tieferes Fachwissen zu den eingesetzten Protokollen. Möglicherweise ist das für IPv6-Neulinge eine echte Herausforderung. Andere Tools wie zum Beispiel scan6 ähneln allerdings häufiger eingesetzten Applikationen und sind unter Umständen auch für weniger erfahrene Anwender von Vorteil.

Das Toolkit bietet eine umfassende Dokumentation und auch die relevanten Man-Pages liefern konkrete Beispiele, wie man die Tools einsetzen kann. Insofern ist es einfach nur eine Frage der Zeit, die man investieren möchte, um das SI6 IPv6 Toolkit zu meistern.

Folgen Sie SearchNetworking.de auch auf Twitter, Google+ und Facebook!

Nächste Schritte

IPv4 und IPv6: Probleme bei Sicherheitsrichtlinien

So schützen Sie Ihr IPv6-Address-Management

Gratis-eBook: Ratgeber Penetrationstests

Erfahren Sie mehr über Netzwerksicherheit