BadUSB, fácil y sencillo

Hace bastante tiempo se descubrió una nueva amenaza, llamada BadUSB, que venía en forma de hardware... Concretamente en forma de USB, que en algunos casos da el pego de la típica memoria USB que todo el mundo tiene y conecta y desconecta al ordenador cuando quiere almacenar algún tipo de información o consultar otra que había guardado anteriormente.

Para los que no conozcan estos dispositivos el nombre lo dice todo: BadUSB, porque estos USBs no se utilizan como almacenamiento sino para hacerse pasar por otro dispositivo como por ejemplo: teclados, ratones... que ejecutarán unas ordenes programadas previamente por el atacante. Y es que este falso USB al ser conectado al ordenador o dispositivo objetivo podrá ejecutar comandos en la terminal, instalar una puerta trasera para posteriormente acceder a ese ordenador, robar credenciales y multitud de cosas más.

Todo esto es debido a que los falsos USBs al ser conectados a una máquina objetivo se ejecutan con otro firmware que no es el normal de una memoria USB (como aparentaban), haciéndose pasar por cualquier otro tipo de dispositivo y siendo capaces de ejecutar cualquier clase de acción sobre la máquina a la que está conectada sin que el usuario en cuestión se entere.

Existen en el mercado diversos dispositivos con estas características pero el que más se adecua a lo que estoy hablando es el USB Rubber Ducky, un dispositivo creado por Hak5.

El USB Rubber Ducky actúa como un teclado que ejecuta y teclea las ordenes que hayamos almacenado sobre su micro SD con tan solo haberlo conectado a otro dispositivo.

El precio de este USB son 44,99$ más los gastos de envió, que son algo más de 10$ (para España). Un dispositivo algo caro, ¿no creéis? Así que, que me diríais si pudiésemos conseguir lo mismo por aproximadamente la mitad de precio que el USB Rubber Ducky...Pues sí, podemos montarnos nuestro propio USB Rubber Ducky a la mitad de precio, todo esto gracias a Teensy que funciona con Arduino

Para montarlo necesitamos: una placa Teensy, tener instalado Arduino y un cable USB. 
Muchos me dirán que es más sencillo todo con el USB Rubber Ducky porque la sintaxis al programar el USB es más sencilla, más fácil y rápida que programar con Arduino.

Eso es cierto, pero hoy traigo una muy buena herramienta para ésto, Brutal, una herramienta desarrollada por el grupo ScreetSec (creadores de TheFatRat o LALIN) y que ha sido estrenada hace unos días; esta herramienta tiene diversos módulos que nos proporcionan payloads escritos para Arduino con diversas funciones, que nos facilitarán mucho las cosas a la hora de usar nuestro Teensy como un BadUSB.

La herramienta tiene los siguientes módulos:
  1. Genera un payload que ejecute una conexion TCP reversa a través de PowerShell.
  2. Descarga y ejecuta un backdoor.
  3. Obtiene las credenciales gracias a MimiKatz.
  4. Genera payloads para gastar bromas.
  5. Genera payloads para administrar Windows.
  6. Genera diversos ataques para Windows. 
Instalación y ejecución de esta herramienta:
  • Instalar los paquetes de PaensyLib en la librería de Arduino.
  • git clone https://github.com/Screetsec/Brutal.git
  • cd Brutal
  • chmod +x Brutal.sh
  • ./Brutal.sh
PoC de Brutal:

Comentarios

  1. Buenas,¿Se necesita alguna version concreta de Teensy o valdria cualquiera?

    ResponderEliminar
  2. Yo lo probe con la 3.2 por si te sirve de referencia

    ResponderEliminar
  3. La mayoría conocerán esto por Mr Dodot pero ya tiene su tiempo e.e

    ResponderEliminar
  4. Hola tengo un problema que es el teclado puesto que si quiero introducir por teclado caracteres, este utiliza el teclado americano. ¿Alguna idea?

    ResponderEliminar
  5. me e comprado un bad usb arduino y voy perdidisimo no es lo que yo pensaba. creia que era un usb que al ponerlo en el puerto automaticamente empezaba a coger la informacion prefijada pero veo que esto es todo un mundo. alguien sabe de algun video que lo explique para tontos?

    ResponderEliminar
    Respuestas
    1. Aqui Marc https://www.youtube.com/watch?v=pXEr41tnccs

      Eliminar
    2. Es mucho más facil programar asi.
      como explica en este vídeo https://www.youtube.com/watch?v=pXEr41tnccs

      Eliminar
    3. Hola, esto valdría con un arduino también?

      Eliminar

Publicar un comentario