
Une implémentation open source du protocole de partage de mot de passe Wi-Fi d'Apple en Python.
Une implémentation open source du rôle de donneur dans le protocole de partage de mot de passe Wi-Fi d'Apple.
OpenWifiPass est un logiciel expérimental et est le résultat d'efforts de rétro-ingénierie par le projet Open Wireless Link. Le code sert uniquement à des fins documentaires et éducatives. Il est non testé et incomplet. Par exemple, le code ne vérifie pas l'identité du demandeur. Par conséquent, n'utilisez pas cette implémentation avec des identifiants Wi-Fi sensibles. OpenWifiPass n'est pas affilié à Apple Inc. ni approuvé par celle-ci.
Matériel : Radio Bluetooth Low Energy, p. ex., Raspberry Pi 4
Système d'exploitation : Linux (en raison de la dépendance bluepy)
Clonez ce dépôt et installez-le :
git clone [email protected]/seemoo-lab/openwifipass.git
pip3 install ./openwifipass
Exécutez openwifipass pour partager les identifiants Wi-Fi (SSID et PSK) avec n'importe quel demandeur (nous avons besoin des privilèges super utilisateur pour utiliser le sous-système Bluetooth) :
sudo -E python3 -m openwifipass --ssid <SSID> --psk <PSK>
Utilisez les guillemets de votre shell pour supprimer la signification spéciale de certains caractères dans SSID/PSK. Dans l'exemple ci-dessous, nous utilisons des guillemets simples (') pour empêcher l'expansion du caractère $ par le shell dans le PSK.
Une exécution réussie du protocole ressemblerait à ceci :
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
Ce projet contient un (dé)sérialiseur OPACK réutilisable. Lisez OPACK.md pour plus d'informations.
OpenWifiPass est sous licence GNU General Public License v3.0.