Kennt ihr das Problem: Ihr bekommt Besuch und dieser möchte euer WLAN mitbenutzen? Dann geht die Sucherei nach dem WLAN Passwort los. Erstmal ins Webinterface vom Router und gucken wie das Passwort ist. Mich hat das irgendwann so gestört, dass ich eine Möglichkeit suchte, die in meinem Android Smartphone gespeicherten Passwörter auszulesen.
Unter Android / Linux, werden die WLAN Passwörter im Klartext in der wpa_supplicant.conf Datei abgespeichert. Diese Datei ist jedoch nicht ohne Rootrechte zugreifbar. Aber auch das ist mit einem gerooteten Android Smartphone kein Problem. Getestet habe ich das ganze bisher nur auf einem HTC Desire mit Android Version 2.3.3. Wäre interessant zu wissen, ob es auch auf anderen Geräten anderer Hersteller funktioniert, oder ob nur HTC hier diese “Sicherheitslücke” hat.
Unter folgender URL findet ihr ein Git Repository mit einem kleinen Testprogramm, das demonstriert, wie die Passwörter unter Android ausgelesen werden können.
Der Ablauf des Programmes ist wie folgt:
- Rootrechte erlangen
- wpa_supplicant.conf in den Speicher lesen
- Daten im Speicher parsen
- Liste mit WLAN SSID und Passwort an die GUI reichen
git clone https://github.com/bagges/wifipasswords.git
Build
Es Handelt sich bei dem Projekt um ein maven-Projekt. Zum erstellen des apk’s genügt ein:
mvn install
Dazu müsst ihr ANDROID_HOME und JAVA_HOME korrekt gesetzt haben.
Quelle: http://code.google.com/p/maven-android-plugin/
EDIT: 08.08.2012 Repo auf Github verschoben
Moin! Grade mal auf meinem Jiuya G3 (JB 4.1.2) getestet. Da ist die /etc/wifi/wpa_supplicant.conf sauber und ein schnelles grep über /etc findet auch nichts.