lameiro0x/pico-hid-security-lab

GitHub: lameiro0x/pico-hid-security-lab

基于 Raspberry Pi Pico 与 CircuitPython 的 USB HID 按键注入安全教学实验平台,提供 payload 示例与安全编辑工作流。

Stars: 0 | Forks: 0

# Raspberry Pi Pico HID Payload 实验室 本仓库包含用于在**受控和教育背景下**研究**基于 USB HID 的攻击技术**的示例 payload。这些 payload 仅供在**隔离的实验室环境**或**用户拥有的系统**中使用。 该项目基于使用 **Raspberry Pi Pico** 模拟**人机接口设备 (HID)**(例如键盘)的概念,允许出于学习、测试和安全意识目的进行脚本化键盘指令注入。 ## 仓库目的 本仓库的主要目标是: - 了解 **USB HID 设备**在底层是如何工作的。 - 在安全、符合道德规范且受控的环境中研究**键盘指令注入技术**。 - 在微控制器上实验 payload 执行逻辑。 - 获取与现实世界攻击相关的**进攻性安全概念**的实践经验, 同时保持负责任的教育态度。 本仓库旨在用于**网络安全学习**、**实验室实验**和**防御意识培养**,而非用于现实世界中的滥用。 ## 重要安全提示 ⚠️ **负责任地使用** - **切勿**将此设备连接到您不拥有或未获得明确测试许可的系统。 - **切勿**在生产环境中部署 payload。 - 所有测试均应在**隔离的虚拟机**或**自有硬件**上进行。 ## 设置模式(重要) 要修改 payload 或配置文件,必须以**设置模式**启动 Raspberry Pi Pico: 1. 将 **引脚 1 (GP0)** 连接到 **引脚 3 (GND)**。 2. 在连接引脚的情况下将 Pico 插入计算机。 3. 设备将以设置/配置模式启动,允许访问文件。 ## Payload 修改工作流 如果 payload **不含恶意**(目前情况如此): 1. 连接 Pico 并允许 payload 执行。 2. 将 `.dd` payload 文件重命名为 `.txt`。 3. 根据需要编辑 payload 内容。 4. 将文件名改回 `.dd`。 5. 将其复制回 Pico 文件系统。 此工作流允许对 payload 逻辑进行安全的迭代和测试。 有关修改 payload 的详细说明,请参见 [`change_payload.txt`](install/change_payload.txt),包括如何以设置模式启动 设备以及安全编辑 `.dd` payload 文件。 ## 仓库结构 ``` . ├── README.md └── install/ ├── INSTALL.txt ├── adafruit-circuitpython-raspberry_pi_pico-en_US-8.0.0.uf2 ├── adafruit-circuitpython-raspberry_pi_pico_w-en_US-8.0.0.uf2 ├── boot.py ├── change_payload.txt ├── code.py ├── duckyinpython.py ├── lib │   ├── adafruit_debouncer.mpy │   ├── adafruit_hid │   │   ├── __init__.mpy │   │   ├── consumer_control.mpy │   │   ├── consumer_control_code.mpy │   │   ├── keyboard.mpy │   │   ├── keyboard_layout_base.mpy │   │   ├── keyboard_layout_us.mpy │   │   ├── keycode.mpy │   │   └── mouse.mpy │   ├── adafruit_ticks.mpy │   ├── adafruit_wsgi │   │   ├── __init__.py │   │   ├── request.mpy │   │   └── wsgi_app.mpy │   ├── asyncio │   │   ├── __init__.mpy │   │   ├── core.mpy │   │   ├── event.mpy │   │   ├── funcs.mpy │   │   ├── lock.mpy │   │   ├── manifest.mpy │   │   ├── stream.mpy │   │   └── task.mpy │   ├── consumer_control_extended.mpy │   ├── keyboard_layout.mpy │   ├── keyboard_layout_mac_fr.mpy │   ├── keyboard_layout_us_dvo.mpy │   ├── keyboard_layout_win_br.mpy │   ├── keyboard_layout_win_cz.mpy │   ├── keyboard_layout_win_cz1.mpy │   ├── keyboard_layout_win_da.mpy │   ├── keyboard_layout_win_de.mpy │   ├── keyboard_layout_win_es.mpy │   ├── keyboard_layout_win_fr.mpy │   ├── keyboard_layout_win_hu.mpy │   ├── keyboard_layout_win_it.mpy │   ├── keyboard_layout_win_po.mpy │   ├── keyboard_layout_win_sw.mpy │   ├── keyboard_layout_win_tr.mpy │   ├── keycode_mac_fr.mpy │   ├── keycode_win_br.mpy │   ├── keycode_win_cz.mpy │   ├── keycode_win_cz1.mpy │   ├── keycode_win_da.mpy │   ├── keycode_win_de.mpy │   ├── keycode_win_es.mpy │   ├── keycode_win_fr.mpy │   ├── keycode_win_hu.mpy │   ├── keycode_win_it.mpy │   ├── keycode_win_po.mpy │   ├── keycode_win_sw.mpy │   └── keycode_win_tr.mpy ├── payload.dd ├── payload2.dd ├── payload3.dd ├── payload4.dd ├── pico-ducky-v2.0-win_es.zip ├── secrets.py ├── webapp.py └── wsgiserver.py ``` ## 免责声明 本仓库提供的内容**仅供教育目的**。 作者不对此处包含的信息或工具的任何滥用行为负责。
标签:Raspberry Pi Pico, USB HID, 安全教育, 微控制器, 按键注入, 逆向工具