用于运行 ATTiny85 处理器和 micronucleus 引导加载程序的 Digiduck 开发板的框架!
alt text DDF 欢迎界面截图
DigiDuck 框架(简称 DDF)的启动和设置非常简单!DDF 不需要任何第三方模块!你只需确保已安装 Python 3.6+(我用它开发,但希望向后兼容)。克隆此仓库并在命令行中进入该目录。进入目录后,只需运行:
python start.py
这将启动程序并显示上述欢迎界面。
此框架中有三个命令!我想让它尽可能轻量,因此只需一个命令即可将有效载荷加载到您的开发板上。
help 命令显示此菜单:
alt text
show 命令显示此菜单:
alt text
所有可用的有效载荷将在此显示。但如果运行 execute 命令,它们会再次显示。
DDF 中的第三个也是最后一个命令是 execute。execute 命令将显示与 show 命令相同的菜单,但在此菜单中你将输入有效载荷名称。你必须在末尾包含 .hex,否则它将无法正确加载,并提示你重新输入。
alt text
execute 命令显示。
选择有效载荷后,系统会提示你将开发板插入计算机。然后它将安装所需的有效载荷,并在完成后显示如下:
alt text
就这样!现在你可以将 badUSB DigiSpark 开发板插入计算机并运行所需的有效载荷!
有效载荷是 DigiSpark .ino hex 文件,通过 micronucleus 引导加载程序安装到你的 ATTiny85 或其他开发板上。
所有当前有效载荷均来自 Hak5 的 RubberDucky 脚本,可在此处获取。如果你不确定某个有效载荷的作用,可以去那里阅读相关信息。我会尽量保持有效载荷名称相近,但我不希望 Windows 用户在输入时打太多字,因为 rlcompleter 无法正常工作。
前往 Duckyspark GitHub 页面 查看如何从 RubberDucky 脚本创建翻译后的 .ino 文件。之后将 .ino 文件加载到 Arduino IDE 中。确保在偏好设置中打开详细输出,并编译代码。打开下方的终端输出,查找 .hex 文件位置。它应该位于 AppData 中的临时目录或 MacOS 上的等效位置。示例如下:
alt text 这恰好位于提示你插入开发板的文字上方!
从该文件夹中取出 payloadname.cpp.hex 文件,并将其拖入 DDF 框架内的 payloads 文件夹。运行程序,你的有效载荷将被加载到可用有效载荷中!
欢迎通过添加上面 Rubber Ducky 脚本中的自定义或更多有效载荷来贡献!提交一个包含新有效载荷的 PR。
Duckyspark - https://github.com/toxydose/Duckyspark
Micronucleus - https://github.com/micronucleus/micronucleus
Hak5 RubberDucky Payloads - https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads