¿Cómo detectar un keylogger en un teclado USB? ¿Puede un teclado USB alojar un keylogger?

5

Hace poco recibí un teclado USB. Quiero investigar si el microcontrolador del teclado puede alojar un keylogger y cómo podría interactuar con un sistema operativo Windows. Según tengo entendido, una vez que Windows reconozca el dispositivo USB, obtendrá el controlador apropiado de una base de datos de Microsoft segura, por lo que incluso si está grabando los golpes de tecla, no puede ejecutar ningún SW para enviarlos a ninguna parte. Estoy dejando de lado la posibilidad de tener un keylogger SW.

¿Es posible que un teclado USB pueda alojar un keylogger y que Windows pueda darle el control para ejecutar un proceso para enviar la información a una dirección?

    
pregunta Alex 04.05.2017 - 21:56
fuente

2 respuestas

7

Los registradores de llave USB regulares que filtran sus datos a través de Bluetooth o WiFi se pueden ocultar fácilmente dentro de un teclado. Los registradores de Bluetooth requieren que el atacante llegue al alcance para volcar sus contenidos, pero un adaptador basado en WiFi que está preconfigurado con una clave de red ni siquiera requiere que el atacante esté presente para ganar. Él puede enchufarlo y dejarlo allí para siempre. Dichos keyloggers han estado disponibles comercialmente durante muchos años. Incluso hay implementaciones de código abierto disponibles en el proyecto NSA Playset, que son dispositivos diseñados para emular los dispositivos de espionaje que se encuentran en el catálogo ANT, ahora infame y filtrado de la NSA. Pero ahora, hay nuevas opciones que son aún más sofisticadas.

BashBunny es una implementación de hardware disponible comercialmente de un camaleón USB que realiza este tipo de tareas; El USB Rubber Ducky es simplemente un simulador de teclado malvado. BashBunny funciona ejecutando una pequeña computadora con Linux que emula teclados USB genéricos, dispositivos de almacenamiento masivo USB, puertos seriales USB y / o adaptadores de red USB. Los dispositivos emulados aprovechan los controladores de Windows firmados existentes que utilizan los conjuntos de chips genéricos. Dichos dispositivos pueden filtrar los datos capturados a través de la PC víctima simplemente emulando un teclado USB y escribiendo instrucciones para enviarlos a otra parte.

Este es un ejemplo simplista de cómo podrían filtrar los datos a través de la PC víctima. Imagina que el dispositivo USB oculto contiene un registrador de datos y registra tus secretos por uno o dos días. (El BashBunny no contiene un registrador de teclas; obtiene sus datos al escanear el sistema host. Por supuesto, podría instalar un registrador de claves y luego recolectar los datos más adelante). Cuando llega el momento de enviar los datos, genera mensajes USB. que contienen pulsaciones de teclas, pero el usuario no las está escribiendo. Al presionar <Windows>R , luego escribir http://www.evilhax0rs.invalid/key_logger_dump_page.php * puede mostrar una página de apariencia casi vacía con un cuadro de entrada oculto ubicado tan abajo en la pantalla que necesita barras de desplazamiento para encontrarlo. Ahora, imagine que el teclado malicioso golpea a <Windows><Shift><Down-Arrow> para deslizar la ventana del navegador completamente fuera de la pantalla, ocultándola a la vista del usuario. A continuación, el teclado falso comienza a escribir todas las pulsaciones registradas en el cuadro de entrada (codificado en base64, naturalmente), y pulsa <Enter> cuando termina. Finalmente, después de que todos los secretos hayan abandonado el edificio, teclea <Windows><Shift><Up-Arrow> para restaurar el navegador, luego escribe rápidamente <Control>F4 para cerrar la pestaña. Incluso si el usuario notó que las ventanas se abrían antes de desaparecer de la vista, puede suceder tan rápido que la víctima típica no tendrá la oportunidad de averiguar qué está pasando.

Como dije, estos son productos de código abierto disponibles comercialmente que puede comprar hoy; el código fuente de los dispositivos malvados y los "scripts ducky" que hacen la escritura fantasma están todos alojados en github.

* no es una página real.

    
respondido por el John Deters 04.05.2017 - 23:52
fuente
1

Estoy leyendo la pregunta y veo "podría el teclado" y lo que me viene a la mente es que la mayoría de los teclados que he descifrado tienen un controlador Atmel32u [4,8, X], estos controladores ejecutan un firmware que es programable en campo (aunque es posible que no tengan accesos fáciles para jtag / uart). Hay proyectos de código abierto (Openhardware) que los aficionados al teclado han estado construyendo durante la mayor parte de una década en torno a los procesadores de la serie Atmel32u.

No sería trivial, pero es totalmente posible escribir un keylogger utilizando los puntos de código de código abierto como punto de partida (TMK es el más establecido: enlace ) Podrías usar la misma metodología que un patito de goma y enviar comandos a través del teclado para crear el agente que envía las pulsaciones a la ubicación remota.

Algunos firmware de teclados ya han sido diseñados por ingeniería inversa (nuevamente entusiastas del teclado) y los proveedores incluso han intentado encriptar los paquetes de firmware para evitar esto. Aún así, no está fuera del ámbito de lo posible.

    
respondido por el Ori 06.05.2017 - 16:23
fuente

Lea otras preguntas en las etiquetas