Writing Your First Payload

Making DuckyScript Payloads on the USB Nugget



The USB Nugget supports DuckyScript™, making it easy to create your first payload!

If you need inspiration, you can find a list of DuckyScrit payloads on the Hak5 GitHub repository.

To get started, let’s review the full list of DuckyScript™ commands the Nugget supports.

DuckyScript™ Payload Structure

When composing a DuckyScript™ payload, commands are executed line by line. It’s also possible to press multiple keys at the same time by putting commands on the same line!

To write out a piece of text, type STRING in all caps. See the example below for how this works:

ExampleResult
SHIFT CType the Shift key and then the c key
SHIFT CPress the Shift key and the c key at the same time
STRING SHIFT CTypes out “SHIFT c”

Built-in Commands

Now that we have the basics down, let’s take a look at supported commands:

CommandExampleDescription
REMREM Hello World!This is used to leave comments, and is not executed in the script
DEFAULTDELAY or DEFAULT_DELAYDEFAULTDELAY 200This sets the default time in ms between each command
DELAYDELAY 1000Sets a one-time delay in ms
STRINGSTRING Hello World!Types whatever string follows the command
LEDLED RChanges the color of the LED. Current Options: R = red, G = green, B = blue, C = cyan, Y = yellow, M = magenta, W = white

Supported Keys

Most standard keys are supported by the Rubber Nugget.

Key
a-z
A-Z
1-9
F1-F12

Modifier Keys

Keys like SHIFT, ALT, and the WINDOWS or GUI key can be useful for accessing hotkey combinations, are are frequently used in combination key presses.

Key
CTRL or CONTROL
SHIFT
ALT
WINDOWS or GUI

Other Useful Keys

Virtually anything you can do behind a keyboard can be recreated with the right keypresses. The following keys are essential to trigger keyboard shortcuts and navigate without a mouse.

Key
ENTER
MENU or APP
DELETE
HOME
INSERT
PAGEUP
PAGEDOWN
UP or UPARROW
DOWN or DOWNARROW
LEFT or LEFTARROW
RIGHT or RIGHTARROW
TAB
END
ESC or ESCAPE
SPACE
PAUSE or BREAK
CAPSLOCK
NUMLOCK
PRINTSCREEN
SCROLLLOCK

Now that we’ve gone over the supported DuckyScript commands, let’s load and deploy a payload to the USB Nugget.