¡Cuidado con este USB!

December 5, 20224 minutes

Rubber ducky es un pendrive con unas características especiales, a diferencia de un pendrive normal en el que puedes guardar archivos, fotos, etc. El Rubber Ducky, es un dispositivo que inyecta pulsaciones de teclas previamente definidas.

¡Cuidado con este USB!

¿Qué es un USB Rubber Ducky?

Rubber ducky es un pendrive con unas características especiales, a diferencia de un pendrive normal en el que puedes guardar archivos, fotos, etc. El Rubber Ducky, es un dispositivo que inyecta pulsaciones de teclas previamente definidas. Fue desarrollado por hak5 y se puede conseguir desde su web actualmente por $79.99.

Lo que lo hace tan peligroso es que los antivirus no lo detectan, porque los ordenadores lo interpretan como un teclado.

El Rubber ducky ha salido en alguna serie como por ejemplo Mr.Robot.

(Escena mr.robot)

¿Como usarlo?

  1. Lo primero es sacar la tarjeta micro sd que hay en su interior y meterla en el adaptador, para conectarlo al ordenador

  1. Ahora toca crear los scripts para indicarle que es lo que tiene que hacer en cada momento. Para ello se usa el lenguaje de programación Duckyscript

DuckyScript

Es un lenguaje muy sencillo que se puede usar desde cualquier editor de texto. Además sirve para más dispositivos de hak5 como por ejemplo:

DuckyScript™ VersionDevice Compatibility
1.0Original USB Rubber Ducky (USB-A Only)
2.xBash Bunny, Key Croc, Packet Squirrel, LAN turtle, Shark Jack, O.M.G Devices
3.0New USB Rubber Ducky (USB-A & USB-C)

REM (Comentarios)

Para hacer comentarios se usa REM

REM Esto no se va a interpretar

DELAY

El comando DELAY índica al USB que se pare momentáneamente, esto es útil para scripts que por ejemplo abren una ventana o una aplicación y tiene que esperar a que cargue

DELAY 1000

STRING

STRING sirve para que escriba una frase o palabra, el usb automáticamente aprieta el shift en las mayúsculas y la barra espaciadora para los espacios, pero no interpreta los espacios finales

STRING Hello world!

Lo que escribirá el RubberDucky

Hello world!

STRINGLN

Es como el string pero al final hace un enter

Teclas movimiento

Se pueden usar para desplazarse por una ventana o aplicación.

  • UP DOWN LEFT RIGHT
  • UPARROW DOWNARROW LEFTARROW RIGHTARROW
  • PAGEUP PAGEDOWN HOME END
  • INSERT DELETE DEL BACKSPACE
  • TAB
  • SPACE

Teclas del sistema

Son utilizadas principalmente por el sistema operativo para funciones especiales y pueden usarse para interactuar con áreas de texto y navegar por la interfaz de usuario.

  • ENTER
  • ESCAPE
  • PAUSE BREAK
  • PRINTSCREEN
  • MENU APP
  • F1 F2 F3 F4 F5 F6 F7 F8 F9 F0 F11 F12

Teclas de modificación

Básicas

Son teclas que se combinan con otra tecla para realizar una función especial

  • SHIFT
  • ALT
  • CONTROL CTRL
  • COMMAND
  • WINDOWS GUI
REM Ejemplo de teclas de modificación

REM Windows Run
GUI r

REM Cerrar Ventana
ALT F4

REM Pegar
CTRL c
Avanzadas

Se pueden combinar entre ellas

  • CTRL SHIFT
  • ALT SHIFT
  • COMMAND CTRL
  • COMMAND CTRL SHIFT
  • COMMAND OPTION
  • COMMAND OPTION SHIFT
  • CONTROL ALT DELETE
Independientes

Para pulsar una tecla modificadora sola se tiene que poner antes INJECT_MOD

REM Ejemplo presionando la tecla de Windows sola

INJECT_MOD
WINDOWS

Teclas de Bloqueo

Las teclas de bloqueo alternan entre activado y desactivado

  • CAPSLOCK
  • NUMLOCK
  • SCROLLOCK

Botón

Dentro del Rubber Ducky hay un pequeño botón el cual se puede combinar con los scripts, por defecto, al pulsarlo reinicia el script que tiene cargado, pero se puede modificar su función:

WAIT_FOR_BUTTON_PRESS

Sirve para pausar el script hasta que se presione el botón

REM Ejemplo uso de WAIT_FOR_BUTTON_PRESS

STRING Hello World!
WAIT_FOR_BUTTON_PRESS
STRING Has presionado el botón...
BUTTON_DEF

Define una función que se ejecutará cuando se presione el botón en cualquier momento dentro del script, siempre que el botón no esté ya en uso por el comando WAIT_FOR_BUTTON_PRESS u otra función similar.

BUTTON_DEF
    STRING Has presionado el botón.
END_BUTTON
DISABLE_BUTTON y ENABLE_BUTTON

Como su propio nombre indica, sirve para desactivar y activar el botón.

DISABLE_BUTTON
REM Botón desactivado

ENABLE_BUTTON
REM Botón activado

LED

El Ruber Ducky En su interior tiene un pequeño LED el cual se puede controlar en los scripts

LED_OFF

Apaga el led

LED_R

Pondrá el led rojo

LED_G

Pondrá el led verde

¿Dónde Programarlo?

En el apartado de soporte del RubberDucky se puede descargar un JSEncoder, es un archivo con extension .html. En linux se abre con firefox jsencoder.html y en windows: click derecho, abrir con, navegador

Cambiar idioma de los scripts

El Rubber Ducky tiene la distribución de teclado inglés por defecto, para poder cambiarlo hay que descargar el idioma deseado desde https://github.com/hak5/usbrubberducky-payloads/tree/master/languages para después ponerlo en el jsencoder

Primer hola mundo

Para que el Rubber Ducky haga un hola mundo, hay que poner en el jsencoder lo sieguiente:

DELAY 200
STRING Hola Mundo!!!

Ahora solo hace falta clicar a generate payload y se descargará un archivo llamado inject.bin, el cual se tiene que poner en la tarjeta micro sd (solo puede haber un inject.bin, (borra los antiguos).

Como protegerse

Lo primero y más obvio es no dejarte ordenadores, móviles, impresoras, etc… desbloqueados.

Existe un programa para windows que se queda corriendo en segundo plano y te protege de el Rubber ducky y dispositivos similares. No lo e probado pero por lo que e visto por internet, cuando detecta el RubberDucky lo para, bloquea el ordenador y guarda todas las pulsaciones de teclado del RubberDucky para ver las intenciones del atacante

https://lospi.net/beamgun/