
WiFi-Geolokalisierungs-Spoofing mit dem ESP8266
Wird am 15. Juni veröffentlicht
SkyLift ist ein kostengünstiges Gerät zur Geolokalisierungs-Spoofing. Es verwendet derzeit den ESP8266, um WiFi-Beacon-Frames auszusenden und eine seit langem bestehende (2008) Schwachstelle in WiFi-Geolokalisierungsdiensten auszunutzen.
Diese dritte Prototypversion von SkyLift wurde während einer Web-Residency mit Akademie Schloss Solitude & ZKM weiterentwickelt. Lesen Sie ein Interview über das Projekt. Oder bauen Sie es mithilfe der nachstehenden Anleitung für weniger als 5 $ selbst.

SkyLift wurde ursprünglich in Zusammenarbeit mit Surya Mattu für die Assange-Raum-Show „Welcome to Ecuador!“ von !Mediengruppe Bitnik in der Zoo Galerie in Nantes im Jahr 2016 entwickelt. Die Entwicklung für diese aktualisierte Version V0.3 begann im November 2016 und wurde schließlich im Mai 2017 mit Unterstützung einer Web-Residency am Schloss Solitude veröffentlicht. Diese Version enthält mehrere Verbesserungen gegenüber dem ursprünglichen System (SkyLift V0.1), darunter:
Informationen zum ursprünglichen SkyLift (V0.1) finden Sie unter https://ahprojects.com/notebook/2016/skylift-geolocation/
SkyLift ist ein Open-Source-Projekt, das von Adam Harvey gepflegt wird und Sicherheitslücken sowie kreative Möglichkeiten in verbraucherorientierten Smartphone-Geolokalisierungsdiensten untersucht.
Wenn Sie an einem fertigen, gebrauchsfertigen Gerät interessiert sind, tragen Sie sich in meine Mailingliste unter https://undisclosed.cc/ ein.
git clone https://github.com/adamhrv/skylift/Was Sie benötigen:
Mit OLED-Display (optional):
Sowohl das OLED-Display als auch der ESP8266 NodeMCU können bei eBay etwa zum halben Preis gekauft werden, wenn Sie bereit sind, 1–2 Wochen auf die Lieferung zu warten. Der ESP8266 kann bereits ab 3 $ erhältlich sein.
Arduino/test_single_beacon_frameArduino/test_oled_screen hochArduino/skylift_v03_embassy hochTipps zur Verbesserung der Leistung:
Wenn Sie sich an einem Innenstandort ohne andere WiFi-Router befinden und SkyLift nicht funktioniert, erstellen Sie bitte einen Issue-Bericht und fügen Sie so viele Details wie möglich hinzu:
Sie können Ihre eigenen SkyLift-Standortdaten mit iOS, OSX oder der Wigle.net-API erstellen. (Android- und Linux-Prozesse sind noch nicht dokumentiert).
1A) Nach WiFi-Netzwerken auf OSX scannen
python utils/osx_scan_to_json.py -o data/json/my_osx_scan.json
1B) Nach WiFi-Netzwerken auf iOS scannen
Verwenden Sie die kostenlose AirPort-Utility-App und aktivieren Sie „Wi-Fi-Scanner“ unter Einstellungen > AirPort-Dienstprogramm. Führen Sie einen WiFi-Scan durch und speichern Sie ihn in Ihren synchronisierten Notizen oder senden Sie ihn per E-Mail an sich selbst. Stellen Sie sicher, dass sich 2 Zeilen vor den CSV-Daten befinden. Beispiel:
# Machen Sie sich hier Notizen oder fügen Sie einen Titel hinzu (gespeichert als your_scan.txt))
SSID, BSS, RSSI, Channel, Time
"", "11:11:11:11:11:11", "-61", "44", "13:17:34"
"", "11:11:11:11:11:11", "-61", "44", "13:17:44"
"freewificonnect", "22:22:22:22:22:22", "-80", "11", "13:17:32"
"freewificonnect", "22:22:22:22:22:22", "-80", "11", "13:17:41"
Speichern Sie Ihre Datei unter „data/ios/your_scan.txt“ und führen Sie dann Folgendes aus:
python utils/ios_to_json.py -i data/ios/your_scan.txt -o data/json/your_scan.json
1C) Wigle-API verwenden
Registrieren Sie sich unter https://wigle.net, um einen API-Key und ein API-Token zu erhalten (derzeit kostenlos). Die Ergebnisse mit Wigle können variieren oder möglicherweise nicht funktionieren. Ihre Daten stammen aus Crowdsourcing und sind nicht verifiziert oder möglicherweise veraltet. Für die besten Ergebnisse erstellen Sie Ihren eigenen WiFi-Scan vor Ort.
python utils/wigle_to_json.py --lat 37.484581 --lon -122.147921 --radius 3 -o data/json/wigle_test.json
2) iOS (csv) in JSON konvertieren
python utils/ios_to_json.py -i data/ios/your_scan.txt -o data/json/your_scan.json
3) (Beliebiges) JSON für den Arduino-Sketch konvertieren
python utils/json_to_arduino.py -i data/ios/your_scan.json -o data/ino/your_scan.txt
Die Ausgabe sieht ungefähr so aus:
#define nn 2
char* ssids_str[nn] = {
"74:46:A0:33:00:01",
"74:46:A0:33:00:02"
};
byte bssids[nn][6] = {
{0x74, 0x46, 0xA0, 0x33, 0x00, 0x12},
{0x74, 0x46, 0xA0, 0x33, 0x00, 0x12}
};
char* ssids[nn] = {
"wifi_ssid",
"another_wifi_ssid"
};
#ifdef USE_SCREEN
byte channels[nn] = {6, 6};
#else
byte channels[nn] = {10, 11};
#endif
Erstellen Sie dann eine Kopie von „skylift_v03_embassy“ und ersetzen Sie die vorhandenen WiFi-Daten durch Ihre benutzerdefinierten Daten.
Experimentell: Beachten Sie die beiden Optionen für die Kanäle. Wenn Sie den Sketch im Standalone-Modus (ohne Bildschirm) verwenden, möchten Sie die Kanäle möglicherweise ändern. Bei der Verwendung von SkyLift in einem großen Raum scheint es besser zu funktionieren, mehrere Repeater-Einheiten auf zufälligen Kanälen und die Bildschirmversion auf den Kanälen 1, 6 und 11 zu verwenden. Wenn Sie nur ein Gerät verwenden, haben die Kanäle 1, 6 und 11 zusammen die bisher besten Ergebnisse geliefert.
Geolokalisierungsdienste ist ein weit gefasster Begriff für die Gesamtheit der Technologien, die verwendet werden, um den geografischen Standort eines Smartphones zu bestimmen. Die vier primären Technologien, die für Geolokalisierungsdienste verwendet werden, sind (1) GPS, (2) Mobilfunk-Triangulation, (3) Bluetooth und (4) WiFi-Positionierung. Je nachdem, welche dieser 4 Signale verfügbar sind, versucht ein Smartphone, seinen geografischen Standort mit höchster Genauigkeit und kürzester Wartezeit zu bestimmen.
SkyLift nutzt einen Exploit mit WiFi-Geolokalisierungsdiensten, der erstmals 2008 von dem Schweizer Forscher Srdjan Capkun an der ETH Zürich gezeigt wurde. Trotz ihrer frühen Warnung im Jahr 2008 haben alle großen Smartphone-Unternehmen WiFi weiterhin als Kern-Geolokalisierungstechnologie integriert. Die Schwachstelle existierte 2012 immer noch, als Bengt Sjölen und Gordan Savicic sie für ihr Projekt Packetbridge ( <- gute Dokumentation) kreativ ausnutzten.
Die Schwachstelle ist schwer zu beheben, da WiFi-Geolokalisierungsunternehmen davon ausgehen, dass der WiFi-Router eines jeden, einschließlich des Routers in Ihrem Zuhause, Teil ihres kommerziellen Geolokalisierungsprodukts ist. Ob dies legal oder ethisch ist, sollte offener debattiert werden.
Sicher ist, und das wurde bereits 2008 bewiesen, dass Smartphone-Geolokalisierungsdaten leicht gefälscht werden können und ihnen nicht vertraut werden sollte. Dennoch verlassen wir uns bei einer wachsenden Zahl kritischer Anwendungen auf diese Technologie. Das folgende Bild zeigt beispielsweise, wie einfach ich Apples „Mein iPhone suchen“-Dienst täuschen konnte, sodass er annahm, mein Gerät befinde sich an der Ecuadorianischen Botschaft in London. (Bild erstellt mit einem Gerät, das sich tatsächlich in Berlin befand, funktioniert mit Desktop- oder Mobilgeräten).
