Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
skylift — Spoofing de Geolocalização WiFi com o ESP8266 | Kitploit
Ferramentas/GitHubGitHub/awesome-pentest-gadgets/skylift
Segurança de Sistemas EmbarcadosAuditoria de Wi-FiExploraçãoSegurança Sem FioSegurança de Hardware e IoTRed Teaming
GitHubawesome-pentest-gadgets/skylift

skylift

Spoofing de Geolocalização WiFi com o ESP8266

Ver Repositório
836há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

SkyLift V0.4

Será publicado em 15 de junho

  • python3
  • click
  • fluxo de análise de CLI mais fácil de usar
  • corrigir carimbo de data/hora

SkyLift V0.3

SkyLift é um dispositivo de falsificação de geolocalização de baixo custo. Atualmente usa o ESP8266 para transmitir quadros de beacon WiFi, explorando uma vulnerabilidade antiga (2008) nos serviços de geolocalização WiFi.

Esta 3ª versão de protótipo do SkyLift foi desenvolvida durante uma residência web com a Akademie Schloss Solitude e o ZKM. Leia uma entrevista sobre o projeto. Ou monte o seu próprio com as instruções abaixo por menos de US$ 5.

Atualizações

  • 13 de maio de 2017: adicionada uma nova varredura da palestra de John Kiriakou (delator da CIA) no Gruener Salon em Berlim

O SkyLift foi originalmente desenvolvido em colaboração com Surya Mattu para a mostra Welcome to Ecuador! do !Mediengruppe Bitnik, sala Assange, na Zoo Galerie em Nantes, em 2016. O desenvolvimento desta versão atualizada, V0.3, começou em novembro de 2016 e foi finalmente lançada em maio de 2017 com o apoio de uma residência web no Schloss Solitude. Esta versão traz várias melhorias em relação ao sistema inicial (SkyLift V0.1), incluindo:

  • redução do custo de montagem de US$ 50 para cerca de US$ 5
  • redução do tempo de configuração da tecnologia principal de várias horas para cerca de 15 minutos
  • operação aprimorada para o usuário (basta fornecer energia USB)
  • desempenho aprimorado por meio de salto de canal
  • estrutura de pacote aprimorada (byte de intervalo de carimbo de data/hora adicionado)
  • opção de SSID oculto (nulo) "\x00" adicionada
  • scripts utilitários adicionados para criar locais personalizados
  • tecnologia isolada em um único dispositivo
  • OLED opcional adicionado para exibição

Para informações sobre o SkyLift original (V0.1), consulte https://ahprojects.com/notebook/2016/skylift-geolocation/

O SkyLift é um projeto de código aberto mantido por Adam Harvey que investiga vulnerabilidades de segurança e oportunidades criativas nos serviços de geolocalização de smartphones voltados ao consumidor.

Se você tiver interesse em obter um dispositivo completo e pronto para uso, inscreva-se na minha lista de e-mails em https://undisclosed.cc/.

Início Rápido

  • Compre um ESP8266 NodeMCU 12 ou 12E | eBay (mais barato) ou Amazon.com (mais rápido)
  • git clone https://github.com/adamhrv/skylift/
  • Em "arduino/skylift_v03_embassy", carregue o sketch "skylift_v03_embassy.ino"
  • Certifique-se de que o serviço de geolocalização WiFi do seu smartphone esteja ativado
  • Posicione o ESP8266 a 1 - 2 m do telefone (a 0,25 - 0,5 m em áreas WiFi congestionadas)
  • Configuração completa e solução de problemas abaixo

Configuração

O que você vai precisar:

  • Arduino 1.6.12+
  • ESP8266 NodeMCU 12 ou 12E | eBay, Amazon.com, Adafruit Huzzah
  • Cabo USB micro para programação
  • Bateria USB 5V (opcional)

Com display OLED (opcional):

  • Display OLED | eBay, Amazon.com
  • PCB 3x7cm (somente se usar display OLED) | Amazon.com
  • Ferro de solda
  • Biblioteca OLED Adafruit_SSD1306
  • Bibliotecas ESP8266: "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • Cortador de fios para aparar os pinos após a soldagem

Tanto o display OLED quanto o ESP8266 NodeMCU podem ser comprados pela metade do preço no eBay se você estiver disposto a esperar de 1 a 2 semanas pela entrega. O ESP8266 pode custar a partir de US$ 3.

Scripts de Teste

Testar WiFi

  • Certifique-se de estar usando uma versão recente do Arduino (1.6.12 foi usada para a compilação)
  • Certifique-se de ter as placas ESP8266 instaladas. Em Preferências > Placas Adicionais, adicione "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • Em Ferramentas > Placa: selecione "NodeMCU 0.9 (ESP12 Module)" ou a 12E
  • Teste com o sketch Arduino/test_single_beacon_frame
  • Verifique suas redes WiFi. O nome Network1 deve estar visível no canal 1.

