ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何看懂USB Rubber Ducky摩斯密码渗出:Win_PoSH_MorseCode Payload完整解析

如何看懂USB Rubber Ducky摩斯密码渗出:Win_PoSH_MorseCode Payload完整解析 如何看懂USB Rubber Ducky摩斯密码渗出Win_PoSH_MorseCode Payload完整解析【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsWin_PoSH_MorseCode是 USB Rubber Ducky 官方 Payload 仓库中的一个摩斯密码渗出Morse Code ExfiltrationPayload它运行在 Windows 系统上悄悄读取用户我的文档里的所有 txt 文件然后用键盘指示灯Scroll Lock的长短闪烁把文件内容翻译成摩斯密码放到屏幕上。没有弹窗、没有网络流量、没有声音——数据就以光的形式离开了受害者电脑。下面这篇指南带你完整拆解它的执行流程、摩斯码映射表和时序设计并说明如何安全地观察与解码它。一、这个 Payload 是做什么的一句话概括把文件变成灯光秀。它是典型的低带宽、零流量渗出数据外带手法核心价值不在于实用而在于演示数据渗出可以不用一根网线。项目说明作者Cribbit1.2 版从 BashBunny 仓库移植目标系统WindowsPowerShell 5.1分类数据渗出Exfiltration攻击模式HID STORAGE键盘模拟 U盘存储双模式渗出通道Scroll Lock 指示灯闪烁短闪点长闪划渗出内容我的文档目录下所有.txt文件核心文件都在 payloads/library/exfiltration/Win_PoSH_MorseCode/ 目录下payload.txtDuckyScript 主脚本烧录进 Ducky 的文件MorseCodeFileExfiltration.ps1可读的 PowerShell 渗出逻辑b.txt上面脚本的 base64 编码版实际被调用readme.md官方说明与版本日志二、工作原理用滚动锁指示灯说摩斯密码摩斯码映射表脚本内部内置了一张完整的摩斯映射表3代表点9代表划字符摩斯码字符摩斯码字符摩斯码E3A39T9S333I33O999N93V3339Z9933..................覆盖0~9和A~Z共 36 个字符超出范围的字符如采用兜底策略先闪一次 2700ms 的超长脉冲再闪烁该字符 ASCII 码值的数字 64就闪64的摩斯码。时序设计解码的关键flashy函数每次点亮 Scroll Lock、等待指定毫秒后再熄灭形成闪烁脉冲点dot3 × 100 300ms短闪划dash9 × 100 900ms长闪未知字符2700ms超长闪提示下一个是数字编码每个字符结束后固定停顿600ms空格则停顿1200ms这种用时间间隔编码数据的思路在仓库其他渗出 Payload 中也大量存在比如基于 ICMP 时延的外带三、Payload 执行流程拆解打开 payload.txt整个流程分为 5 步声明双模式ATTACKMODE HID STORAGE让 Ducky 既模拟键盘又暴露为 U 盘脚本要存在 U 盘里。静默检测操作系统内嵌 PASSIVE_WINDOWS_DETECT 扩展通过统计主机配置请求次数被动判断是否 Windows全程不打扰用户判定结果写入$_OS。绿灯提示LED_GREEN表示已识别为 Windows可观察 Ducky 指示灯判断执行状态。打开运行对话框GUI r快捷键唤出 WinR。执行编码脚本STRINGLN输入一行 PowerShell 命令用-encodedCommand参数执行 U 盘里 base64 编码的 b.txtpowershell .(powershell.exe -encodedCommand (gc((gwmi win32_volume -f labelDUCKY).Name\b.txt)))注意它先用 WMI 查出卷标为DUCKY的盘符再读取该盘上的b.txt实现了Payload 本体藏在 U 盘存储区的HID STORAGE 混合渗出。Ducky 存储分区中渗出数据的典型场景长这样另一渗出 Payload 的截图四、为什么用 base64 编码的脚本作者在 readme.md 中解释base64 版本是为了绕过 PowerShell 脚本执行策略Execution Policy。如果你不想用编码版仓库也给了明文替代方案RUN WIN powerShell -Noni -NoP -W h -EP Bypass .((gwmi win32_volume -f labelDUCKY).Namepayloads\$SWITCH_POSITION\MorseCodeFileExfiltration.ps1)⚠️安全提示官方特别强调——执行前请自行解码校验 base64 内容MorseCodeFileExfiltration.ps1就是可核对的明文版防止编码 payload 被替换成恶意代码。这也是所有-encodedCommand类 Payload 的通病审计门槛高。解码后的 MorseCodeFileExfiltration.ps1 逻辑非常清晰递归遍历我的文档中所有.txt→ 逐字符查摩斯表 → 调用flashy函数闪灯。五、如何解码这些灯光暗号站在防守方视角观察 简单工具就能还原肉眼观察屏幕上无任何异常只有 Scroll Lock 灯在闪摩斯。用秒表记录每次闪烁的时长短(≈300ms)点、长(≈900ms)划、超长(≈2700ms)未知字符标记。查表还原把点划序列对照标准摩斯表还原成0~9 A~Z遇到 2700ms 长闪后把接下来的数字序列当作 ASCII 码值转回字符。脚本记录写一个监听 Scroll Lock 状态变化的脚本把每次状态翻转的时间戳落盘事后再离线解码——这正是视觉渗出可被检测的根本原因时序信息会留在监控数据里。六、局限性与同类 Payload 对比作者自己承认这是一个受摩斯码限制、实用性不高的 Payload但做出来很有意思。它的短板只渗出.txt文件且必须先存到我的文档带宽极低一个文件就要以秒为单位逐字符闪烁只能被人眼或专门监控解码无法自动接收仓库里还有几个更工程化的同类思路可以对比Payload渗出方式特点Win_PoSH_PixelReflection屏幕左上角 1 像素窗口黑/白闪位比特级、更隐蔽同样是概念验证Win_Hid_ImgOverKey用大小写锁定键闪图片二进制807 字节的图要闪约 7 分钟ClipBoard-Creep剪贴板 → 外部 Webhook自动接收但会产生网络流量带 Webhook 的自动接收是实用路线数据到达攻击者端点后的样子如下七、防守方检查清单 ️如果你担心内部存在这类无声渗出行为可以按以下清单排查键盘指示灯行为监控 Scroll Lock / Caps Lock 状态的异常高频翻转正常用户很少反复按这些键。PowerShell 命令行审计-encodedCommand、-EP Bypass、-NoPNoProfile组合出现即应告警开启 PowerShell 脚本块日志Script Block Logging可完整还原解码后的命令。USB 设备策略对无盘标或标为DUCKY的可移动介质访问记录审计HID 存储双模式的 U 盘是 Ducky 类设备的典型特征。文档区异常读操作批量递归读取我的文档中所有 txt 文件的行为可用 EDR 的文件读取监控捕获。八、小结Win_PoSH_MorseCode 是 USB Rubber Ducky 数据渗出家族里最艺术化的一员HID STORAGE 双模式 被动 OS 检测让它在正确环境安静启动300ms/900ms/2700ms 三档脉冲构成完整的摩斯编码协议base64 编码 encodedCommand展示了一类真实攻击中常见的审计规避手法它证明了渗出通道可以完全不经过网络也提醒我们防守时别只盯流量物理与视觉通道同样需要可观测性。想动手复现或深入研究建议先在隔离虚拟机中阅读 payload.txt 与 MorseCodeFileExfiltration.ps1 的对应关系再对照时序表尝试手工解码——这比任何文档都直观。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表