WLAN mit WEP
Freitag, den 09. Februar 2007 um 18:39 Uhr
WLAN: Segen oder Fluch der Menschheit?

Mit diesem Thema will ich mich hier NICHT befassen. Sondern damit wie man WLANs mit WEP knackt. Ja, ich weiß jetzt sind wieder alle entrüstet, enttäuscht, verärgert, belustigt....
Aber die Sache hat außerdem - ich meine - ausschließlich Informationscharakter. Man sollte erkennen, wie leicht es ist WEP zu knacken.


!! VERALTET
VERALTET VERALTET VERALTET VERALTET !!
Wichtig: Diese Information stammt noch von meiner alten Homepage und aus dem Jahr 2005 oder sowas.
Ich habe mich damals sehr viel mit WLANs beschäftigt, weshalb die Informationen hier ausgereift sind. Allerdings habe ich seitdem NICHTS mehr gemacht. Ich bin absolut nicht mehr auf dem Laufenden. Die Links sind in diesem Dokument keinesfalls aktuell.


wlanWarum ihr den WEP Key eines WLANs bekommen wollt, ist mir egal.
Wollt ihr euer eigenes testen? Okay
Wollt ihr ein fremdes "testen"? Mkay
Ich halte mich da raus, und bin für keine Schäden verantwortlich.


Diese Zusammenfassung ist recht kompakt und technisch eher oberflächlich. Deshalb dürfte es auch kein Problem sein, erst alles zu lesen, bevor man anfängt rumzupfuschen.
Wer etwas gegen Ausdrücke wie: "Ich monitore Pakete.." oder "Ich benutze die gecaptureten Pakete...." hat, der sollte nicht weiterlesen.

Diese Anleitung ist inzwischen teilweise nicht mehr aktuell. Unter http://freshmeat.net/projects/aircrack/ sollte man sich aircrack herunterladen und die Readme lesen!



"Da braucht man Linux, weil es für Windows keine Treiber gibt"

Ich habs zuerst mir Linux (genauer: Auditor) versucht, weil auch ich dachte, Monitoren würde nur damit funktionieren. Dabei hat mir hat Auditor gefallen, weil es von CD-startbar ist und nichts installiert werden muss. Mehr über Auditor auf der Remote-Exploit Page.

Letztendlich benötigt man Linux für die ARP-packet-injection. Deshalb wird sich der ungeübte LinuxN00B zumindest etwas in die Linux-Konsole einarbeiten müssen.

Hardwarevoraussetzung

Was wollen wir tun? Wir wollen Pakete auffangen, aber ohne bei dem Accesspoint (AP) eingeloggt zu sein, da wir ja sonst den WEP Key wissen müssten. Dazu muss die WLAN Karte den "Monitor-Mode" unterstützen. Das heißt, sie kann in diesem Modus alle Pakete, die sie auffängt weitergeben.
Diesen Modus unterstützen schon nicht alle Karten.
Dazu kommt, dass für nicht alle Karten, die dies unterstützen Windows Treiber vorhanden sind.

zum Beispiel:
Intel Centrino wireless 2100: Kann Monitor Mode, allerdings nur unter Linux.
Intel Centrino wireless 2200: Kein Monitor Mode.

Für Windows eignen sich Karten mit Orinoco/Hermes/Realtek/Aironet/Atheros Chipsatz, da für diese Treiber zum Monitoren existieren. (Windows meckert bei der Treiber-installation, aber das muss man wie immer ignorieren.)

Lade dir für genaue Hardwareinfos unbedingt aircrack von http://freshmeat.net/projects/aircrack/ herunter, und lese die Readme durch. Dort sind auch die Links zu den Treibern, welche die jeweilige Karte benötigt.

Wichtig: Ohne den richtigen Treiber geht es definitiv nicht.

Zur packet-injection eignen sich ausschließlich Prism2-Karten (Karten mit einem Prism2 Chipsatz). Unter Windows können das bisher nur kostenpflichtige, teure Programme.

Ich benutze eine Orinoco Gold mit Atheros Chipsatz (PCMCIA) zum Capturen, mit der ich im folgenden auch fortfahren werde.


Unter Windows

Zuerst gabs "airsnort" unter Windows. Ist angeblich out, und hat bei mir noch nie funktioniert.

