Un grupo de investigadores de la Universidad Ben-Gurion de Negev en Israel publicó el año pasado en la revista ScienceDirect un interesante artículo en el que identifican 29 formas distintas en las que podría usarse un dispositivo USB para comprometer un equipo.
El propósito de esa investigación fue alertar a los usuarios de las numerosas posibilidades que tiene un atacante de abusar de los dispositivos USB para infectar un sistema y robar de forma encubierta datos de redes protegidas y aisladas. La recomendación del equipo de investigación es que los dispositivos USB estén prohibidos o al menos controlados estrictamente en redes seguras.
Para clasificar estos métodos de explotación crearon además cuatro categorías diferentes según la forma en que se lleve a cabo el ataque:
A) Reprogramando el microcontrolador interno del dispositivo USB. El dispositivo se ve como un dispositivo USB normal (por ejemplo un cargador), pero lleva a cabo las operaciones de otro (por ejemplo un teclado que inyecta pulsaciones de teclas).
B1) Reprogramando el firmware del dispositivo USB para ejecutar acciones maliciosas (como descarga de malware, exfiltración de datos, etc.).
B2) No reprogramando el firmware del dispositivo USB sino aprovechando los fallos en la forma en que los sistemas operativos normalmente interactúan con los protocolos/estándares USB.
C) Ataques eléctricos basados en USB.
Ataques reprogramando el microcontrolador interno del dispositivo USB
1) Rubber Ducky: dispositivo comercial lanzado en 2010. Una vez conectado a un host, el Rubber Ducky se presenta como un teclado e inyecta una secuencia de pulsaciones de teclas precargadas.
2) Plataformas de ataque PHUKD/URFUKED: similar a Rubber Ducky, pero permite a un atacante seleccionar el momento en que inyecta las teclas maliciosas.
3) USBdriveby: anula la configuración de DNS en un host OS X desbloqueado a través de USB en cuestión de segundos mediante la emulación de un teclado y mouse USB.
4) Evilduino: similar a PHUKD/URFUKED, pero utiliza microcontroladores Arduino en lugar de Teensy. También funciona emulando un teclado/mouse y puede enviar teclas y movimientos del cursor del mouse al host de acuerdo con un script precargado.
5) Canal USB no deseado: PoC de un troyano de hardware USB que exfiltra datos basados en canales USB no deseados (como el uso de altavoces USB para filtrar datos).
6) TURNIPSCHOOL (COTTONMOUTH-1): un implante de hardware oculto dentro de un cable USB. Desarrollado por la NSA.
7) Ataque RIT a través de almacenamiento masivo USB: ataque descrito en un documento de investigación. Se basa en cambiar el contenido de los archivos mientras el dispositivo de almacenamiento masivo USB está conectado a la computadora de la víctima.
8) Ataques a dongles USB inalámbricos: una categoría de ataques que Samy Kamkar exploró por primera vez con el lanzamiento de la plataforma de ataque KeySweeper, una herramienta que registra y descifra de forma silenciosa las pulsaciones de tecla de muchos teclados inalámbricos RF de Microsoft.
9) Anulación de puerta de enlace predeterminada: un ataque que utiliza un microcontrolador para falsificar un adaptador USB de Ethernet para anular la configuración de DHCP y secuestrar el tráfico local.
Ataques reprogramando el firmware de dispositivo USB
10) Ataques HID basados en smartphones: descritos por primera vez en un paper para el cual los investigadores crearon controladores de dispositivos Android personalizados para sobrescribir cómo interactuaba Android con dispositivos USB. El controlador malicioso interactuó con la API de gadgets USB de Android para simular el teclado USB y los dispositivos de mouse conectados al teléfono.
11) Anulación de DNS por firmware USB modificado: los investigadores modificaron el firmware de una unidad flash USB y lo usaron para emular un adaptador USB-ethernet, lo que les permitió secuestrar el tráfico local.
12) Emulación de teclado mediante firmware USB modificado: varios investigadores mostraron cómo el envenenamiento del firmware de las unidades flash USB, un atacante podría inyectar pulsaciones de teclado [1, 2, 3].
13) Parche de partición oculta: varios investigadores demostraron cómo una unidad flash USB podría reprogramarse para actuar como un disco normal, creando una partición oculta que no se puede formatear, lo que permite la exfiltración encubierta de datos.
14) Parche de bypass de protección de contraseña: una pequeña modificación del firmware de una unidad flash USB permite a los atacantes evitar las unidades flash USB protegidas con contraseña.
15) Virtual Machine Break-Out: investigadores usaron el firmware USB para escapar de los entornos de máquinas virtuales.
16) Boot Sector Virus: investigadores utilizaron una unidad flash USB para infectar la computadora antes de que arranque [1, 2].
17) iSeeYou: reprogramación del firmware de una clase de cámaras web iSight internas de Apple para que un atacante pueda capturar video de forma encubierta sin la advertencia del indicador LED.
Ataques basados en dispositivos USB no reprogramados
18) CVE-2010-2568: exploit .LNK utilizado por el malware Stuxnet y Fanny
19) USB Backdoor en equipos aislados: ataque utilizado por el malware Fanny, desarrollado por Equation Group (nombre en clave para la NSA). El ataque utiliza almacenamiento oculto USB para guardar comandos preestablecidos que mapean los ordenadores en redes aisladas. La información en las redes se guarda nuevamente en el almacenamiento oculto de la unidad flash USB.
20) Ocultación de datos en dispositivos de almacenamiento masivo USB: una gran colección de trucos para esconder malware o datos robados dentro de una unidad flash USB (por ej. almacenar datos fuera de las particiones normales, ocultar el archivo dentro de una carpeta invisible haciendo el icono de esa carpeta y nombre transparente, etc.).
21) Exploits AutoRun: dependiendo de cómo se configuraron, algunos PC ejecutan automáticamente los archivos predeterminados ubicados en el almacenamiento de un dispositivo USB. Hay una categoría completa de malware dedicada a este malware llamado autorun.
22) Cold Boot Attacks: también conocido como el ataque de volcado de RAM. Los atacantes pueden almacenar un volcado de memoria en una unidad flash USB y extraer los datos de la RAM al arrancar desde un dispositivo USB.
23) Ataques basados en desbordamiento de búfer: varios ataques que se basan en la explotación de desbordamientos de búfer del sistema operativo cuando se inserta un dispositivo USB en un ordenador. Esto sucede porque los sistemas operativos enumerarán los dispositivos y las funciones (ejecutarán ciertas operaciones predeterminadas) cuando se inserte un dispositivo USB [1, 2, 3, 4].
24) Actualización de driver: ataque muy complejo que se basa en la obtención de un certificado de organización de clase 3 de VeriSign y el envío de controladores a Microsoft que se entregan e instalan automáticamente en los PC del usuario cuando se inserta un determinado dispositivo USB. Este ataque es posible, pero muy difícil de lograr en el mundo real.
25) Actualización del firmware del dispositivo (DFU): los atacantes pueden usar la actualización del firmware del dispositivo (DFU), un proceso legítimo compatible con el estándar USB, para actualizar el firmware legítimo local a una versión maliciosa.
26) USB Thief: un software de robo de datos basado en una unidad flash USB que ESET descubrió recientemente.
27) Ataques a teléfonos inteligentes a través del puerto USB: los atacantes pueden esconder y entregar malware (malicioso) a través de cargadores de teléfonos USB.
28) Ataque USBee: hace que el bus de datos de un conector USB emita emisiones electromagnéticas que puedan usarse para filtrar datos.
Ataques eléctricos
29) USB Killer: destruye dispositivos de forma permanente al insertar un dispositivo USB que activa una descarga eléctrica.