Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
skylift — WiFi-Geolokalisierungs-Spoofing mit dem ESP8266 | Kitploit
Tools/GitHubGitHub/awesome-pentest-gadgets/skylift
Embedded-System-SicherheitWi-Fi-PrüfungExploitationDrahtlose SicherheitHardware- & IoT-SicherheitRed Teaming
GitHubawesome-pentest-gadgets/skylift

skylift

WiFi-Geolokalisierungs-Spoofing mit dem ESP8266

Repository anzeigen
836vor 8 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

SkyLift V0.4

Wird am 15. Juni veröffentlicht

  • python3
  • click
  • einfacher zu bedienender CLI-Parser-Workflow
  • Timestamp-Fix

SkyLift V0.3

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.

Updates

    1. Mai 2017: Neuer Scan von John Kiriakous (CIA-Whistleblower) Vortrag im Grünen Salon in Berlin hinzugefügt

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:

  • Reduzierte Baukosten von 50 $ auf etwa 5 $
  • Reduzierte Einrichtungszeit für die Kerntechnologie von mehreren Stunden auf etwa 15 Minuten
  • Verbesserte Bedienung (einfach USB-Strom bereitstellen)
  • Verbesserte Leistung durch Channel Hopping
  • Verbesserte Paketstruktur (hinzugefügtes Timestamp-Intervall-Byte)
  • Option für versteckte (Null-) SSID „\x00“ hinzugefügt
  • Dienstprogramme zur Erstellung benutzerdefinierter Standorte hinzugefügt
  • Technologie auf ein einziges Gerät isoliert
  • Optionales OLED für die Anzeige hinzugefügt

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.

Schnellstart

  • Kaufen Sie einen ESP8266 NodeMCU 12 oder 12E | eBay (billiger) oder Amazon.com (schneller)
  • git clone https://github.com/adamhrv/skylift/
  • Laden Sie aus „arduino/skylift_v03_embassy““ den Sketch „skylift_v03_embassy.ino“ hoch
  • Stellen Sie sicher, dass der WiFi-Geolokalisierungsdienst Ihres Smartphones aktiviert ist
  • Platzieren Sie den ESP8266 1–2 m vom Telefon entfernt (in einem stark frequentierten WiFi-Bereich 0,25–0,5 m)
  • Vollständige Einrichtung und Fehlerbehebung unten

Einrichtung

Was Sie benötigen:

  • Arduino 1.6.12+
  • ESP8266 NodeMCU 12 oder 12E | eBay, Amazon.com, Adafruit Huzzah
  • USB-Micro-Kabel zum Programmieren
  • 5-V-USB-Akku (optional)

Mit OLED-Display (optional):

  • OLED-Display | eBay, Amazon.com
  • PCB 3x7 cm (nur bei Verwendung eines OLED-Displays) | Amazon.com
  • Lötkolben
  • OLED-Bibliothek Adafruit_SSD1306
  • ESP8266-Bibliotheken: „http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • Seitenschneider zum Kürzen der Stiftleisten nach dem Löten

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.

Testskripte

WiFi testen

  • Stellen Sie sicher, dass Sie eine aktuelle Version von Arduino verwenden (1.6.12 wurde für den Build verwendet)
  • Stellen Sie sicher, dass die ESP8266-Boards installiert sind. Fügen Sie unter Datei > Voreinstellungen > Zusätzliche Boardverwalter-URLs „http://arduino.esp8266.com/stable/package_esp8266com_index.json" hinzu
  • Wählen Sie unter Werkzeuge > Board: „NodeMCU 0.9 (ESP12 Module)“ oder die 12E
  • Testen Sie mit dem Sketch Arduino/test_single_beacon_frame
  • Überprüfen Sie Ihre WiFi-Netzwerke. Der Name Network1 sollte auf Kanal 1 sichtbar sein.

OLED-Bildschirm testen

  • OLED auf der Rückseite der PCB mit dem ESP8266 verdrahten
  • Schwarzen Kunststoff an den Stiftleisten entfernen, um ein flacheres Profil zu erreichen
  • ESP8266-Pin D2 -> OLED-Pin SDA verbinden
  • ESP8266-Pin D3 -> OLED-Pin SCL verbinden
  • PWR (3,3 V) verbinden
  • GND verbinden
  • Laden Sie den Sketch Arduino/test_oled_screen hoch
  • Der Text „Scrolling Text Demo 123 456“ sollte über den Bildschirm laufen

Ecuadorianische Botschaft

SkyLift mit dem Standort der Ecuadorianischen Botschaft testen

  • Laden Sie den Sketch Arduino/skylift_v03_embassy hoch
  • Stellen Sie sicher, dass Sie die WiFi-Standortdienste auf Ihrem Telefon aktiviert haben
  • Stellen Sie sicher, dass Sie über eine aktive Datenverbindung verfügen (Mobilfunk oder WiFi. Ihre IP-Adresse spielt keine Rolle)
  • Öffnen Sie Ihre bevorzugte Kartierungsanwendung (oder eine beliebige App, die Ihren Standort verwendet)
  • Wenn es nicht funktioniert, gibt es mehrere Gründe dafür. Höchstwahrscheinlich stören zu viele nahegelegene Router den Konfidenzwert, der von der WiFi-Geolokalisierungs-API zurückgegeben wird.
  • Wenn mehrere Netzwerke bei -60 bis -40 dB vorhanden sind, ist es unwahrscheinlich, dass SkyLift eine neue Geolokalisierung zurückgibt