Jetzt gibts aircrack. Download und Infos darüber auf http://freshmeat.net/projects/aircrack/
Aircrack benötigt (wie in der drivers.txt steht) die peek.dll und die peek5.sys. Dafür lädt man sich bei http://www.wildpackets.com eine Demoversion von Airopeek herunter, installiert diese und kopiert die zwei Dateien in den win32 Ordner von aircrack. (Oder man sucht sich diese 2 Dateien sonstwo.)

UPDATE: In aircrack 2.4 gibt es eine Readme, die fast keine Fragen offen läßt. Außerdem gibts dort auch die Links zu den passenden Windows Treibern, falls sie existieren.


Bedienung von airodump

Man speichert die Pakete mit airodump, um sie danach mit aircrack zu entschlüsseln.
Die Bedienung von airodump erklärt sich von selbst. Wenn man den Channel des Netzes schon kennt, sollte man diesen im Programm auch eintragen, da sonst sinnlos alle Channels durchgescannt werden.

Achtung! Wichtig!: Ich habe zuerst 'o' für Orinoco genommen. Dabei kam das heraus:
Image


Komisch, ich habe doch nur einen AP, und dessen MAC=BSSID steht hier nicht :-(

Dann fiel mir auf, dass ich einen Atheros Chipsatz habe:
Image


Mein AP, und dessen MAC=BSSID :-)

Das sieht doch schon besser aus. Allerdings habe ich nur WEP, und kein WPA.
Den Grund für diese Falschanzeige weiß ich zur Zeit noch nicht. (Mein AP ist der Linksys WRT54GS)

IVs

Das ist die wichtigste Zahl. IV bedeutet Initialisierungs-Vektor, und an diesen kann man Stück für Stück den WEP Key auslesen.
Bei 200.000 IVs war mein 64 Bit Key innerhalb von 6 Sekunden gecrackt,
mein 128 Bit Key in 60 Sekunden. (fudge factor: 2)(Kein Richtwert. War wohl eher zufall bei so wenigen Paketen.)

Wenn in dem Netzwerk allerdings kein Traffic produziert wird, scheitert das Sammeln von IVs.

Zum Testen habe ich mir deshalb die neuste Auditorversion Downgeloadet, was genug Traffic macht.

Image
Think about "good icetea" ;-)


aircrack

Man kann airodump einfach laufen lassen, und parallel aircrack benutzen.
Außerdem kann man die Pausetaste benutzen, um das Programm anzuhalten, wenn man gerade Prozessorleistung braucht.
Hier eine kurze Erklärung zu den einzelnen Punkten:

Punkt 4: Sehr wichtiger Punkt. Siehe "fudge factor"

Punkt 3: Wenn man von mehreren APs Pakete hat, so muss man in aircrack die MAC-Adresse des gewünschten APs eingeben. Wenn nur eine MAC in der .cap file steht bzw man nur von einem AP gecaptured hat, kann man das auch lassen.

Punkt 2: Meiner Erfahrung nach sollte man den 64 Bit Key ablesen können, auch wenn man 128 Bit eingestellt hat. Ansonsten unten anfangen (bei 64 Bit), und sich hocharbeiten, wobei das je nach Anzahl der IVs lange dauern kann.
Image

Punkt 1: Hier einfach den kompletten Dateinamen der .cap Datei angeben.

Punkt 0: Startet den Vorgang. Wenn hier immernoch "0 IVs" stehen, hat man vermutlich keine IVs aufgefangen, oder ein WPA Netz.

Packet-Injection mit einer Prism2 Karte

Nachdem sich mein Freund eine Prism2 Karte aus USA hat einfliegen lassen (74$ Karte + 14$ Versand + 25$ Zoll) konnten wir endlich Versuche mit einer Prism2 Karte machen.

Ab hier kommt man um Linux bzw. Auditor nicht drumherum.
Die zur Zeit letzte Beta von Auditor beinhaltet aircrack 2.1 mit aireplay usw. MaW (Mit anderen Worten) man hat alles, was man braucht.


Zunächst: Was ist ein ARP-request?
Über ARP-requests wird die IP-Adresse (die bekanntlich nicht statisch ist) eines Rechners im Netzwerk in seine (normalerweise) statische MAC Adresse aufgelöst, da die Kommunikation und die Identifizierung der Rechner in Wirklichkeit über die MAC-Adresse erfolgt und nicht über die IP Adresse.
Der Witz ist, dass ARP-requests selbst bei einem MAC-Adressenfilter nicht geblockt werden dürfen, da über sie die MAC des anderen schließlich erst herausgefunden werden muss. Kapiert?

Der Vorgang, so wie wir ihn getestet haben, allgemein:

