Skip to main content

Bash Bunny Mark II — The Complete Guide

一句話定位:Bash Bunny Mark II 是 USB Rubber Ducky 的「全家桶」——同一支 USB 插進去,它同時可以是鍵盤、網路卡、序列埠和隨身碟,還能跑完整 Linux 工具。一顆四核 ARM 心臟配上 8GB 桌面級 SSD,插上後 7 秒完成滲透。

If the USB Rubber Ducky is a specialist, the Bash Bunny is a swiss-army knife that plugs into USB. It emulates multiple trusted device types at the same time — which matters, because a machine that would never let a rogue "keyboard" near your network will happily hand a DHCP lease to a "USB Ethernet adapter" and a root shell over a "serial console."

The Mark II upgrades the original with a quad-core CPU, desktop-class SSD, doubled RAM, and Bluetooth LE for remote triggering and geofencing. It's the workhorse of physical social-engineering engagements.

⚠️ Authorised testing only. Multi-vector attacks on machines you don't own are illegal. Work in your own lab or with written permission.


Specs at a glance

ItemSpecification
CPUQuad-core ARM Cortex-A7 @ up to 1.3 GHz
Storage8 GB NAND SSD (desktop-class, fast)
ExpansionMicroSD XC (up to 2 TB for big exfiltration)
WirelessBluetooth LE (remote triggers, geofencing)
Attack interfacesHID keyboard + USB Ethernet + serial + USB storage (simultaneously)
OSDebian Linux with root shell (nmap, responder, impacket, metasploit pre-loaded)
Switch3-position mode selector
Indicator1× RGB LED
ConsoleDedicated serial console (root terminal) + Cloud C²
Official docshttps://docs.hak5.org/bash-bunny

The 3-position switch

Position 3 (closest to the USB plug) is arming mode — the Bunny shows as a flash drive + serial console so you can load payloads. Positions 1 and 2 automatically run the payload stored in their folder.

USB plug ── switch positions ──>
position 1: auto-run /payloads/switch1/
position 2: auto-run /payloads/switch2/
position 3: ARMING MODE (flash drive + serial)

Quickstart — first payload

Step 1 — Arm the Bunny

Flick the switch to position 3, plug it into your computer. Two things appear: a flash drive (the payload area) and a serial console.

Step 2 — Drop a payload

Navigating the drive, put your script in:

/payloads/switch1/payload.txt

The simplest "prove it works" payload for a Windows target:

LED R # red = running
ATTACKMODE HID STORAGE
DELAY 2000
GUI r
DELAY 500
STRING cmd
ENTER
DELAY 800
STRING echo pwned by Bash Bunny
ENTER
LED G # green = done

Bash Bunny payloads are Bash scripts (that's the "Bash" in the name) using Hak5's ATTACKMODE, LED, and helper commands. You can mix pure Bash (running nmap, copying files) with DuckyScript-style HID injection.

Step 3 — Deploy

  1. Eject, flick to position 1, unplug.
  2. Plug into the target (your lab machine). Watch the LED turn red, then green.
  3. cmd opens and prints pwned by Bash Bunny.

Step 4 — Serial console (arming mode)

Flick to position 3, connect the serial console, and get a root shell to manage files and payloads:

Username: root
Password: hak5bunny
# ls /root/loot/

Multi-vector attacks — why it's powerful

A single Bash Bunny can do in one cable what used to take several:

Attack vectorHow the Bunny does it
Keystroke injectionHID mode types into the target
Network accessUSB Ethernet mode — the target hands you an IP; you're now on the network
Data exfiltrationSwitch to storage and copy files off; or push out over the USB-Ethernet link
SerialEmulate a serial device to reach embedded/console boxes
Live toolsFull Debian: nmap, responder, impacket, metasploit right on device
Bluetooth triggersRemote-trigger or geofence a payload via BLE

Example — grab a file and exfiltrate it:

LED R
ATTACKMODE HID STORAGE
DELAY 2000
GUI r
DELAY 500
STRING powershell -c "copy C:\Users\Public\secret.txt X:\"
ENTER
DELAY 3000
LED G

This types a shell command to copy a file onto the Bunny's own storage drive, then turns green when done. (Practice on your own machine with your own file!)


Advanced

CapabilityHow
Payload switching2 auto-run switch positions + arming = run different payloads without editing
Remote/geofenceBLE: trigger a payload when you're physically close, or self-destruct if it leaves an area
Root Linux shellFull Debian with pentest tools; drop into nmap/metasploit directly
Cloud C² managementRemote payload/device management via Hak5 Cloud C²
Mass exfiltration2 TB MicroSD for copying gigabytes of loot
GET_SWITCH_POSITIONPayloads can read which switch position they're in and branch

Troubleshooting

SymptomCauseFix
No flash drive in position 3Switch not fully in arming positionPush switch to position 3 fully; unplug & replug
LED flashes redPayload errorAttach serial console, run the payload, read the error
Keystrokes wrong / nothing typesLayout or missing DELAYAdd LED + DELAY, and target the correct keyboard layout
Only HID works, no EthernetATTACKMODE not set to include ETHERNETUse ATTACKMODE HID ETHERNET in the payload
Can't reach serialWrong driver/baudUse the Hak5 USB cable and documented serial settings (see product docs)