Payloads are scripts integrated with DuckyScript commands which leverage the power of the WiFi Pineapple system.

DuckyScript is the payload language of Hak5 gear.

Originating on the Hak5 USB Rubber Ducky as a standalone language, the Packet Squirrel uses DuckyScript commands to bring the ethos of easy-to-use actions to the payload language.

DuckyScript commands are always in all capital letters to distinguish them from other system or script language commands. Typically, they take a small number of options (or sometimes no options at all).

Payloads can be constructed of DuckyScript commands alone, or combined with the power of bash scripting and system commands to create fully custom, advanced actions.

DuckyScript commands themselves are often writen in bash as well, though some commands are provided as binaries to increase performance.

Pager-specific DuckyScript Commands

Pager DuckyScript commands interact with the pager UI: Use these to prompt the user to confirm actions, enter text, data, and addresses, make other selections, or just keep the user informed.

The majority of these commands must be run from inside a user or recon payload, since they take over the screen!

DuckyScript command Use Details
ALERT Raise a full-screen alert Documentation
CONFIGURATION Persistent configuration commands Documentation
CONFIRMATION_DIALOG Prompt the user with a yes or no confirmation Documentation
ERROR_DIALOG Show the user error information Documentation
IP_PICKER Prompt the user to enter an IPv4 address Documentation
LOG Send text to the payload log Documentation
MAC_PICKER Prompt the user to enter a MAC address Documentation
NUMBER_PICKER Prompt the user to enter a numerical value Documentation
PROMPT Raise a modal alert and wait for the user to continue Documentation
RINGTONE Play a ringtone or ringtone file, with optional vibration Documentation
START_SPINNER Start an indefinite progress spinner Documentation
STOP_SPINNER Stop an indefinite progress spinner Documentation
TEXT_PICKER Prompt the user to enter free-form text Documentation
VIBRATE Activate the haptic vibration motor in sync with a ringtone file Documentation
WAIT_FOR_BUTTON_PRESS Wait for the user to press a physical button Documentation
WAIT_FOR_INPUT Wait for the user to press any physical button Documentation



Pineapple-specific DuckyScript commands

Pineapple DuckyScript commands interact with the WiFi Pineapple functions: Use these to control the Pineapple configuration and functions.

DuckyScript command Use Details
FIND_CLIENT_IP Find the IP address of a client connected to a WiFi Pineapple access point Documentation
PINEAPPLE_DEAUTH_CLIENT Deauthenticate a client from a Wi-Fi network Documentation
PINEAPPLE_EXAMINE_BSSID Stop channel hopping and lock to the channel used by a known access point Documentation
PINEAPPLE_EXAMINE_CHANNEL Stop channel hopping and lock to a channel Documentation
PINEAPPLE_EXAMINE_RESET Resume normal channel hopping Documentation
PINEAPPLE_DEVICE_FILTER_ADD Add a MAC address to the Pineapple AP device filters Documentation
PINEAPPLE_DEVICE_FILTER_ADD_FILE Add a list of MAC address in a file to the Pineapple AP device filters Documentation
PINEAPPLE_DEVICE_FILTER_CLEAR Delete all MAC addresses from the Pineapple AP device filters Documentation
PINEAPPLE_DEVICE_FILTER_DEL Delete a MAC address from the Pineapple AP device filters Documentation
PINEAPPLE_DEVICE_FILTER_LIST List MAC addresses in the Pineapple AP device filters Documentation
PINEAPPLE_DEVICE_FILTER_MODE Control Pineapple AP device filter mode Documentation
PINEAPPLE_RECON_NEW Start a new recon session Documentation
PINEAPPLE_SET_BANDS Configure the Wi-Fi bands monitored by recon Documentation
PINEAPPLE_MIMIC_DISABLE Disable open AP mimic mode Documentation
PINEAPPLE_MIMIC_ENABLE Enable open AP mimic mode Documentation
PINEAPPLE_NETWORK_FILTER_ADD Add a SSID to the Pineapple AP network filters Documentation
PINEAPPLE_NETWORK_FILTER_ADD_FILE Add a list of SSIDs in a file to the Pineapple AP network filters Documentation
PINEAPPLE_NETWORK_FILTER_CLEAR Delete all SSIDs from the Pineapple AP network filters Documentation
PINEAPPLE_NETWORK_FILTER_DEL Delete a SSID from the Pineapple AP network filters Documentation
PINEAPPLE_NETWORK_FILTER_LIST List SSIDs in the Pineapple AP network filters Documentation
PINEAPPLE_NETWORK_FILTER_MODE Control Pineapple AP network filter mode Documentation
PINEAPPLE_SSID_POOL_ADD Add a SSID to the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_ADD_FILE Add a list of SSIDs in a file to the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_CLEAR Clear the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_COLLECT_START Start automatic collection of probe requests in the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_COLLECT_STOP Stop automatic collection of the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_DELETE Delete a SSID from the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_LIST List the contents of the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_START Start advertising networks in the Pineapple SSID impersonation pool Documentation
PINEAPPLE_SSID_POOL_STOP Stop advertising networks in the Pineapple SSID impersonation pool Documentation
WIFI_PCAP_START Start an optimized packet capture Documentation
WIFI_PCAP_STOP Stop packet capture Documentation
WIGLE_LOGIN Fetch a Wigle login token Documentation
WIGLE_LOGOUT Remove Wigle API tokens Documentation
WIGLE_START Start a Wigle log Documentation
WIGLE_STOP Stop a Wigle log Documentation
WIGLE_UPLOAD Upload a Wigle log to the service Documentation