
Un'implementazione open source del protocollo di condivisione password Wi-Fi di Apple in Python.
Un'implementazione open source del ruolo di concedente nel protocollo di condivisione delle password Wi-Fi di Apple.
OpenWifiPass è un software sperimentale ed è il risultato di sforzi di reverse engineering da parte del progetto Open Wireless Link. Il codice ha esclusivamente scopi documentativi ed educativi. È non testato e incompleto. Ad esempio, il codice non verifica l'identità del richiedente. Pertanto, non utilizzare questa implementazione con credenziali Wi-Fi sensibili. OpenWifiPass non è affiliato né approvato da Apple Inc.
Hardware: radio Bluetooth Low Energy, ad esempio Raspberry Pi 4
Sistema operativo: Linux (a causa della dipendenza da bluepy)
Clona questo repository e installalo:
git clone [email protected]/seemoo-lab/openwifipass.git
pip3 install ./openwifipass
Esegui openwifipass per condividere le credenziali Wi-Fi (SSID e PSK) con qualsiasi richiedente (sono necessari privilegi di super utente per utilizzare il sottosistema Bluetooth):
sudo -E python3 -m openwifipass --ssid <SSID> --psk <PSK>
Usa il quoting del tuo shell per rimuovere il significato speciale di alcuni caratteri in SSID/PSK. Nell'esempio seguente, usiamo apici singoli (') per impedire l'espansione dello shell del carattere $ nella PSK.
Un'esecuzione riuscita del protocollo apparirebbe come segue:
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
Questo progetto contiene un (de)serializzatore OPACK riutilizzabile. Leggi OPACK.md per maggiori informazioni.
OpenWifiPass è concesso in licenza secondo i termini della GNU General Public License v3.0.