Testar Tela OLED

  • conecte o OLED ao ESP8266 na parte traseira da PCB
  • remova o plástico preto dos pinos para um perfil mais baixo
  • Conecte o pino D2 do ESP8266 -> pino SDA do OLED
  • Conecte o pino D3 do ESP8266 -> pino SCL do OLED
  • Conecte PWR (3.3V)
  • Conecte GND
  • Carregue o sketch Arduino/test_oled_screen
  • O texto "Scrolling Text Demo 123 456" deve aparecer rolando pela tela

Embaixada do Equador

Testar o SkyLift com a Localização da Embaixada do Equador

  • Carregue o sketch Arduino/skylift_v03_embassy
  • Certifique-se de ter ativado os serviços de localização WiFi no seu telefone
  • Certifique-se de ter uma conexão de dados ativa (celular ou WiFi. Seu endereço IP não importa)
  • Abra seu aplicativo de mapas preferido (ou qualquer aplicativo que use sua localização)
  • Se não funcionar, há vários motivos. O mais provável é que haja muitos roteadores próximos interferindo na pontuação de confiança retornada pela API de geolocalização WiFi.
  • Se houver várias redes a -60 a -40dB, é improvável que o SkyLift retorne uma nova geolocalização

Dicas para melhorar o desempenho:

  • Reduza o número de sinais WiFi próximos para menos de 5 redes a menos de -80dB
  • Deve funcionar mesmo com 10+ redes se a intensidade do sinal delas for inferior a -80dB
  • Monitore as redes próximas usando o NetSpot (versão de avaliação gratuita) e afaste-se dos roteadores WiFi existentes, se possível
  • Afaste-se das janelas, onde o sinal GPS baseado em satélite é mais forte
  • Certifique-se de que o telefone esteja perto do ESP8266 (idealmente a 0,1 - 1 m de distância em zonas WiFi movimentadas, 1-2 m de distância em zonas WiFi de densidade média, até 10 m de distância em zonas WiFi de baixa densidade) e longe dos roteadores próximos.
  • Para distâncias acima de 10 m, você pode cortar a antena de trilho da PCB e soldar um conector SMA para adicionar uma antena de +7dB ou um amplificador WiFi ou, mais simplesmente, adicionar vários dispositivos SkyLift para atuarem como repetidores
  • Telhados e estruturas metálicas atenuarão os sinais WiFi próximos
  • Drywall, madeira e concreto são permeáveis ao WiFi e não atenuarão o sinal de forma perceptível
  • Pessoas, compostas por cerca de 65% de água, são absorvedoras naturais de WiFi (2.4GHz é a frequência de ressonância da água) e funcionarão para amortecer os sinais WiFi próximos em ambientes lotados, resultando em melhor desempenho para falsificação de geolocalização em áreas movimentadas
  • Os locais recomendados para desempenho ideal são porões e bares ou outras áreas onde os sinais de GPS, celular e WiFi são reduzidos. Mas sinta-se à vontade para experimentar em qualquer lugar.
  • Os melhores resultados até agora foram obtidos no subsolo do La Gaîté Lyrique, em shows e em um ambiente de teste controlado (é claro).
  • Observação: SkyLift não é uma solução garantida. Se houver muitos sinais WiFi concorrentes por perto, a API do serviço de localização retornará uma pontuação de confiança baixa e recorrerá à triangulação celular ou ao GPS baseado em satélite.

Se você estiver em um local fechado sem outros roteadores WiFi e o SkyLift não funcionar, abra um relatório de problema e inclua o máximo de detalhes que puder:

  • Resultados de varredura do NetSpot, ou de outro aplicativo
  • Canais usados pelo seu ESP8266
  • Distância do SkyLift ao smartphone
  • Se você tem uma conexão de dados ativa no seu telefone
  • Conexão de dados disponível (LTE, 4G, 3G, EDGE, GPRS)
  • iOS ou Android e, se não se importar, o modelo do telefone

Locais Personalizados

Você pode criar seus próprios dados de localização do SkyLift usando iOS, OSX ou a API do Wigle.net. (Os processos para Android e Linux ainda não foram documentados).

1A) Escanear redes WiFi no OSX

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

1B) Escanear redes WiFi no iOS

Use o aplicativo gratuito AirPort Utility e ative o "Wi-Fi Scanner" em Ajustes > AirPort Utility. Faça uma varredura WiFi e salve-a em suas Notas sincronizadas ou envie-a por e-mail para você mesmo. Certifique-se de que haja 2 linhas antes dos dados CSV. Exemplo:

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"

Salve seu arquivo em "data/ios/your_scan.txt" e então execute:

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

1C) Usar a API Wigle

