
Una implementación de código abierto del protocolo de Compartición de Contraseñas Wi-Fi de Apple en Python.
Una implementación de código abierto del rol de otorgante en el protocolo de Compartir Contraseña Wi-Fi de Apple.
OpenWifiPass es un software experimental y es el resultado de esfuerzos de ingeniería inversa por parte del proyecto Open Wireless Link. El código sirve únicamente con fines documentales y educativos. Está sin probar e incompleto. Por ejemplo, el código no verifica la identidad del solicitante. Por lo tanto, no use esta implementación con credenciales Wi-Fi sensibles. OpenWifiPass no está afiliado ni respaldado por Apple Inc.
Hardware: Radio Bluetooth de baja energía, p. ej., Raspberry Pi 4
SO: Linux (debido a la dependencia de bluepy)
Clone este repositorio e instálelo:
git clone [email protected]/seemoo-lab/openwifipass.git
pip3 install ./openwifipass
Ejecute openwifipass para compartir credenciales Wi-Fi (SSID y PSK) con cualquier solicitante (necesitamos privilegios de superusuario para usar el subsistema Bluetooth):
sudo -E python3 -m openwifipass --ssid <SSID> --psk <PSK>
Use el quoting de su shell para eliminar el significado especial de ciertos caracteres en SSID/PSK. En el siguiente ejemplo, usamos comillas simples (') para evitar la expansión del shell del carácter $ en la PSK.
Una ejecución exitosa del protocolo se vería así:
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
Este proyecto contiene un (des)serializador OPACK reutilizable. Lea OPACK.md para más información.
OpenWifiPass está licenciado bajo la GNU General Public License v3.0.