
Apple의 Wi-Fi 비밀번호 공유 프로토콜의 오픈 소스 구현 (Python).
Apple의 Wi-Fi 비밀번호 공유 프로토콜에서 grantor 역할의 오픈 소스 구현입니다.
OpenWifiPass는 실험적인 소프트웨어이며 Open Wireless Link 프로젝트의 리버스 엔지니어링 노력의 결과입니다. 이 코드는 오직 문서화 및 교육 목적으로 제공됩니다. 테스트되지 않았고 불완전합니다. 예를 들어, 이 코드는 요청자의 신원을 확인하지 않습니다. 따라서 민감한 Wi-Fi 자격 증명과 함께 이 구현을 사용하지 마십시오. OpenWifiPass는 Apple Inc.와 제휴하거나 보증하지 않습니다.
하드웨어: Bluetooth Low Energy 라디오, 예: Raspberry Pi 4
운영 체제: 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>
셸의 quoting을 사용하여 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에 따라 라이선스가 부여됩니다.