¡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.
¿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?
- Lo primero es sacar la tarjeta micro sd que hay en su interior y meterla en el adaptador, para conectarlo al ordenador
- 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™ Version | Device Compatibility |
---|---|
1.0 | Original USB Rubber Ducky (USB-A Only) |
2.x | Bash Bunny, Key Croc, Packet Squirrel, LAN turtle, Shark Jack, O.M.G Devices |
3.0 | New 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/