Bad USB

Flipper Zero 可以充当 BadUSB 设备,被计算机识别为人机接口设备(HID),例如键盘,甚至是鼠标。BadUSB 设备可以修改系统设置、开后门、获取数据、发起反向 shell,基本上凡是能通过物理接触做到的事情它都能做。这些操作通过执行一组用 Rubber Ducky 脚本语言(也称 DuckyScript)编写的命令来完成,这组命令也被称为载荷(payload)。
本页将介绍 BadUSB 设备的工作原理,以及如何把 Flipper Zero 变成一台 BadUSB 设备。请注意,Flipper Zero 不仅可以通过 USB 连接计算机,也可以通过低功耗蓝牙(BLE)连接。
Flipper Zero 脚本语言
把 Flipper Zero 当作 BadUSB 设备使用之前,你需要用这种脚本语言,在任意常见的 ASCII 文本编辑器中编写一个 .txt 格式的载荷。Flipper Zero 可以执行扩展的 Rubber Ducky 脚本语法。该语法与经典的 Rubber Ducky Scripting Language 1.0 兼容,同时提供了更多命令和功能,例如 ALT+Numpad 输入法、SysRq 命令等。
向 Flipper Zero 上传新载荷
载荷创建完成后,你可以通过 qFlipper 或 Flipper Mobile App 把它上传到 Flipper Zero 的 SD Card/badusb/ 文件夹。新的载荷会出现在 Bad USB 应用中。
把 Flipper Zero 当作 BadUSB 设备使用
通过 USB 连接
要通过 USB 把 Flipper Zero 变成 BadUSB 设备,请执行以下操作:
如果计算机上正在运行 qFlipper,请先关闭它。
在 Flipper Zero 上,转到 Main Menu → Bad USB。
选择载荷。
确认 Bad USB 应用处于 USB 模式——你应该会看到一个 USB 标志(如下图所示)。
要切换到 USB 模式,请按 USB%right%。

如有需要,你可以按 Layout%left%,然后从布局列表中选择,来修改键盘布局(默认为 US English)。
用 USB 线把 Flipper Zero 连接到计算机。
按 Run%ok% 在计算机上执行载荷。
通过 BLE 连接
要通过低功耗蓝牙把 Flipper Zero 变成 BadUSB 设备,请执行以下操作:
在 Flipper Zero 上转到 Main Menu → Settings → Bluetooth,开启蓝牙。
如果计算机上正在运行 qFlipper,请先关闭它。
在 Flipper Zero 上,转到 Main Menu → Bad USB。
选择载荷。
确认 Bad USB 应用处于 BLE 模式——你应该会看到一个蓝牙标志(如下图所示)。
要切换到 BLE 模式,请按 BLE%right%。

如有需要,你可以按 Config%left%,然后从布局列表中选择,来修改键盘布局(默认为 US English)。
在计算机上打开蓝牙设置,连接检测到的无线 BadUSB 设备。
在计算机和 Flipper Zero 上都确认连接(在两台设备上都选择 OK)。
在 Flipper Zero 上按 Run,在计算机上执行载荷。
要取消 Flipper Zero 的配对,请进入 Config%left%,然后选择 Remove Pairing。
