
AppleのWi-Fiパスワード共有プロトコルのPython製オープンソース実装
AppleのWi-Fiパスワード共有プロトコルにおけるgrantor役割のオープンソース実装です。
OpenWifiPassは実験的なソフトウェアであり、Open Wireless Linkプロジェクトによるリバースエンジニアリングの成果です。 このコードは文書化および教育目的のみに提供されています。未テストであり、不完全です。 例えば、コードはリクエスタの身元を検証しません。したがって、機密性の高いWi-Fi認証情報ではこの実装を使用しないでください。 OpenWifiPassはApple Inc.との提携や推奨を受けるものではありません。
ハードウェア: Bluetooth Low Energy無線機(例:Raspberry Pi 4)
OS: Linux(bluepy依存関係のため)
このリポジトリをクローンしてインストールします:
git clone [email protected]/seemoo-lab/openwifipass.git
pip3 install ./openwifipass
openwifipassを実行して、Wi-Fi認証情報(SSIDとPSK)を任意のリクエスタと共有します(Bluetoothサブシステムを使用するには管理者権限が必要です):
sudo -E python3 -m openwifipass --ssid <SSID> --psk <PSK>
シェルの引用符を使用して、SSID/PSK内の特定の文字の特殊な意味を除去してください。以下の例では、PSK内の$文字のシェル展開を防ぐためにシングルクォート(')を使用しています。
プロトコルの成功した実行は次のようになります:
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
このプロジェクトには、再利用可能なOPACK(デ)シリアライザが含まれています。詳細はOPACK.mdを参照してください。
OpenWifiPassはGNU General Public License v3.0の下でライセンスされています。