0. Ich starte Auditor von CD.
Falls Auditor bei Notebooks beim Start hängen bleibt evtl. Parameter "acpi=off" benutzen, oder Failsafe versuchen.
Wireless Karte(n) vorkonfigurieren: Fragt mich nicht warum, machts einfach.
Go>Configuration>Configure your wireless interface
Bei allem irgendwelche Daten eingeben. Völlig egal.


1. Ich capture einige Pakete. (Sinn: ARP-requests finden und MAC Adressen finden)
Eine monitorfähige Wlan Karte in Monitor mode versetzen und mit airodump capturen

2. Ich sende dem Accesspoint die gefundenen ARP-requests (Sinn: Ich bekomme viele verschlüsselte Pakete, da der ARP-request zu einem Client-Rechner dringt, dieser das ARP-beantwortet und per WLAN mir in die Hände fällt.)
(Dies können nicht alle Karten. Mehr dazu in der aircrack Readme.)
Mit aireplay werden unsere eben gecaptureten ARP-requests an den AP gesendet.
Wurden keine ARPs gefunden, zurück zu Schritt 1. (Beim Testen reicht es, wenn ein Rechner gerade Windows startet. Da wird garantiert irgendwas 'rumgeARPt')

3. Ich capture Pakete, vorallem IVs (Sinn: WEP-Key knacken)
Bisher geht ARPs senden und Monitoren noch nicht gleichzeitig mit aircrack (kommt aber in Version 2.2). Das ist auch der Grund, warum ich mir nicht die Arbeit mache bei http://www.cr0.net:8040/code/network/ die Linuxanleitung abzuschreiben, sondern nur den Vorgang umschreibe.

4. aircrack auspacken, und cracken (Sinn: Mann, ich will den WEP-Key haben!!!!)

5. MAC-Adressen-Filter (kurz: MAC-Filter)
Nachdem man das obige alles mal gemacht hat, und es einmal geklappt hat, ist der MAC-Filter kein wirkliches Problem mehr:

1. Möglichkeit: Das ganze Gecapturete (___.cap) in Ethereal laden. Dort sieht man mit etwas Hinsehen so Sachen wie: 12:23:34:45:56:67 macht Anfrage an 98:87:76:65:54:43 ... und schon hat man MAC vom AP und vom Client.

2. Möglichkeit: Kismet benutzen.
Das ist wohl eindeutig der schnellere Weg. Kismet zeigt unkompliziert die WLANs an, und man sieht sofort die Clients der gefundenen APs plus jede Menge Infos.



Die genauen Consolen-Commands für Prism2 Karten entnimmt man ebenfalls der aircrack Readme.

Der fudge factor

Bei unseren ersten Tests haben wir den "fudge factor" (Punkt 4 in aircrack) völlig ignoriert.
Großer Fehler! Deshalb scheiterten auch einige Versuche, bei denen wir den WEP Key nicht knacken konnten.

fudge: Google sagt, es heißt "Unsinn", das PONS Wörterbuch umschreibt es mit "sich aus den Fingern saugen".
In einem Forum wurde der Begriff gut umschrieben mit: "Der Fudge Factor gibt an, wie tief oder oberflächlich der Crackvorgang arbeitet."

Was heißt das?
Gibt man bei 200.000 IVs einen hohen FF an, dauert der Vorgang länger, führt vielleicht aber zum Ziel.
Lässt man den Standard FF von 2, ist der Vorgang in 5 Sekunden fertig, vielleicht allerdings OHNE Ergebnis.

Einmal saß ich mit 350.000 IVs da, und er wollte den 64 Bit-Key nicht rauskriegen.
FF=2 sofort erfolglos
FF=10 ewig-> abgebrochen
FF=20 noch ewiger-> abgebrochen
FF=50 sofort Erfolg!

Ich habe nicht ausreichend viel getestet, um einen optimalen FF anzugeben (den es vllt nicht gibt), aber andere haben mit einem FF von 4 gute Ergebnisse erzielt. Das kann ich nicht unbedingt bestätigen...


Fragen, die ich per Email bekommen habe:

Frage: Geht die peek.dll auch unter Windows 98?

Antwort: Ich habe Foren entnommen, dass das nicht funktionert, es aber einmal eine Version für 98 gegeben haben soll (Hat vielleicht jemand noch so eine alte peek.dll?). Außerdem steht auf der Wildpackets Homepage, dass AiroPeek nur unter Windows XP oder 2000 läuft.
Anscheinend geht es also nicht mehr.