
ESP8266 / ESP32를 이용한 Wi-Fi 위치정보 스푸핑

SkyLift는 ESP8266 또는 ESP32 보드를 사용하여 원격/대상 위치의 무선 인프라를 모방한 Wi-Fi 비콘 프레임 또는 BT 광고를 브로드캐스트하는 실험적인 Wi-Fi/BT 지리적 위치 스푸핑 장치입니다. 위의 예시는 DataPools 프로젝트(2018)에서 하와이에 있는 Peter Thiel의 휴가용 주택으로 성공적인 지리적 재배치(georelocation)를 보여줍니다.
모바일 기기(즉, iOS 및 Android)는 위성 기반 GPS 신호가 약할 때 핵심 지리적 위치 서비스를 위해 이 정보에 의존하며, 이러한 상황은 도시 지역이나 지하실과 같은 공간에서 자주 발생합니다.
이 프로젝트는 실제(대상) 라우터와 유사한 위치에 배치된 여러 SkyLift 장치를 실외 환경에서 사용할 때 가장 성공적이었으며, 기존 Wi-Fi 인프라를 압도하고 대부분의 모바일 기기를 혼란스럽게 만들었습니다. 또한 2.4GHz가 물 분자의 공진 주파수이기 때문에 2/3가 물로 구성된 인체가 Wi-Fi 에너지를 흡수하는 복잡한 실내 환경에서도 잘 작동했습니다.
그러나 Wi-Fi 패킷 구조에 대한 최적의 설정이 무엇인지, 핵심 지리적 위치 서비스를 재정의하는 능력에 영향을 미치는 다른 요인은 무엇인지, 모바일 운영 체제에 안티 스푸핑 기술이 통합되어 있는지 여부는 여전히 불분명합니다. 일반적인 환경에서는 이 코드의 성공이 제한적일 가능성이 높지만, 프로토타이핑 하드웨어의 저렴한 비용과 잠재적으로 중요한 결과로 인해 더 탐구해 볼 가치가 있는 프로젝트입니다.
http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonLinux Ubuntu 20.04에서 테스트됨
Python
python -m venv venv
source venv/bin/activate
python setup.py develop
skylift
Usage: skylift [OPTIONS] COMMAND [ARGS]...
SkyLift
Options:
--help Show this message and exit.
Commands:
convert-scan Convert WiFi/BT network can to Networks JSON
create-sketch Creates new Arduino sketch from template
WiFi/BT 스캔을 networks JSON으로 변환
skylift convert-scan -i path/to/scan.csv -o path/to/scan.json
템플릿에서 Arduino 스케치 생성
skylift create-sketch -i path/to/scan.json -o path/to/scan-arduino/
추가 매개변수 사용자 지정
skylift create-sketch
-i path/to/scan.json
-o path/to/scan-arduino/
--max-networks 12
--board esp32
Linux
sudo chmod a+rw /dev/ttyUSB0pip install pyserial --user