Registre-se em https://wigle.net para obter uma API Key e um API Token (atualmente é gratuito). Os resultados com o Wigle podem variar ou podem não funcionar. Os dados deles são crowdsourced e não verificados, ou podem estar desatualizados. Para obter os melhores resultados, crie sua própria varredura WiFi no local.

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

2) Converter iOS (csv) para JSON

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

3) Converter (qualquer) JSON para o sketch Arduino

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

A saída de texto será algo como:

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


Em seguida, faça uma cópia de "skylift_v03_embassy" e substitua os dados WiFi existentes pelos seus dados personalizados.

Experimental: observe as duas opções para os canais. Se você estiver usando o sketch no modo autônomo (sem tela), talvez queira alterar os canais. Para usar o SkyLift em uma sala grande, parece funcionar melhor usar múltiplas unidades repetidoras em canais aleatórios e a versão com tela nos canais 1, 6 e 11. Se você estiver usando apenas um dispositivo, continuar usando os canais 1, 6 e 11 juntos tem fornecido os melhores resultados até agora.


Sobre os Serviços de Geolocalização WiFi

Serviços de Geolocalização é um termo amplo para o conjunto de tecnologias usadas para determinar a localização geográfica de um smartphone. As quatro tecnologias principais usadas para serviços de geolocalização são (1) GPS, (2) triangulação celular, (3) Bluetooth e (4) posicionamento WiFi. Dependendo de quais desses 4 sinais estão disponíveis, um smartphone tentará determinar sua localização geográfica com a maior precisão e o menor tempo de espera.

O SkyLift utiliza uma exploração dos serviços de geolocalização WiFi que foi descoberta pela primeira vez em 2008 pelo pesquisador suíço Srdjan Capkun no ETH Zurique. Apesar do alerta feito em 2008, todas as grandes empresas de smartphones continuaram a integrar o WiFi como tecnologia central de geolocalização. A vulnerabilidade ainda existia em 2012, quando Bengt Sjölen e Gordan Savicic a exploraram criativamente em seu projeto de 2012 Packetbridge (<- boa documentação).

A vulnerabilidade é difícil de resolver porque as empresas de geolocalização WiFi presumem que o roteador WiFi de todos, incluindo o da sua casa, faz parte de seu produto comercial de geolocalização. Se isso é legal ou ético deveria ser debatido mais abertamente.

O que é certo, e já foi comprovado em 2008, é que os dados de geolocalização de smartphones podem ser facilmente falsificados e não deveriam ser confiáveis. No entanto, dependemos dessa tecnologia para um número cada vez maior de aplicações críticas. Por exemplo, a imagem abaixo mostra como foi fácil enganar o serviço Encontre meu iPhone da Apple para que pensasse que meu dispositivo estava na Embaixada do Equador em Londres. (Imagem feita com o dispositivo realmente em Berlim; funciona com desktop ou dispositivo móvel).

Encontre meu iPhone na Embaixada do Equador

Leitura Complementar

  • Visão geral do Beacon Frame
  • Pacote Beacon Frame em mais profundidade
  • Spoofing de serviços de geolocalização WiFi no Hackaday
  • Não confie em geolocalização
  • Ataque de vinculação dispositivo-identidade usando falsificação de geolocalização WiFi direcionada
  • Post do SkyLift V0.1 sobre o uso de MDK3 + Raspberry Pi

Aviso Legal

  • Jogadores de Pokémon, e outros, usem por sua conta e risco
  • Atualmente destinado apenas a fins de pesquisa e artísticos
  • Verifique as regulamentações locais de WiFi antes de usar
  • Após um período prolongado de transmissão, os BSSIDs podem ser colocados na lista negra ou até mesmo ser associados a outro local (isso aconteceu no FACT Liverpool, o que pode revelar sua localização a outros usuários, ou ser usado criativamente para um efeito de Triângulo das Bermudas.
  • O SkyLift não é um dispositivo de falsificação de GPS. Para falsificação de GPS de 1.5GHz, consulte Spoof GPS location with low cost TX SDRs ou Software-Defined GPS Signal Simulator
  • O SkyLift é atualmente um dispositivo apenas para 2.4GHz
  • SkyLift não é uma solução garantida

SkyLift em Exposições:

  • Dark Technology Dark Web. Spektrum. Berlim. 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. I

Créditos do SkyLift:

  • Conceito original desenvolvido em colaboração com !Mediengruppe Bitnik (DE)
  • SkyLift V0.1 desenvolvido em colaboração com Surya Mattu (EUA)
  • Assessoria técnica de Julian Oliver (DE)
  • Assistência de pesquisa e contribuições de desenvolvimento em Python: Leon Eckert (EUA/DE)
  • Instalação "Welcome to Ecuador" (2016) com curadoria de Aude Launay para a Zoo Galerie
  • Código de prova de conceito do quadro Beacon Frame para ESP8266 por https://github.com/kripthor/WiFiBeaconJam
  • Residência Web Schloss Solitude
Baixar ferramenta