ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Windows-Duck-In-The-Middle Payload解析:USB Rubber Ducky中间人攻击完整指南

Windows-Duck-In-The-Middle Payload解析:USB Rubber Ducky中间人攻击完整指南 Windows-Duck-In-The-Middle Payload解析USB Rubber Ducky中间人攻击完整指南【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsWindows-Duck-In-The-Middle是USB Rubber Ducky开源载荷库中的一个经典中间人攻击Man-in-the-Middle简称 MitMPayload插入目标电脑后它会在用户几乎无感知的情况下为 Windows 系统安装一张可信的根证书并把系统代理悄悄指向攻击者的代理服务器从而解密、查看目标的全部网络流量。本文带你完整解析它的执行流程、必需的配置参数以及如何防御这类攻击。一分钟理解中间人攻击为什么能破HTTPS很多人以为 HTTPS 是绝对安全的但它的信任链依赖一个前提系统证书库里确实只存在可信的根证书。中间人攻击的核心思路只有三步植入根证书——把自己的 CA 证书装进目标系统的受信任根位置系统就会认为攻击者合法劫持流量——把系统代理改成攻击者的服务器所有请求先经过攻击者中转伪造与解密——攻击者用自己的证书现场签发站点证书用户看到的依然是安全锁实际流量已被完整读取。USB Rubber Ducky的价值在于它以键盘HID 设备身份接入电脑天然被操作系统信任无需驱动、无需安装、速度极快是实施上述三步的理想载体。Windows-Duck-In-The-Middle Payload 是什么这个 Payload 的源码位于官方仓库的 payloads/library/execution/Windows-Duck-In-The-Middle/ 目录载荷源码payload.txt官方说明文档README.md项目说明目标系统Windows 10 / 11作者PlumpyTurkey分类Execution执行类核心能力建立可信代理启用中间人攻击与暴力型Payload 不同它主打隐蔽全程在虚拟桌面上操作、自动清理痕迹、执行完还能让 Ducky 自身装死。下面按源码中的执行顺序逐步拆解。执行流程逐步解析从系统检测到自动自毁第 1 步被动检测目标是不是 WindowsPayload 开头引用了PASSIVE_WINDOWS_DETECT扩展对应仓库中的 payloads/extensions/passive_windows_detect.txt。它通过监听主机系统的配置请求次数来判断操作系统类型——Windows 在枚举 USB 设备时会发出特定数量的主机锁请求超过 2 次即判定为 Windows。这种被动检测完全不触发任何按键不会惊动目标。若不是 Windows 系统Payload 会让 Ducky 的红色 LED 灯闪烁 3 次后立即停止执行做到非目标不行动。第 2 步静默安装受信任的根 CA 证书确认是 Windows 后Payload 开始真正的重头戏用快捷键新建一个虚拟桌面并在此桌面上通过 WinX 快捷菜单打开 PowerShell——所有动作都发生在独立桌面上用户当前屏幕毫无变化通过 PowerShell 从CERT_URL下载攻击者的根证书并执行Import-Certificate将其导入当前用户的受信任的根证书颁发机构Cert:\CurrentUser\Root。这正是中间人攻击的信任基石。攻击者需要事先用自己的代理工具生成这张证书注意若使用 mitmproxy应选择其他平台版本的证书并将其托管在一个可下载的 URL 上比如攻击者的代理服务器或云盘直链Dropbox 链接需以dl1结尾。第 3 步让 Firefox 也接受这张企业证书Chromium 内核浏览器Chrome、Edge 等默认接受用户安装的根证书无需额外处理。但 Firefox 出于安全考虑默认不信任用户级根证书Payload 提供了CONFIGURE_FIREFOX选项默认开启它会自动遍历 Firefox 所有用户配置文件下的prefs.js把security.enterprise_roots.enabled从false改为true。改完后Firefox 也会毫无保留地信任植入的证书。第 4 步把系统代理指向 MitM 服务器信任关系建立后Payload 通过注册表HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings写入两个值ProxyEnable 1开启代理ProxyServer PROXY_IP:PROXY_PORT指向攻击者服务器此后该用户的所有 HTTP/HTTPS 流量都会先流经攻击者的代理被解密、记录、伪造。至此中间人攻击的完整闭环形成证书植入 → 浏览器信任 → 流量劫持 → 内容解密第 5 步清理痕迹并让 Ducky 自我隐藏Payload 的收尾堪称教科书级反取证删除证书临时文件Remove-Item $c删除 PowerShell 历史记录文件清除HistorySavePath指向的文件不留命令痕迹CtrlWinF4 关闭整个虚拟桌面操作现场消失 若DISABLE_AFTER_EXECUTION为TRUE默认执行ATTACKMODE OFF——Ducky 从 USB 总线上消失重启前不会再被系统枚举到。快速配置指南3 个必需参数 5 个高级选项所有配置都通过DEFINE语句在 payload 顶部完成部署前务必修改前三个必需项参数类型默认值说明CERT_URL字符串example.com根证书的下载直链必填替换为你的托管地址PROXY_IP字符串127.0.0.1代理服务器 IP改为你的实际 IPPROXY_PORT整数8080代理服务器端口高级选项可按需调整参数默认值说明SHORT_DELAY/MEDIUM_DELAY/LONG_DELAY500 / 2000 / 4000各阶段等待毫秒数网速慢可调大CONFIGURE_FIREFOXTRUE是否修改 Firefox 信任企业证书DISABLE_AFTER_EXECUTIONTRUE执行后是否让 Ducky 自动禁用如何获取与编译这个 Payload获取 Payload 源码只需克隆官方仓库git clone https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads然后进入 payloads/library/execution/Windows-Duck-In-The-Middle/ 目录按上表修改payload.txt中的三个必需参数最后用 Hak5 官方的PayloadStudio将其编译为inject.bin写入 USB Rubber Ducky 即可。注意仓库中的 txt 文件是源码Ducky 只认编译后的二进制文件不能直接烧录。防御视角如何发现 USB 中间人攻击了解攻击手法才能有效防御。以下是几条实用的检测思路审计根证书在 Windows 中运行certmgr.msc检查受信任的根证书颁发机构里是否存在陌生的自签名 CA——这是最直接的暴露点检查代理设置查看设置 → 网络 → 代理或注册表HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings确认ProxyEnable是否被莫名开启怀疑 USB 设备陌生 U 盘插入后系统自动弹出命令窗口、任务管理器中出现来路不明的 PowerShell 进程都应立刻拔除并断网关注物理隔离对外接待、面试、展会等场景禁用非必要 USB 口是成本最低、最有效的防线监控 Firefox 配置prefs.js中security.enterprise_roots.enabled被改为true本身就是一个强信号。写在最后Windows-Duck-In-The-Middle 用最优雅的 DuckyScript 演示了中间人攻击的完整链条键盘级信任 证书植入 代理劫持。它被收录在 payloads/library/execution/ 分类中仅用于安全教育和授权渗透测试。理解它不是为了复制攻击而是为了在真实环境中更早地发现你的网络可能正被人看着。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进