
KeySweeper es un dispositivo sigiloso basado en Arduino, camuflado como un cargador de pared USB funcional, que de forma inalámbrica y pasiva olfatea, descifra, registra y reporta (a través de GSM) todas las pulsaciones de teclas de cualquier teclado inalámbrico de Microsoft en las cercanías.
KEYSWEEPER // SIGINT // SAMY.PL // REL TO ALL // APPLIED HACKING
KeySweeper es un dispositivo sigiloso basado en Arduino, camuflado como un cargador USB de pared funcional, que intercepta, descifra, registra y reporta (a través de GSM) de forma inalámbrica y pasiva todas las pulsaciones de teclado de cualquier teclado inalámbrico Microsoft en las cercanías.
Todas las pulsaciones se registran en línea y localmente. Se envían alertas SMS al escribir palabras clave, nombres de usuario o URL, exponiendo contraseñas. Si se desconecta, KeySweeper continúa operando con su batería interna y se recarga automáticamente al volver a conectarse. Una herramienta web permite la monitorización de pulsaciones en vivo.
Demostración en vivo y detalles completos disponibles en el video:
Punto de contacto: @SamyKamkar // [email protected] // http://samy.pl
Publicado: 12 de enero de 2015
Código fuente / esquemático: https://github.com/samyk/keysweeper
Costo unitario: $10 - 80 dependiendo de la operación
Estado: Operativo, código abierto, hardware abierto, desclasificado.
KeySweeper es un dispositivo sigiloso basado en Arduino, camuflado como un cargador USB de pared funcional, que intercepta, descifra, registra y reporta de forma inalámbrica y pasiva todas las pulsaciones de teclado de cualquier teclado inalámbrico Microsoft (que usa un protocolo RF propietario de 2.4GHz) en el área.
Las pulsaciones se envían al operador de KeySweeper a través de Internet mediante un chip GSM opcional, o pueden almacenarse en un chip flash y entregarse de forma inalámbrica cuando un segundo dispositivo KeySweeper se acerca al alcance inalámbrico del KeySweeper objetivo. Una herramienta web permite la monitorización de pulsaciones en vivo.
KeySweeper tiene la capacidad de enviar alertas SMS cuando se escriben ciertas pulsaciones, p. ej. "www.bank.com". Si KeySweeper se desconecta de la corriente alterna, parece apagarse, sin embargo continúa operando de forma encubierta usando una batería interna que se recarga automáticamente al volver a conectarse a la corriente alterna.
KeySweeper extiende el trabajo de Travis Goodspeed en el proyecto goodfet.nrf y el de Thorsten Schröder y Max Moser del proyecto KeyKeriki v2.0.
$3 - 30: Se puede usar un microcontrolador Arduino o Teensy. En mi construcción, uso un Arduino Pro Mini de 3.3v debido a su perfil muy delgado.
$1: Uso un chip RF nRF24L01+ de $1 que se comunica usando GFSK sobre 2.4GHz. Más detalles disponibles abajo, y estos chips se pueden comprar por tan solo $1 en eBay. Estos chips solo pueden comunicarse usando protocolos propietarios, y no están diseñados para la interceptación, sin embargo veremos abajo que pueden usarse de maneras ingeniosas para interceptar de forma promiscua.
$6: Uso un cargador USB de CA económico (rectificador) que convierte la corriente alterna en 5v DC, y el que enlazo tiene la suerte de tener un tornillo que facilita abrirlo (he destruido algunos otros en el proceso de apertura). Si se usa la versión GSM de KeySweeper, en realidad uso dos cargadores USB: los internos de un cargador pequeño (similar al de un cargador de iPhone), y la carcasa externa de un cargador USB más grande.
OPCIONAL ($2): Se puede usar un chip Flash Serial SPI opcional para almacenar las pulsaciones. Si usas la placa FONA GSM más abajo, esto no es necesario ya que las pulsaciones se pueden almacenar a través de Internet en vivo, sin embargo si deseas una opción de menor costo, puedes almacenar las pulsaciones en este chip dentro de KeySweeper, y obtenerlas más tarde acercándote al alcance inalámbrico de 2.4GHz del dispositivo con un dispositivo secundario que extraerá las pulsaciones de él.
La mayoría de los microcontroladores tienen memoria o EEPROM muy limitada para almacenar datos, por lo tanto la ventaja de tener un chip flash para almacenar estas pulsaciones.
OPCIONAL ($45): Adafruit ha creado una placa llamada FONA que permite usar una tarjeta SIM 2G para enviar/recibir SMS, llamadas telefónicas, y usar Internet directamente desde el dispositivo.
Usando esto, no se necesita un chip flash ya que las pulsaciones se envían inmediatamente a un servidor backend para la recopilación adecuada de datos. Además, si los teclados objetivo escriben palabras clave específicas, se puede enviar un mensaje SMS a un número designado para alertar al operativo del hecho.
OPCIONAL ($3, solo si se usa FONA): La FONA requiere una tarjeta mini-SIM (no una micro-SIM). Uso una tarjeta SIM prepagada de T-Mobile. Sugiero usar T-Mobile ya que soporta 2G, donde la mayoría de los otros operadores han deprecado o están deprecando su red 2G, y la FONA solo soporta 2G para Internet. Asegúrate de obtener el tamaño correcto de tarjeta SIM: más detalles sobre los requisitos de SIM de FONA aquí.
OPCIONAL ($5 o más, solo si se usa FONA): La FONA proporciona recarga de batería LiPo/LiOn integrada, y mientras KeySweeper esté conectado a la corriente alterna, la batería se mantendrá cargada, pero es necesaria de todos modos. Además, KeySweeper continúa operando de forma encubierta con energía de la batería cuando se desconecta de la corriente alterna, y comienza a recargarse al volver a conectarse a la corriente alterna.
El código fuente de KeySweeper se puede obtener por completo desde mi github: https://github.com/samyk/keysweeper