
Eine Open-Source-Implementierung von Apples Wi-Fi-Passwort-Freigabe-Protokoll in Python.
Eine Open-Source-Implementierung der Grantor-Rolle in Apples Wi-Fi-Passwort-Sharing-Protokoll.
OpenWifiPass ist experimentelle Software und das Ergebnis von Reverse-Engineering-Bemühungen des Open Wireless Link-Projekts. Der Code dient ausschließlich dokumentarischen und Bildungszwecken. Er ist ungetestet und unvollständig. Zum Beispiel überprüft der Code nicht die Identität des Anforderers. Verwenden Sie diese Implementierung daher nicht mit sensiblen Wi-Fi-Zugangsdaten. OpenWifiPass ist nicht mit Apple Inc. verbunden oder von ihr unterstützt.
Hardware: Bluetooth-Low-Energy-Funkgerät, z.B. Raspberry Pi 4
Betriebssystem: Linux (aufgrund der bluepy-Abhängigkeit)
Klonen Sie dieses Repository und installieren Sie es:
git clone [email protected]/seemoo-lab/openwifipass.git
pip3 install ./openwifipass
Führen Sie openwifipass aus, um Wi-Fi-Zugangsdaten (SSID und PSK) mit jedem Anforderer zu teilen (wir benötigen Superuser-Rechte, um das Bluetooth-Subsystem zu verwenden):
sudo -E python3 -m openwifipass --ssid <SSID> --psk <PSK>
Verwenden Sie Anführungszeichen Ihrer Shell, um die besondere Bedeutung bestimmter Zeichen in SSID/PSK zu entfernen. Im folgenden Beispiel verwenden wir einfache Anführungszeichen ('), um die Shell-Erweiterung des $-Zeichens im PSK zu verhindern.
Ein erfolgreicher Ablauf des Protokolls würde wie folgt aussehen:
pi@raspberrypi:~/openwifipass $ sudo -E python3 -m openwifipass --ssid OWL --psk '$uper$ecretPassword'
Start scanning...
SSID match in PWS advertisement from aa:bb:cc:dd:ee:ff
Connect to device aa:bb:cc:dd:ee:ff
Send PWS1
Receive PWS2
Send M1
Receive M2
Send M3
Receive M4
Send PWS3
Receive PWS4
Wi-Fi Password Sharing completed
Dieses Projekt enthält einen wiederverwendbaren OPACK-(De-)Serialisierer. Lesen Sie OPACK.md für weitere Informationen.
OpenWifiPass ist unter der GNU General Public License v3.0 lizenziert.