Bad USB
On this page you will learn how Bad USB devices work and how to use them in Flipper Zero via USB and via Bluetooth Low Energy (BLE).

Some of the techniques described in this section may be illegal if performed without authorization. I am not responsible for the misuse of the techniques described in this manual.
Flipper Zero can act as a BadUSB device , recognized by computers as a Human Interface Device (HID), such as a keyboard. A BadUSB device can change system settings, open backdoors, recover data, initiate reverse shells, or essentially do anything that can be achieved with physical access. This is done by executing a set of commands written in the Rubber Ducky scripting language, also known as DuckyScript. This set of commands is also called a payload.
Insert a microSD card to use the Bad USB app. Before using the Bad USB app, be sure to update the Flipper Zero firmware with a microSD card inserted, as Flipper Zero stores databases on a microSD card. For more information about the update process, visit the firmware update page.
Flipper Zero programming language
Before using Flipper Zero as a BadUSB device, you must write a payload in .txt format using any common ASCII text editor that supports the programming language. Flipper Zero can execute the extended Rubber Ducky programming syntax. This syntax is compatible with the classic Rubber Ducky 1.0 programming language but provides additional commands and functions, such as the ALT+Numpad input method, the SysRq command, and more.
For more information about the Flipper Zero scripting language, see this page.
A useful resource is Hak5's Payload Studio website, where we can develop our scripts in Duckyscript format and download them locally:
Loading new payloads into Flipper Zero
Once the payload is created, you can load it onto your Flipper Zero via qFlipper or the Flipper Mobile app in the folder SD Card/badusb/. New payloads you add will be available in the Bad USB app.
Upon uploading, files with the same name will be overwritten without prior notice.

Interesting script repositories
How to use Flipper Zero as a BadUSB device
Via USB connection
To convert your Flipper Zero into a BadUSB device using USB, do the following:
If qFlipper is running on your computer, close it.
On your Flipper Zero, go to Main Menu -> Bad USB
Select the payload and press the OK button.
Go to Settings
(Optional ) If necessary, you can change the keyboard layout (US English is the default).
Select connection type: USB
Connect your Flipper Zero to your computer using a USB cable.
Press Run to execute the payload on the computer.

Through the BLE connection
To convert your Flipper Zero into a BadUSB device using BLE, do the following:
Activate Bluetooth on your Flipper Zero by going to Main Menu -> Settings -> Bluetooth
If qFlipper is running on your computer, close it.
On your Flipper Zero, go to Main Menu -> Bad USB
Select the payload
Go to Settings
(Optional) If necessary, you can change the keyboard layout (US English is the default).
Select the connection type: BLE
Press BACK
On your computer, go to Bluetooth settings and connect to the detected BadUSB wireless device.
Confirm the connection both on your computer and on Flipper Zero (by selecting OK )
On your Flipper Zero, press Run to execute the payload on the computer.
Last updated