🔌

低成本 BadUSB 方案及实现

基于 Digispark ATtiny85 的 HID 攻击演示

¥9

⚠️ 仅供安全研究与教育目的

🤔 什么是 BadUSB?

将 USB 设备伪装成 HID 键盘,插入电脑后自动执行预设命令。

🔌
插入 USB
💻
识别为键盘
⌨️
自动"打字"

执行命令
合法使用场景:
🔬 安全研究和渗透测试  |  🛠️ 自动化运维  |  🚀 设备快速初始化

🛒 Step 1 — 购买 Digispark

  • 1
    淘宝搜索 Digispark,约 ¥9 一块
  • 2
    基于 ATtiny85 微控制器,体积约指甲盖大小
  • 3
    内置 USB 接口,可直接插入电脑,天然模拟 HID 设备
💡 建议多买几块,便宜且容易搞坏

⚙️ Step 2 — 配置软件环境

需要安装三个工具:

🔧
Digistump
Drivers

USB 驱动
🖥️
Arduino
IDE

编译烧录
✍️
Automator
脚本转换

🔧 Step 2a — 安装驱动

  • 1
    下载 Digistump.Drivers.zip 并解压
  • 2
    运行 DPinst64.exe 安装驱动
📝 注意:
· 仅支持 Windows 64 位系统
· macOS / Linux 无需安装驱动,跳过此步

🖥️ Step 2b — 配置 Arduino IDE

  • 1
    打开 File → Preferences
    Additional boards manager URLs 中填入:
    https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
  • 2
    Tools → Board → Boards Manager 搜索并安装 Digistump AVR Boards
  • 3
    选择开发板:Digispark (Default - 16.5mhz)
🇨🇳 国内访问不了?修改 hosts:185.199.108.133 raw.githubusercontent.com

✍️ Step 3 — 编写 Payload

Ducky Script 描述键盘操作,再用 Automator 转换为 Arduino 代码。

指令说明
DELAY n延迟 n 毫秒
STRING text输入文本
ENTER回车键
GUI rWin + R(运行对话框)
CTRL / ALT / SHIFT组合键修饰符

📝 示例:打开记事本

DELAY 1000       # 等待设备识别
GUI r            # Win + R 打开运行
DELAY 200
STRING notepad   # 输入 notepad
ENTER            # 回车启动
DELAY 500        # 等待记事本打开
STRING Hello from Digispark BadUSB!
ENTER
💡 开头的 DELAY 1000 很重要——给系统时间识别 HID 设备

🚀 Step 4 — 编译 & 烧录

  • 1
    将 Ducky Script 粘贴到 Automator,生成 Arduino 代码
  • 2
    复制代码到 Arduino IDE
  • 3
    点击 上传 按钮
  • 4
    60 秒内将 Digispark 插入电脑 USB 口
  • 5
    等待上传完成 ✅
⏱️ Digispark 上电后前 5 秒等待新程序,超时后自动执行已烧录代码

🗺️ 完整流程一览

  • 1
    🛒 淘宝购买 Digispark(¥9)
  • 2
    🔧 安装 Digistump 驱动
  • 3
    🖥️ 安装并配置 Arduino IDE + Digistump AVR Boards
  • 4
    ✍️ 下载 Automator,编写 Ducky Script
  • 5
    🚀 编译 → 上传 → 插入 Digispark → 完成!
🎉

Done!

9 块钱,一块小板子,一段脚本

你就拥有了一个 BadUSB

🔒 请记住:仅在自有设备或获得明确授权的环境下使用。未经授权的攻击属于违法行为。