Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/awesome-pentest-gadgets/skylift
Sicurezza Sistemi EmbeddedAuditing Wi-FiExploitSicurezza WirelessSicurezza Hardware e IoTRed Teaming
GitHubawesome-pentest-gadgets/skylift

skylift

Spoofing della geolocalizzazione WiFi con ESP8266

Vedi Repository
83688 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi

SkyLift V0.4

Sarà pubblicato il 15 giugno

  • python3
  • click
  • flusso di lavoro del parser CLI più facile da usare
  • correzione del timestamp

SkyLift V0.3

SkyLift è un dispositivo di spoofing della geolocalizzazione a basso costo. Attualmente utilizza l'ESP8266 per trasmettere Beacon Frame WiFi al fine di sfruttare una vulnerabilità di lunga data (2008) nei servizi di geolocalizzazione WiFi.

Questa terza versione prototipale di SkyLift è stata ulteriormente sviluppata durante una web residency con Akademie Schloss Solitude e ZKM. Leggi un'intervista sul progetto. Oppure costruiscine uno tuo con le istruzioni qui sotto per meno di 5 $.

Aggiornamenti

  • 13 maggio 2017: Aggiunta nuova scansione dall'intervento di John Kiriakou (informatore della CIA) al Gruener Salon di Berlino

SkyLift è stato originariamente sviluppato in collaborazione con Surya Mattu per lo show Welcome to Ecuador! nella stanza Assange di !Mediengruppe Bitnik alla Zoo Galerie di Nantes nel 2016. Lo sviluppo di questa versione aggiornata, V0.3, è iniziato a novembre 2016 ed è stato finalmente rilasciato a maggio 2017 con il supporto di una web residency presso Schloss Solitude. Questa versione apporta diversi miglioramenti rispetto al sistema iniziale (SkyLift V0.1), tra cui:

  • costo di costruzione ridotto da 50 $ a circa 5 $
  • tempo di configurazione della tecnologia principale ridotto da diverse ore a circa 15 minuti
  • operatività utente migliorata (basta fornire alimentazione USB)
  • prestazioni migliorate grazie al channel hopping
  • struttura dei pacchetti migliorata (aggiunto byte di intervallo del timestamp)
  • aggiunta opzione SSID nascosto (null) "\x00"
  • aggiunti script di utilità per creare posizioni personalizzate
  • tecnologia isolata su un singolo dispositivo
  • aggiunto OLED opzionale per il display

Per informazioni sullo SkyLift originale (V0.1), vedere https://ahprojects.com/notebook/2016/skylift-geolocation/

SkyLift è un progetto open source mantenuto da Adam Harvey che indaga le vulnerabilità di sicurezza e le opportunità creative nei servizi di geolocalizzazione degli smartphone rivolti ai consumatori.

Se sei interessato a ottenere un dispositivo completo e pronto all'uso, aggiungiti alla mia mailing list all'indirizzo https://undisclosed.cc/.

Avvio Rapido

  • Acquista un ESP8266 NodeMCU 12 o 12E | eBay (più economico) o Amazon.com (più veloce)
  • git clone https://github.com/adamhrv/skylift/
  • Dalla cartella "arduino/skylift_v03_embassy" carica lo sketch "skylift_v03_embassy.ino"
  • Assicurati che il servizio di geolocalizzazione WiFi del tuo smartphone sia abilitato
  • Posiziona l'ESP8266 entro 1 - 2m dal telefono (entro 0,25 - 0,5m in aree WiFi congestionate)
  • Configurazione completa e risoluzione dei problemi di seguito

Configurazione

Cosa ti servirà:

  • Arduino 1.6.12+
  • ESP8266 NodeMCU 12 o 12E | eBay, Amazon.com, Adafruit Huzzah
  • Cavo USB micro per la programmazione
  • Batteria USB 5V (opzionale)