Tipps zur Verbesserung der Leistung:

  • Reduzieren Sie die Anzahl der nahegelegenen WiFi-Signale auf weniger als 5 Netzwerke mit weniger als -80 dB
  • Sollte auch mit 10+ Netzwerken funktionieren, wenn deren Signalstärke unter -80 dB liegt
  • Überwachen Sie nahegelegene Netzwerke mit NetSpot (kostenlose Testversion) und entfernen Sie sich wenn möglich von vorhandenen WiFi-Routern
  • Entfernen Sie sich von Fenstern, wo satellitengestütztes GPS-Signal stärker ist
  • Stellen Sie sicher, dass sich das Telefon in der Nähe des ESP8266 befindet (idealerweise 0,1–1 m entfernt in stark frequentierten WiFi-Zonen, 1–2 m entfernt in mitteldicht besiedelten WiFi-Zonen, bis zu 10 m entfernt in WiFi-Zonen mit geringer Dichte) und weit entfernt von nahegelegenen Routern.
  • Für Entfernungen über 10 m können Sie die PCB-Antennenspur durchtrennen und einen SMA-Stecker anlöten, um eine +7-dB-Antenne oder einen WiFi-Verstärker hinzuzufügen, oder einfacher: mehrere SkyLift-Geräte als Repeater einsetzen
  • Metalldächer und -strukturen dämpfen nahegelegene WiFi-Signale
  • Gipskarton, Holz und Beton sind für WiFi durchlässig und dämpfen das Signal nicht spürbar
  • Menschen, die zu etwa 65 % aus Wasser bestehen, sind natürliche WiFi-Absorber (2,4 GHz ist die Resonanzfrequenz von Wasser) und dämpfen nahegelegene WiFi-Signale in überfüllten Umgebungen, was zu einer besseren Leistung beim Geolokalisierungs-Spoofing in überfüllten Bereichen führt
  • Empfohlene Orte für optimale Leistung sind Bunker und Bars oder andere Bereiche, in denen GPS-, Mobilfunk- und WiFi-Signale reduziert sind. Aber experimentieren Sie ruhig überall.
  • Die besten Ergebnisse wurden bisher im Keller der La Gaîté Lyrique, bei Konzerten und in einer kontrollierten (natürlich) Testumgebung erzielt.
  • Hinweis: SkyLift ist keine garantierte Lösung. Wenn zu viele konkurrierende WiFi-Signale in der Nähe sind, gibt die Standortdienst-API einen niedrigen Konfidenzwert zurück und fällt auf Mobilfunk-Triangulation oder satellitengestütztes GPS zurück.

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:

  • NetSpot- oder andere App-Scanergebnisse
  • Vom ESP8266 verwendete Kanäle
  • Entfernung von SkyLift zum Smartphone
  • Ob Sie auf Ihrem Telefon eine aktive Datenverbindung haben
  • Verfügbare Datenverbindung (LTE, 4G, 3G, EDGE, GPRS)
  • iOS oder Android und, wenn es Ihnen nichts ausmacht, das Telefonmodell

Benutzerdefinierte Standorte

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:

root@kitploit:~
# 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:

root@kitploit:~
#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.


Über WiFi-Geolokalisierungsdienste

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).

Mein iPhone suchen an der Ecuadorianischen Botschaft

Weiterführende Literatur

  • Beacon Frame Überblick
  • Beacon Frame Paket detaillierter
  • Spoofing von WiFi-Geolokalisierungsdiensten auf Hackaday
  • Vertrauen Sie Geolokalisierung nicht
  • Device-to-Identity Linking Attack Using Targeted Wi-Fi Geolocation Spoofing
  • SkyLift V0.1 Beitrag zur Verwendung von MDK3 + Raspberry Pi

Haftungsausschluss

  • Pokémon-Spieler und andere nutzen das Gerät auf eigene Gefahr
  • Derzeit nur für Forschungs- und künstlerische Zwecke gedacht
  • Prüfen Sie vor der Verwendung die lokalen WiFi-Vorschriften
  • Nach einer längeren Sendedauer können BSSIDs auf die Blacklist gesetzt werden oder sogar mit einem anderen Standort in Verbindung gebracht werden (dies geschah im FACT Liverpool, was Ihren Standort anderen Benutzern offenbaren oder kreativ für einen Bermuda-Dreieck-Effekt genutzt werden könnte.
  • SkyLift ist kein GPS-Spoofing-Gerät. Für 1,5-GHz-GPS-Spoofing siehe GPS-Standort mit kostengünstigen TX-SDRs fälschen oder Software-Defined GPS Signal Simulator
  • SkyLift ist derzeit ein reines 2,4-GHz-Gerät
  • SkyLift ist keine garantierte Lösung

SkyLift bei Ausstellungen:

  • Dark Technology Dark Web. Spektrum. Berlin. 2017.
  • How Much of This is Fiction. FACT. Liverpool. 2017.
  • Lanceurs d'alerte . La Gaîté Lyrique. Paris. 2017.
  • *Welcome to Ecuador. Zoo Galerie. 2016.

SkyLift-Credits:

  • Ursprüngliches Konzept entwickelt in Zusammenarbeit mit !Mediengruppe Bitnik (DE)
  • SkyLift V0.1 entwickelt in Zusammenarbeit mit Surya Mattu (US)
  • Technische Beratung durch Julian Oliver (DE)
  • Rechercheunterstützung und Beiträge zur Python-Entwicklung: Leon Eckert (US/DE)
  • „Welcome to Ecuador“-Installation (2016), kuratiert von Aude Launay für die Zoo Galerie
  • ESP8266-Proof-of-Concept-Beacon-Frame-Code von https://github.com/kripthor/WiFiBeaconJam
  • Schloss Solitude Web Residency
Tool herunterladen