
KeySweeper é um dispositivo furtivo baseado em Arduino, camuflado como um carregador de parede USB funcional, que espiona, descriptografa, registra e reporta (via GSM) sem fio e passivamente todas as teclas digitadas de qualquer teclado sem fio da Microsoft nas proximidades.
KEYSWEEPER // SIGINT // SAMY.PL // REL TO ALL // HACKING APLICADO
KeySweeper é um dispositivo discreto baseado em Arduino, camuflado como um carregador de parede USB funcional, que captura, descriptografa, registra e envia de volta (via GSM) sem fio e passivamente todas as teclas digitadas de qualquer teclado sem fio da Microsoft nas proximidades.
Todas as teclas digitadas são registradas online e localmente. Alertas por SMS são enviados ao digitar palavras-gatilho, nomes de usuário ou URLs, expondo senhas. Se desconectado, o KeySweeper continua operando usando sua bateria interna e recarrega automaticamente ao ser religado. Uma ferramenta baseada na web permite o monitoramento ao vivo das teclas digitadas.
Demonstração ao vivo e detalhes completos disponíveis no vídeo:
Ponto de contato: @SamyKamkar // [email protected] // http://samy.pl
Lançado: 12 de janeiro de 2015
Código-fonte / esquemático: https://github.com/samyk/keysweeper
Custo unitário: $10 - 80 dependendo da operação
Status: Operacional, código aberto, hardware aberto, desclassificado.
KeySweeper é um dispositivo discreto baseado em Arduino, camuflado como um carregador de parede USB funcional, que captura, descriptografa, registra e envia de volta sem fio e passivamente todas as teclas digitadas de qualquer teclado sem fio da Microsoft (que usa um protocolo RF proprietário de 2.4GHz) na área.
As teclas digitadas são enviadas de volta ao operador do KeySweeper pela Internet via um chip GSM opcional, ou podem ser armazenadas em um chip flash e entregues sem fio quando um dispositivo KeySweeper secundário entra no alcance sem fio do KeySweeper alvo. Uma ferramenta baseada na web permite o monitoramento ao vivo das teclas digitadas.
O KeySweeper tem a capacidade de enviar alertas por SMS quando certas teclas são digitadas, por exemplo, "www.bank.com". Se o KeySweeper for removido da energia CA, ele parece desligar, no entanto continua operando de forma encoberta usando uma bateria interna que é recarregada automaticamente ao ser reconectado à energia CA.
O KeySweeper estende o trabalho de Travis Goodspeed no projeto goodfet.nrf e de Thorsten Schröder e Max Moser do projeto KeyKeriki v2.0.
$3 - 30: Um microcontrolador Arduino ou Teensy pode ser usado. Na minha montagem, uso um Arduino Pro Mini de 3.3v devido ao seu perfil muito fino.
$1: Eu uso um chip RF nRF24L01+ de $1 que se comunica usando GFSK em 2.4GHz. Mais detalhes estão disponíveis abaixo, e esses chips podem ser comprados por apenas $1 no eBay. Esses chips só podem se comunicar usando protocolos proprietários e não foram feitos para captura de pacotes; no entanto, veremos abaixo que podem ser usados de maneiras inteligentes para capturar de forma promíscua.
$6: Eu uso um carregador USB CA barato (retificador) que converte energia CA em 5V CC, e este que linkei tem um parafuso que facilita a abertura (destruí alguns outros no processo de abertura). Se estiver usando a versão GSM do KeySweeper, na verdade uso dois carregadores USB — os componentes internos de um carregador pequeno (semelhante ao de um carregador de iPhone) e o invólucro externo de um carregador USB maior.
OPCIONAL ($2): Um chip Flash Serial SPI opcional pode ser usado para armazenar as teclas digitadas. Se você usar a placa GSM FONA abaixo, isso não é necessário, pois as teclas podem ser armazenadas pela internet ao vivo; porém, se desejar uma opção de menor custo, você pode armazenar as teclas neste chip dentro do KeySweeper e obtê-las mais tarde aproximando-se do alcance sem fio de 2.4GHz do dispositivo com um dispositivo secundário, que fará a extração das teclas dele.
A maioria dos microcontroladores tem memória ou EEPROM muito limitada para armazenar dados, daí a vantagem de ter um chip flash para armazenar essas teclas.
OPCIONAL ($45): A Adafruit criou uma placa chamada FONA que permite usar um cartão SIM 2G para enviar/receber SMS, chamadas telefônicas e usar a Internet diretamente do dispositivo.
Com isso, nenhum chip flash é necessário, pois as teclas são imediatamente enviadas a um servidor backend para a coleta adequada de dados. Além disso, se palavras-chave específicas forem digitadas pelos teclados alvo, uma mensagem SMS pode ser enviada para um número especificado para alertar o operador do fato.
OPCIONAL ($3, apenas se usar FONA): A FONA requer um cartão mini-SIM (não um micro-SIM). Eu uso um cartão SIM pré-pago da T-Mobile. Sugiro o uso da T-Mobile, pois eles suportam 2G, enquanto a maioria das outras operadoras já desativou ou está desativando sua rede 2G, e a FONA só suporta 2G para Internet. Certifique-se de obter o tamanho certo do cartão SIM — mais detalhes em requisitos de SIM da FONA aqui.
OPCIONAL ($5 ou mais, apenas se usar FONA): A FONA fornece recarga de bateria LiPo/LiOn integrada, e enquanto o KeySweeper estiver conectado à energia CA, a bateria será mantida carregada, mas ainda assim é necessária. Além disso, o KeySweeper continua operando de forma encoberta com energia da bateria quando é removido da energia CA e começa a recarregar ao ser reconectado à energia CA.
O código-fonte do KeySweeper pode ser obtido integralmente no meu github: https://github.com/samyk/keysweeper
O KeySweeper tem várias partes. O código principal é instalado no microcontrolador, enquanto um backend baseado na web usando jQuery e PHP registra todas as teclas digitadas e fornece uma interface web para monitoramento ao vivo dos teclados alvo.