Con display OLED (opzionale):

  • Display OLED | eBay, Amazon.com
  • PCB 3x7cm (solo se si utilizza il display OLED) | Amazon.com
  • Saldatore
  • Libreria OLED Adafruit_SSD1306
  • Librerie ESP8266: "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • Tagliafili per rifilare i connettori dopo la saldatura

Sia il display OLED che l'ESP8266 NodeMCU possono essere acquistati su eBay a circa metà prezzo se sei disposto ad aspettare 1-2 settimane per la consegna. L'ESP8266 può costare anche solo 3 $.

Script di Test

Test WiFi

  • Assicurati di utilizzare una versione recente di Arduino (per la build è stata utilizzata la 1.6.12)
  • Assicurati di avere installate le schede ESP8266. In Preferenze > Schede Aggiuntive aggiungi "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • Da Strumenti > Scheda: seleziona "NodeMCU 0.9 (ESP12 Module)" o la 12E
  • Prova con lo sketch Arduino/test_single_beacon_frame
  • Controlla le tue reti WiFi. Il nome Network1 dovrebbe essere visibile sul canale 1.

Test dello schermo OLED

  • collega l'OLED all'ESP8266 sul retro del PCB
  • rimuovi la plastica nera dai connettori per un profilo più basso
  • Collega il pin D2 dell'ESP8266 -> pin SDA dell'OLED
  • Collega il pin D3 dell'ESP8266 -> pin SCL dell'OLED
  • Collega PWR (3.3V)
  • Collega GND
  • Carica lo sketch Arduino/test_oled_screen
  • Il testo "Scrolling Text Demo 123 456" dovrebbe apparire scorrendo sullo schermo

Ambasciata dell'Ecuador

Testare SkyLift con la posizione dell'Ambasciata dell'Ecuador

  • Carica lo sketch Arduino/skylift_v03_embassy
  • Assicurati di aver abilitato i servizi di localizzazione WiFi sul tuo telefono
  • Assicurati di avere una connessione dati attiva (cellulare o WiFi. Il tuo indirizzo IP non ha importanza)
  • Apri la tua applicazione di mappe preferita (o qualsiasi app che utilizzi la tua posizione)
  • Se non funziona, ci sono diversi motivi. Molto probabilmente ci sono troppi router vicini che interferiscono con il punteggio di affidabilità restituito dall'API di geolocalizzazione WiFi.
  • Se ci sono più reti tra -60 e -40dB è improbabile che SkyLift restituisca una nuova geolocalizzazione

