c't 26/2016
S. 168
Know-how
Nexmon
Aufmacherbild

Nexmon

Wie man die eigene WLAN-Firmware hackt

Das Nexmon-Framework der TU Darmstadt erlaubt Ihnen, eigene Patches für die proprietäre Firmware der Broadcom-WLAN-Chips in Raspberry Pi 3, Nexus 5 und anderen Smartphones zu programmieren. Damit werden Sie zum WLAN-Pentester auf mobiler Hardware, verstehen, wie WLAN-Module funktionieren und wie Reverse Engineering abläuft.

Ein Smartphone wie das Nexus 5 enthält neben dem Hauptprozessor für Android weitere Prozessoren, die spezialisierte Funktionen wie das Erzeugen von Funksignalen übernehmen. In den für eine Aufgabe optimierten Modulen wie dem WLAN-Chip steckt jeweils ein eigener Prozessor, auf dem eine vom Betriebssystem unabhängige Firmware läuft. Während Sie bei Android in den Quelltext schauen können, haben Sie bei proprietärer Firmware nur kompilierten Maschinencode, von dem nur der Hersteller weiß, was er tut. Das Nexmon-Projekt befähigt Sie, eine dieser Firmware-Blackboxen aufzubrechen und eigene Patches komfortabel in C zu schreiben. In diesem Artikel lernen Sie unter anderem, wie Sie mit Ihrer modifizierten WLAN-Firmware eigene Access-Points in der Liste anderer Geräte auftauchen lassen. Für den Hack brauchen Sie Root-Zugriff, Android 6 (oder Raspbian beim Raspberry Pi 3) und eine Konsole, beispielsweise über die Android Debug Bridge (adb) per USB.

Welcher WLAN-Chip im Smartphone steckt, ist für den Konsumenten im Normalfall irrelevant. Den interessiert nur der erreichbare Durchsatz und welche Funkstandards das Handy unterstützt. Dieser Artikel richtet sich an diejenigen, die mehr wollen: nämlich zu verstehen, wie WLAN-Firmwares funktionieren und wie man sie patchen kann. Beispielsweise aktivieren Sie mit eigener Firmware Monitormodus und Paketinjektion auf dem Smartphone und erhalten somit einen mobilen WLAN-Pentester. Wer das System versteht, kann es auch erweitern, um beispielsweise Nachrichten über Namen nicht existierender Access Points mit Hilfe von Beacon-Paketen zu verschicken.