ITS Tagebuch – W2T3 – Caffe Latte

Mit der CaffeLatte Attacke ist es möglich, einen WEP Schlüssel auch dann zu cracken, wenn das Netzwerk gar nicht in Reichweite ist. Hier wird nicht der Traffic zwischen AccessPoint und Client genutzt, um durch die schwachen IVs den Schlüssel zu generieren – Wir benötigen nur den Client.

WiFi Security - CaffeLatte Attacke

Lust auf CaffeLatte? Bild: (c) Airtight Networks (Quelle: Securitytube)

Vorraussetzung ist, dass der Client schon einmal mit einem WEP Netz verbunden war, und den Schlüssel auf seinem Gerät gespeichert hat. Als optionaler Faktor spielt noch mit hinzu, ob der Client sich automatisch mit dem Netzwerk verbindet sobald es verfügbar ist, und ob er automatisch ARP Pakete sendet. Die CaffeLatte Attacke nutzt Teile des Isolated Client Hacks, sowie die Message Modification.
Den Namen hat CaffeLatte übrigens da her, dass es nicht länger dauert den WEP Schlüssel zu ergattern, als einen CaffeLatte in einem Café zu trinken. Generell werden Cafés und Restaurants ja gerne als Beispiel für beliebte Hackerangriffe herangezogen…

Das CaffeLatte Prinzip

Wie beim Isolated Client Hack, werden wir versuchen zu erreichen, dass sich der Client mit unserem Drahtlosnetzwerk verbindet. Dazu erstellen wir wieder einen Soft-AP, dieses mal mit der Einstellung, dass das WEP Flag gesetzt ist – Das Netzwerk wird also als WEP verschlüsselt angezeigt.
Der Client verbindet sich nun mit unserem Netzwerk. Dieser will sich natürlich mit dem Schlüssel des eigentlichen Netzwerkes authentifizieren – Wir segnen dies einfach ab. Das dient dazu, dass der Client nun verschlüsselte Datenpakete sendet, verschlüsselt mit dem richtigen WEP Key. Sendet der Client genügend Pakete, können wir wieder IVs sammeln, und wie schon bekannt mit aircrack-ng oder ähnlichen Tools knacken.
Die Message Modification dient dazu, ähnlich wie die injection beim WEP cracking, ARP Pakete zu modifizieren, damit der Client genug Pakete sendet. 

Message Modification

Der Schlüsselfaktor bei der CaffeLatte Attacke ist, dass wir ein verschlüsseltes Paket modifizieren. Hierzu wird ein ARP Paket, welches anhand seiner Länge identifizierbar ist, so modifiziert, dass der Client darauf antwortet. Ein Graditious ARP Paket – welches der Client sendet, sobald er eine IP zugewiesen hat – wird mit einer Bitmaske so geändert, dass es ein ARP Request wird. Zusätzlich wird auch die Checksumme modifiziert, schlussendlich erhalten wir ein legitimes, valides WEP verschlüsseltes Paket, welches wir immer wieder einspielen können. Der Client antwortet (natürlich verschlüsselt) darauf, somit werden immer wieder IVs generiert, wodurch wir die Schwachstelle von RC4 ausnutzen, und den WEP Schlüssel knacken können.
Wie genau diese Modifikation des Pakets stattfindet, ist sehr anschaulich im Video Caffe Latte Attack Basics auf Securitytube beschrieben.

Ausführung

Zunächst wird ein WLAN-Interface in den MonitorMode versetzt. Nun muss ein Netzwerk ausgewählt werden: Entweder snifft man in der Umgebung und sucht nach APs mit WEP Verschlüsselung und führt die CaffeLatte Attacke bei einem Client aus, oder man rät blind drauf los anhand von ProbeRequests. Hier kann man nur hoffen, dass das Angeforderte Netzwerk eine WEP Verschlüsselung hat, sicher kann man sich nicht sein.
Anschließend wird die CaffeLatte Attacke mit aireplay-ng gestartet:


root@bt:~# aireplay-ng --caffe-latte -e TacticalCode mon0
For information, no action required: Using gettimeofday() instead of /dev/rtc
No source MAC (-h) specified. Using the device MAC (00:C0:CA:58:43:50)
12:50:36 Waiting for beacon frame (ESSID: TacticalCode) on channel 9
Found BSSID "00:C0:CA:58:43:50" to given ESSID "TacticalCode".
Saving ARP requests in replay_arp-0915-125036.cap
You should also start airodump-ng to capture replies.
read 147026 packets (3 ARPs, 162 ACKs), sent 107256 packets...(499 pps)

Aireplay-ng lauscht nun nach ARP-Paketen für die SSID TacticalCode. Wird ein ARP Paket gefunden, wird es modifiziert und wieder ins Netzwerk geschickt (wie es oben schon zu sehen ist).
Natürlich brauchen wir auch einen AccessPoint, dieser wird wieder durch airbase-ng bereitgestellt. Durch den Parameter W=1 wird vorgegeben, dass das Netzwerk WEP verschlüsselt ist:


root@bt:~# airbase-ng --essid TacticalCode -W 1 mon0
12:50:35 Created tap interface at0
12:50:35 Trying to set MTU on at0 to 1500
12:50:35 Access Point with BSSID 00:C0:CA:58:43:50 started.
12:51:34 Client 00:26:B6:0E:3F:E6 associated (WEP) to ESSID: "TacticalCode"

Durch die aufgezeichneten IVs können wir nun mit aircrack-ng den WEP Schlüssel cracken.

Graditious ARP Pakete

Aireplay-NG sendet ARP Requests. Achtung: Diese Pakete wurden in Wireshark entschlüsselt, ohne gültigen WEP-Key sind die Inhalte der Pakete in Wireshark nicht lesbar!

Analyse und Sonstiges

Es bleibt zu sagen, dass der Erfolg dieser Attacke ungewiss bleibt. Verbindet sich das Opfer überhaupt mit dem Netzwerk, muss man hoffen, dass auch ein ARP Paket gesandt wird. Einige Clients senden die Graditious ARP Pakete, sobald ein DHCP-Timeout erreicht ist, und sie eine Auto-Config IP verwenden. Aber nicht alle Clients tun dies, einige senden keine ARP-Pakete, andere weisen erst gar keine IP zu, wodurch man eventuell einen DHCP-Server selbst betreiben muss. Mein Handy (Android 4.1.1 / CyanogenMod 10) hat wohl keine autoconfig-IP: Wird keine IP durch das Netzwerk zugewiesen, bricht die Verbindung einfach ab.
Da WEP-Netze heute eher selten geworden sind, und die Attacke nicht immer funktioniert, sinkt natürlich die Erfolgschanche der Angreifer. Die Attacke ist aber unter Umständen sehr effektiv und war damals bahnbrechend.

Gegenmaßnahmen zur CaffeLatte Attacke

Als erstes steht der Schritt, sich nicht mit einem WEP Netz zu verbinden. Diese sind generell als unsicher anzusehen. Wenn überhaupt, sollte man nur mit einigen Sicherheitsmaßnahmen wie VPN-Tunnel mit WEP-Netzen verbinden. Außerdem sollte man, soweit möglich, das automatische Verbinden mit Drahtlosnetzwerken unterbinden. Falls es keine Einstellung dazu im Betriebssystem oder Treiberinterface gibt, sollte das WLAN – falls nicht gerade benötigt – ausgestellt werden.
MfG
Damon Dransfeld

Dieser Eintrag wurde veröffentlicht in ITS Tagebuch, Security
Bookmarken: Permanent-Link Schreibe einen Kommentar oder hinterlasse einen Trackback: Trackback-URL.
Achtung: Wordpress interpretiert bestimmte Zeichenfolgen als Markup und verändert diese. Nutzt für Programmcode lieber Gist oder PasteBin-Services und verlinkt die Code-Schnipsel.

Post a Comment

Ihre E-Mail wird niemals veröffentlicht oder verteilt. Benötigte Felder sind mit * markiert

*
*

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>