Ducky Script sintaxis y generales

Reproducir
Guía de sintaxis de Ducky Script para USB Rubber Ducky
Introducción a la sintaxis de Ducky Script para automatización con USB Rubber Ducky

Advertencia: Esta guía es para fines educativos y éticos, como pruebas de seguridad en entornos controlados con permiso explícito. El uso no autorizado de USB Rubber Ducky puede violar leyes locales o políticas de plataformas. Asegúrate de cumplir con todas las regulaciones aplicables.

Ducky Script es el lenguaje de programación del USB Rubber Ducky, una herramienta diseñada para automatizar pulsaciones de teclas y realizar pruebas de seguridad simulando un teclado USB.

Los scripts se pueden escribir en cualquier editor de texto ASCII, como Notepad, Vim, Emacs, Nano, Gedit o TextEdit, y luego compilarse en un archivo ejecutable para el dispositivo.

Sintaxis de Ducky Script

La sintaxis de Ducky Script es sencilla y está diseñada para ser fácil de aprender. Cada comando se escribe en una nueva línea, en MAYÚSCULAS, y puede incluir parámetros opcionales. Los comandos simulan pulsaciones de teclas, combinaciones de teclas, cadenas de texto o introducen retrasos.

A continuación, se detalla una lista de los comandos principales, sus funciones y ejemplos de uso. En las tablas, //n// representa un número y //Char// representa caracteres alfanuméricos (A-Z, a-z).

REM

El comando REM indica un comentario y no se ejecuta. Es útil para documentar scripts.

Comando
REM
REM Abre un símbolo del sistema en Windows
GUI r
STRING cmd
ENTER

DEFAULT_DELAY

DEFAULT_DELAY (o DEFAULTDELAY) define un retraso en milisegundos entre cada comando subsiguiente. Es opcional y útil para depuración o para garantizar que los comandos se ejecuten correctamente en sistemas más lentos.

ComandoParámetros
DEFAULT_DELAYNúmero (milisegundos)
DEFAULTDELAYNúmero (milisegundos)
DEFAULT_DELAY 100
REM Retrasa 100 ms entre cada comando subsiguiente
GUI r
STRING cmd
ENTER

DELAY

DELAY introduce una pausa específica en milisegundos (de 1 a 10,000) entre comandos, útil para esperar a que el sistema procese una acción.

ComandoParámetros
DELAYNúmero (milisegundos)
DELAY 500
REM Espera 500 ms antes del siguiente comando
GUI r
STRING notepad.exe
ENTER

STRING

STRING envía una cadena de texto, simulando la escritura de caracteres en un teclado. Admite letras, números y caracteres especiales.

ComandoParámetros
STRINGa-z, A-Z, 0-9, !@#$%^&*()_+-=[]{}|;:,.<>?/~
GUI r
DELAY 500
STRING notepad.exe
ENTER
DELAY 1000
STRING Hello World!

GUI (o WINDOWS)

GUI (o WINDOWS) simula la tecla Windows (Superclave), comúnmente usada en combinaciones de teclas.

ComandoParámetros
GUICarácter único (ej., r, d)
WINDOWSCarácter único (ej., r, d)
GUI r
REM Abre el menú Ejecutar en Windows
DELAY 500
STRING cmd
ENTER

MENU (o APP)

MENU (o APP) simula la tecla de menú contextual, equivalente a Shift + F10 en Windows, para abrir menús contextuales.

Comando
MENU
APP
GUI d
MENU
STRING v
STRING d
REM Cambia al escritorio, abre el menú contextual y alterna la visualización de iconos

SHIFT

SHIFT simula la tecla Shift, útil para combinaciones de teclas o selección de texto.

ComandoParámetros
SHIFTDELETE, HOME, INSERT, PAGEUP, PAGEDOWN, WINDOWS, GUI, UPARROW, DOWNARROW, LEFTARROW, RIGHTARROW, TAB
SHIFT INSERT
REM Pega contenido en la mayoría de los sistemas operativos

ALT

ALT simula la tecla Alt, usada en combinaciones para acceder a menús o funciones específicas.

ComandoParámetros
ALTEND, ESC, ESCAPE, F1-F12, Carácter único, SPACE, TAB
GUI r
DELAY 50
STRING notepad.exe
ENTER
DELAY 100
STRING Hello World
ALT f
STRING s
REM Abre el menú Archivo y guarda el documento

CONTROL (o CTRL)

CONTROL (o CTRL) simula la tecla Control, ampliamente utilizada en combinaciones de teclas.

ComandoParámetros
CONTROLBREAK, PAUSE, F1-F12, ESC, ESCAPE, Carácter único
CTRLBREAK, PAUSE, F1-F12, ESC, ESCAPE, Carácter único
CONTROL ESC
REM Equivalente a la tecla GUI en Windows

Teclas direccionales

Comando
DOWNARROW
DOWN
LEFTARROW
LEFT
RIGHTARROW
RIGHT
UPARROW
UP

Comandos extendidos

ComandoDescripción
BREAKUsado en combinaciones como CTRL+BREAK
PAUSESimilar a BREAK, para pausas
CAPSLOCKAlterna el bloqueo de mayúsculas
DELETEElimina caracteres o elementos
ENDMueve el cursor al final
ESCCierra ventanas o cancela acciones
ESCAPEAlias de ESC
HOMEMueve el cursor al inicio
INSERTAlterna modo de inserción
NUMLOCKAlterna el bloqueo numérico
PAGEUPDesplaza hacia arriba
PAGEDOWNDesplaza hacia abajo
PRINTSCREENCaptura la pantalla
SCROLLLOCKAlterna el bloqueo de desplazamiento
SPACEInserta un espacio
TABNavega entre campos
FNTecla de función modificadora

REPEAT

REPEAT ejecuta el comando anterior un número específico de veces.

ComandoParámetros
REPEATNúmero de repeticiones
DOWN
REPEAT 100
REM Ejecuta DOWN 101 veces en total (1 inicial + 100 repeticiones)

Compilación de scripts

Los scripts de Ducky Script se compilan en archivos binarios (inject.bin) que se almacenan en la raíz de una tarjeta microSD para su ejecución en el USB Rubber Ducky.

La herramienta Duckencoder, un programa Java de línea de comandos multiplataforma, convierte los scripts en formato hexadecimal.

Ejemplo de uso en Linux:

java -jar duckencoder.jar -i exploit.txt -o /media/microsdcard/inject.bin

Uso general de Duckencoder (versión 1.X):

duckencode -i [archivo_entrada] [-o [archivo_salida]]

Recursos adicionales

Instalación de USB Rubber Ducky Android App

«Rucky» Lanzador Rubber Ducky

Compartir:

error: