
Uma implementação de código aberto do protocolo de compartilhamento de senha Wi-Fi da Apple em Python.
Uma implementação de código aberto do papel de concedente no protocolo de Compartilhamento de Senha Wi-Fi da Apple.
O OpenWifiPass é um software experimental e é o resultado de esforços de engenharia reversa do projeto Open Wireless Link. O código serve exclusivamente a propósitos documentais e educacionais. Ele é não testado e incompleto. Por exemplo, o código não verifica a identidade do solicitante. Portanto, não use esta implementação com credenciais Wi-Fi sensíveis. O OpenWifiPass não é afiliado ou endossado pela Apple Inc.
Hardware: Rádio Bluetooth Low Energy, ex., Raspberry Pi 4
SO: Linux (devido à dependência do bluepy)
Clone este repositório e instale-o:
git clone [email protected]/seemoo-lab/openwifipass.git
pip3 install ./openwifipass
Execute openwifipass para compartilhar credenciais Wi-Fi (SSID e PSK) com qualquer solicitante (precisamos de privilégios de super usuário para usar o subsistema Bluetooth):
sudo -E python3 -m openwifipass --ssid <SSID> --psk <PSK>
Use quoting do seu shell para remover o significado especial de certos caracteres em SSID/PSK. No exemplo abaixo, usamos aspas simples (') para evitar a expansão do caractere $ no PSK.
Uma execução bem-sucedida do protocolo seria assim:
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 projeto contém um (de)serializador OPACK reutilizável. Leia OPACK.md para mais informações.
OpenWifiPass é licenciado sob a GNU General Public License v3.0.