
Storage Activity示例实战USB Rubber Ducky双模式下的数据回传【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsusbrubberducky-payloads仓库是 Hak5 官方 USB Rubber Ducky 的 payload 库其中 Storage Activity 示例演示了 DuckyScript 3.0 的一个高级特性在HID STORAGE 双模式下让设备既当键盘、又当U盘并精准检测目标主机对存储卷的读写行为——这是实现**无网络数据回传data exfiltration**的关键技巧。本文带你读懂这两个官方示例掌握从检测存储活动到把数据写回 U 盘的完整链路。1. 为什么需要存储活动检测USB Rubber Ducky 通过ATTACKMODE命令切换自己的 USB 身份模式设备表现典型用途ATTACKMODE HID只当键盘键击注入、打开终端ATTACKMODE STORAGE只当U盘文件传输、数据落盘ATTACKMODE HID STORAGE键盘 U盘注入命令并把结果写回设备ATTACKMODE OFF设备消失隐藏 payload、防枚举模式可以随时切换每次切换都会让目标主机重新枚举设备官方示例见 ATTACKMODE-example1.txt。而 Storage Activity 示例更进一步它不只是写入文件还能感知目标系统什么时候读了/写了 U 盘用 LED 灯光反馈结果让操作者在不看屏幕的情况下也能确认回传是否成功。2. 示例一等待有活动WAIT_FOR_STORAGE_ACTIVITY先看最简单的 Storage-Activity-example1.txt核心逻辑如下ATTACKMODE HID STORAGE REM 键盘U盘双模式上线 DELAY 2000 LED_OFF STRINGLN Waiting for the disk to be read from or written to... $_STORAGE_ACTIVITY_TIMEOUT 10000 WAIT_FOR_STORAGE_ACTIVITY REM 阻塞直到检测到存储读写 LED_OFF LED_R REM 红灯亮起 检测成功三个要点值得注意WAIT_FOR_STORAGE_ACTIVITY会阻塞后续所有指令直到 Ducky 的存储卷被目标主机读取或写入$_STORAGE_ACTIVITY_TIMEOUT是内部变量用于设置等待超时示例中为 10000 毫秒检测成功后亮红灯LED_R形成无需接显示器的反馈闭环。官方也提醒不同操作系统保持存储激活的时长差异很大可能需要针对目标平台自行调参试验见示例文件头部的 REM 注释。3. 示例二等待无活动WAIT_FOR_STORAGE_INACTIVITY第二个示例 Storage-Activity-example2.txt 则演示反向操作——先把数据写进 Ducky 存储再等写入彻底结束ATTACKMODE HID STORAGE DELAY 2000 LED_OFF GUI r REM 呼出 Windows 运行框 DELAY 100 STRINGLN powershell $m(Get-Volume -FileSystemLabel DUCKY).DriveLetter;echo $env:computername $m:\computer_names.txt $_STORAGE_ACTIVITY_TIMEOUT 10000 WAIT_FOR_STORAGE_INACTIVITY REM 阻塞直到存储设备不再活动 LED_OFF LED_R这段 payload 干了三件事用 PowerShell 通过卷标DUCKY找到 Ducky 的盘符把目标机器的计算机名追加写入 U 盘里的computer_names.txt用WAIT_FOR_STORAGE_INACTIVITY等待文件系统缓存全部落盘——此时再拔设备也不会丢数据红灯亮起即为回传完成。 这就是双模式的典型价值HID 负责把命令打进目标系统STORAGE 负责把结果带回你的口袋全程不需要网络通道。4. 实战参考完整的数据回传链路官方示例之外的真实 payload 中IP-Out 就是一个完整示范用PASSIVE_WINDOWS_DETECT扩展先做无侵入的 Windows 系统检测非 Windows 直接STOP_PAYLOAD切换到ATTACKMODE HID STORAGE通过GUI r打开 PowerShell执行ipconfig | Out-File $driveLetter\exfil.txt把目标 IP 信息写入 Ducky 存储盘符来自Get-WmiObject按卷标DUCKY查询连续调用WAIT_FOR_STORAGE_ACTIVITY与WAIT_FOR_STORAGE_INACTIVITY确认写入既已发生、又已落盘。核心几行见 payload.txtATTACKMODE HID STORAGE DELAY 500 GUI r DELAY 300 STRINGLN Powershell DELAY 1000 STRINGLN $driveLetter (Get-WmiObject -Query SELECT * FROM Win32_Volume WHERE Label#DRIVELABEL).DriveLetter; if ($driveLetter) { ipconfig | Out-File -Filepath $driveLetter\exfil.txt -Encoding utf8 } WAIT_FOR_STORAGE_ACTIVITY WAIT_FOR_STORAGE_INACTIVITY可以看到WAIT_FOR_STORAGE_ACTIVITYWAIT_FOR_STORAGE_INACTIVITY这一组合拳是存储回传类 payload 的收尾标准动作同类写法也出现在 System-Stealer、EternalLock 等 payload 中。5. 编译与验证PayloadStudio本仓库中的文件都是 DuckyScript源码payload.txt必须用 Hak5 官方的PayloadStudio编译成inject.bin后才能写入 USB Rubber Ducky操作步骤很直接打开 PayloadStudio网页端纯浏览器运行将 Storage Activity 示例 或自己的 payload 粘贴/导入在 Compiler Settings 中选择正确的键盘布局语言文件在 languages/ 目录默认 us.json编译生成inject.bin写入设备后接入目标机器即可。6. 常见坑与排查清单等不到无活动部分系统会长时间保持存储卷激活WAIT_FOR_STORAGE_INACTIVITY可能迟迟不返回。官方示例头部注释明确提示结果因 OS 而异建议调大$_STORAGE_ACTIVITY_TIMEOUT或改用轮询判断。盘符对不上Get-Volume -FileSystemLabel DUCKY依赖 Ducky 的卷标若卷标被修改过更隐蔽命令里的标签也要同步改。社区扩展 SAVE_FILES_IN_RUBBER_DUCKY_STORAGE 已把这套逻辑封装好支持单文件/多文件保存可直接复用。模式切换会重新枚举频繁在 HID / STORAGE 之间切换可能引起目标系统弹出新设备提示生产 payload 中应尽量减少切换次数参考 ATTACKMODE-example2.txt 的SAVE_ATTACKMODE/RESTORE_ATTACKMODE技巧。隐蔽性进阶若不希望目标一插就看到 payload 文件可以配合 HIDE_PAYLOAD 或 protected_storage_mode.txt 扩展用键盘锁组合码解锁存储模式。7. 相关资源速查资源路径存储活动示例 1等待有活动Storage-Activity-example1.txt存储活动示例 2等待无活动Storage-Activity-example2.txtATTACKMODE 双模式切换示例ATTACKMODE-example1.txt存储隐藏示例Payload-Hiding-example1.txt存储回传实战 payloadIP-Out/payload.txt社区文件保存扩展SAVE_FILES_IN_RUBBER_DUCKY_STORAGE⚖️法律提示本仓库所有 payload 仅供教育与授权安全审计使用。未经授权在他人设备上执行键击注入或数据回传属违法行为请务必在自有设备或已获书面授权的环境中练习。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考