Suggerimenti per migliorare le prestazioni:

  • Riduci il numero di segnali WiFi vicini a meno di 5 reti @ meno di -80dB
  • Dovrebbe funzionare comunque con 10+ reti se la loro potenza del segnale è inferiore a -80dB
  • Monitora le reti vicine usando NetSpot (versione di prova gratuita) e allontanati dai router WiFi esistenti se possibile
  • Allontanati dalle finestre dove il segnale GPS satellitare è più forte
  • Assicurati che il telefono sia vicino all'ESP8266 (idealmente a 0,1 - 1m di distanza in zone WiFi affollate, 1-2m in zone WiFi a media densità, fino a 10m in zone WiFi a bassa densità) e lontano dai router vicini.
  • Per distanze oltre i 10m puoi tagliare l'antenna a traccia del PCB e saldare un connettore SMA per aggiungere un'antenna +7dB o un amplificatore WiFi oppure, più semplicemente, aggiungere più dispositivi SkyLift per fungere da ripetitori
  • I tetti e le strutture metalliche attenuano i segnali WiFi vicini
  • Cartongesso, legno e cemento sono permeabili al WiFi e non attenuano notevolmente il segnale
  • Le persone, composte per circa il 65% da acqua, sono assorbitori naturali di WiFi (2.4GHz è la frequenza di risonanza dell'acqua) e funzionano smorzando i segnali WiFi vicini in ambienti affollati, con conseguenti prestazioni migliori per lo spoofing della geolocalizzazione nelle aree affollate
  • Le posizioni consigliate per prestazioni ottimali sono bunker e bar o altre aree in cui i segnali GPS, cellulari e WiFi sono ridotti. Ma sentiti libero di sperimentare ovunque.
  • Finora i migliori risultati sono stati ottenuti nel seminterrato della La Gaîté Lyrique, ai concerti e in un ambiente di test controllato (ovviamente).
  • Nota: SkyLift non è una soluzione garantita. Se nelle vicinanze ci sono troppi segnali WiFi in competizione, l'API del servizio di localizzazione restituirà un punteggio di affidabilità basso e ripiegherà sulla triangolazione cellulare o sul GPS satellitare.

Se ti trovi in un luogo chiuso senza altri router WiFi e SkyLift non funziona, apri una segnalazione di issue includendo quanti più dettagli possibile:

  • NetSpot o altra app, risultati della scansione
  • Canali utilizzati dal tuo ESP8266
  • Distanza tra SkyLift e smartphone
  • Se hai una connessione dati attiva sul telefono
  • Tipo di connessione dati disponibile (LTE, 4G, 3G, EDGE, GPRS)
  • iOS o Android e, se non ti dispiace, il modello del telefono

Posizioni Personalizzate

Puoi creare i tuoi dati di posizione SkyLift usando iOS, OSX o l'API Wigle.net. (Le procedure per Android e Linux non sono ancora documentate).

1A) Scansione delle reti WiFi su OSX

python utils/osx_scan_to_json.py -o data/json/my_osx_scan.json

1B) Scansione delle reti WiFi su iOS

Usa la app gratuita AirPort Utility e attiva "Wi-Fi Scanner" in Impostazioni > AirPort Utility. Esegui una scansione WiFi e salvala nelle tue Note sincronizzate o inviala via email a te stesso. Assicurati che ci siano 2 righe prima dei dati CSV. Esempio:

root@kitploit:~
# Make your notes or add title her (saved as 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"

Salva il tuo file in "data/ios/your_scan.txt" e poi esegui:

python utils/ios_to_json.py -i data/ios/your_scan.txt -o data/json/your_scan.json

1C) Usa l'API Wigle

Registrati su https://wigle.net per ottenere una chiave API e un token API (attualmente è gratuito). I risultati con Wigle possono variare o non funzionare. I loro dati sono crowdsourced e non verificati o potrebbero essere obsoleti. Per i migliori risultati, crea la tua scansione WiFi sul posto.

python utils/wigle_to_json.py --lat 37.484581 --lon -122.147921 --radius 3 -o data/json/wigle_test.json

2) Converti iOS (csv) in JSON

python utils/ios_to_json.py -i data/ios/your_scan.txt -o data/json/your_scan.json

3) Converti (qualsiasi) JSON per lo sketch Arduino

python utils/json_to_arduino.py -i data/ios/your_scan.json -o data/ino/your_scan.txt

Il testo di output sarà simile a:

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


Quindi, fai una copia di "skylift_v03_embassy" e sostituisci i dati WiFi esistenti con i tuoi dati personalizzati.

Sperimentale: nota le due opzioni per i canali. Se utilizzi lo sketch in modalità standalone (senza schermo), potresti voler cambiare i canali. Per usare SkyLift in una grande stanza, sembra funzionare meglio utilizzare più unità ripetitrici su canali casuali e la versione con schermo sui canali 1, 6 e 11. Se stai usando un solo dispositivo, restare sui canali 1, 6 e 11 tutti insieme ha fornito finora i migliori risultati.


Sui servizi di geolocalizzazione WiFi

Servizi di geolocalizzazione è un termine ampio che indica l'insieme delle tecnologie utilizzate per determinare la posizione geografica di uno smartphone. Le quattro tecnologie principali utilizzate per i servizi di geolocalizzazione sono (1) GPS, (2) triangolazione cellulare, (3) Bluetooth e (4) posizionamento WiFi. A seconda di quale di questi 4 segnali è disponibile, uno smartphone tenterà di determinare la sua posizione geografica con la massima precisione e il minor tempo di attesa.

SkyLift fa uso di un exploit nei servizi di geolocalizzazione WiFi scoperto per la prima volta nel 2008 dal ricercatore svizzero Srdjan Capkun all'ETH di Zurigo. Nonostante il loro avvertimento anticipato nel 2008, tutte le principali aziende di smartphone hanno continuato a integrare il WiFi come tecnologia di geolocalizzazione fondamentale. La vulnerabilità esisteva ancora nel 2012, quando Bengt Sjölen e Gordan Savicic l'hanno sfruttata creativamente per il loro progetto del 2012 Packetbridge (<- buona documentazione).

La vulnerabilità è difficile da gestire perché le aziende di geolocalizzazione WiFi presumono che il router WiFi di tutti, incluso quello dentro casa tua, faccia parte del loro prodotto commerciale di geolocalizzazione. Che questo sia legale o etico dovrebbe essere dibattuto più apertamente.

Ciò che è certo, ed è già stato dimostrato nel 2008, è che i dati di geolocalizzazione degli smartphone possono essere facilmente falsificati e non dovrebbero essere considerati affidabili. Eppure facciamo affidamento su questa tecnologia per un numero crescente di applicazioni critiche. Ad esempio, l'immagine qui sotto mostra con quanta facilità sono riuscito a ingannare il servizio Find my Phone di Apple facendogli credere che il mio dispositivo si trovasse all'Ambasciata dell'Ecuador a Londra. (Immagine realizzata con il dispositivo effettivamente a Berlino, funziona con dispositivi desktop o mobili).

Find my Phone all'Ambasciata dell'Ecuador

Ulteriori letture

  • Panoramica sui Beacon Frame
  • Pacchetto Beacon Frame in maggiore dettaglio
  • Spoofing dei servizi di geolocalizzazione WiFi su Hackaday
  • Non fidarti della geolocalizzazione
  • Device-to-Identity Linking Attack Using Targeted Wi-Fi Geolocation Spoofing
  • Post su SkyLift V0.1 con MDK3 + Raspberry Pi

Dichiarazione di non responsabilità

  • I giocatori di Pokémon e altri lo usino a proprio rischio
  • Attualmente destinato esclusivamente a scopi di ricerca e artistici
  • Controlla le normative WiFi locali prima dell'uso
  • Dopo una trasmissione prolungata, i BSSID potrebbero essere inseriti nella blacklist o addirittura associati a un'altra posizione (questo è successo al FACT Liverpool, cosa che potrebbe rivelare la tua posizione ad altri utenti o essere usata creativamente per un effetto Triangolo delle Bermuda).
  • SkyLift non è un dispositivo di spoofing GPS. Per lo spoofing GPS a 1.5GHz, vedi Spoof GPS location with low cost TX SDRs oppure Software-Defined GPS Signal Simulator
  • SkyLift è attualmente un dispositivo solo a 2.4GHz
  • SkyLift non è una soluzione garantita

SkyLift alle mostre:

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

Crediti SkyLift:

  • Concetto originale sviluppato in collaborazione con !Mediengruppe Bitnik (DE)
  • SkyLift V0.1 sviluppato in collaborazione con Surya Mattu (US)
  • Consulenza tecnica di Julian Oliver (DE)
  • Assistenza alla ricerca e contributi allo sviluppo Python: Leon Eckert (US/DE)
  • Installazione "Welcome to Ecuador" (2016) curata da Aude Launay per Zoo Galerie
  • Codice proof of concept dei Beacon Frame per ESP8266 di https://github.com/kripthor/WiFiBeaconJam
  • Schloss Solitude Web Residency
Scarica lo strumento