Una aplicación de Android para realizar ataques USB HID (Rubber Duck) de múltiples formas:
Modo por cable: Necesita un kernel personalizado con la función usb hid o un kernel con configfs habilitado para que este modo sea utilizado.
Inalámbrico [Obsoleto]: Proporciona un servidor de sockets para extender este USB HID con herramientas/hardware externos como raspberry pi, servicios de sockets, nc, y mucho más.
Ducky Script
La sintaxis de Ducky Script es simple. Cada comando reside en una nueva línea y puede tener opciones que lo sigan. Los comandos se escriben en MAYÚSCULAS, porque los patos son ruidosos y les gusta graznar con orgullo. La mayoría de los comandos invocan pulsaciones de teclas, combinaciones de teclas o cadenas de texto, mientras que algunos ofrecen retrasos o pausas. A continuación se muestra una lista de comandos y su función, seguida de algunos ejemplos de uso. Algunas sintaxis extendidas del Ducky Script original de Hak5. Los scripts de Mouse ducky son diferentes de los que se ven en línea y se han definido para mantener la similitud con los scripts de teclado ducky.
Nota: En los parámetros [num] representa un número, [char] representa caracteres A-Z, a-z. También se ha añadido soporte para HID personalizable.
Funciones HID2
Todos los comandos HID2/HID heredados son compatibles
Todos los comandos de ratón/puntero comenzarán con este comando. El efecto de los comandos REPEAT y DELAY también se puede aplicar a los comandos de ratón.Nota:
En el campo de parámetro [button], que emula una acción de botón del ratón y puede tener los siguientes valores:
LEFT
RIGHT
MIDDLE
En los campos de parámetro [x] e [y], que emulan una acción de movimiento del ratón y pueden tener un rango de valores de -127 a 127. Esto representa píxeles y es relativo a la posición actual del ratón. Si estás en el punto (150,150), entonces puedes mover el ratón (127,127) píxeles desde este punto seguido de (23,23). Por lo tanto, si el ratón está en (0,0) [esquina superior izquierda] y quieres moverlo a (1920, 1080) [esquina inferior derecha, suponiendo una pantalla 1080p], entonces necesitarías mover el ratón varias veces 127 píxeles cada vez (o menos) en cualquier dirección.
En el campo de parámetro [scroll], que emula una acción de rueda de desplazamiento del ratón y puede tener los siguientes valores:
UP
DOWN
El parámetro [num] representa un número. Se utiliza para repetir la acción. Alternativamente, se puede usar el comando REPEAT.
Sintaxis:
Comando
Tipo de Comando
Parámetro 1
Parámetro 2
Parámetro 3
Parámetro 4
Descripción
MOUSE or POINTER
CLICK or TOUCH or PRESS
[button]
[num]
Clic de botón del ratón. El ratón no se mueve en las direcciones [x] e [y].
MOUSE or POINTER
HOLD or DRAG
[button]
[x]
[y]
[num]
Clic y mantener pulsado el botón del ratón. El ratón se puede mover en las direcciones [x] e [y].
MOUSE or POINTER
MOVE or TRANSLATE
[x]
[y]
[num]
El botón del ratón no hace clic. El ratón se puede mover en las direcciones [x] e [y].
MOUSE or POINTER
KNOB or WHEEL or SCROLL
[scroll]
[num]
El botón del ratón no hace clic. El ratón se puede desplazar hacia arriba o hacia abajo.
Ejemplo:```
REM double left click
MOUSE CLICK LEFT 2
REM drag a folder
MOUSE HOLD LEFT 127 45
REM move pointer
MOUSE MOVE 0 0 5
REM scroll a document
MOUSE SCROLL DOWN 10
REM using repeat
MOUSE CLICK LEFT
REPEAT 1