ARTICLE DETAIL

资讯详情

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

exfil_auto_eof_detect扩展详解:USB Rubber Ducky数据渗出结束检测完全指南

exfil_auto_eof_detect扩展详解:USB Rubber Ducky数据渗出结束检测完全指南 exfil_auto_eof_detect扩展详解USB Rubber Ducky数据渗出结束检测完全指南【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsexfil_auto_eof_detect是 USB Rubber Ducky 官方 Payload 仓库README.md中payloads/extensions/目录下的一个核心扩展用于在 USB HID 数据渗出Keystroke Reflection过程中自动检测渗出何时结束。它通过轮询 CapsLock / NumLock 的状态变化判断数据流是否走完是构建纯键盘 HID 渗出Payload 的关键组件。一、什么是数据渗出结束检测在 USB Rubber Ducky 的数据渗出Data Exfiltration场景中Ducky 并不依赖网络连接而是把目标主机上的文件内容编码成一串锁键Lock Key按键事件回打给主机再反射回 Ducky 的存储区。整个过程就像一场无声的键盘对话那么问题来了Ducky 怎么知道最后一个比特已经发完了Windows 版 HID 渗出windows_hid_exfil.txt会在数据末尾追加一个%{SCROLLLOCK}作为结束帧Linux 版 HID 渗出linux_hid_exfil.txt则没有结束帧位流直接结束。exfil_auto_eof_detect 扩展就是为后一种情况设计的它不靠结束帧而是靠等待——当 CapsLock 和 NumLock 持续一段时间不再翻转时就判定数据流已经结束。这正是它名字中EOFEnd Of File结束符的含义。二、核心函数 WAIT_FOR_EOF 的工作原理扩展源码见 exfil_auto_eof_detect.txt版本 1.1作者 Korben。它的逻辑非常直观步骤行为说明1记录 CapsLock / NumLock 当前状态作为下一轮对比的基准2每20ms轮询一次锁键状态DELAY 20轮询间隔3检测到 CapsLock 变化 → 亮绿灯LED_G重置静默计数说明主机还在打位流4检测到 NumLock 变化 → 亮红灯LED_R重置静默计数同上5两个锁键都没变化 → 静默计数 1熄灭 LED累计安静的轮次6静默计数达到#INACTIVTY_TARGET默认 10→ 判定结束跳出循环约 200ms 无数据即结束几个值得注意的细节可配置阈值DEFINE #INACTIVTY_TARGET 10L15。默认 10 次 × 20ms ≈200ms的静默窗口。如果渗出速度较慢或位间隔较长可以适当调大该值避免误判提前结束追求快速收尾则可调小。前提约束官方文档明确要求目标系统至少反射 2 个锁键且不反射超过 2 个锁键L9-L11因此它默认 CapsLock 和 NumLock 分别代表 0 和 1 两个比特。LED 状态反馈渗出进行中绿灯/红灯交替闪烁结束后稳定亮绿LED_G与仓库中 LED-example1.txt 演示的锁键—LED 联动是同一套机制。三、实战使用与 HID 渗出扩展搭配WAIT_FOR_EOF()是函数式 API必须先引入本扩展再在渗出脚本中调用1. 引入顺序在 PayloadStudio 中加载扩展时把 exfil_auto_eof_detect.txt 放在 linux_hid_exfil.txt之前编译。Linux 扩展在文档中直接声明了依赖关系REQUIRES EXTENSION EXFIL_AUTO_EOF_DETECTL5、L15。2. 调用位置在RUN_LINUX_EXFIL()发起位流之后等待结束L66-L71ENTER WAIT_FOR_EOF() $_EXFIL_MODE_ENABLED FALSE3. 锁键状态保护两个 HID 渗出扩展都提供SAVE_AND_RESTORE_LOCKS开关渗出前保存目标机原有的 CapsLock/NumLock 状态WAIT_FOR_EOF()返回后通过RESTORE_HOST_KEYBOARD_LOCK_STATE复原linux_hid_exfil.txt L27、windows_hid_exfil.txt L24让目标用户几乎无感知。 对比记忆Windows 版用WAIT_FOR_SCROLL_CHANGE等待结束帧windows_hid_exfil.txt L62Linux 版用WAIT_FOR_EOF()等待静默超时。二者思路不同选择时要看位流格式。四、渗出完成后的数据在哪渗出结束后位流被解码写入 Ducky 的 U 盘存储区通常需要ATTACKMODE HID STORAGE在资源管理器中即可看到收集到的文件效果类似下面这种loot 文件落盘的结果如果需要更简单、以网络方式落盘的渗出对照可以看看示例 Exfiltration-example1.txt——它把抓到的凭据直接重定向写入 DUCKY 盘原理不同但目标一致。五、相关扩展与配套文件清单文件作用exfil_auto_eof_detect.txt本次主角静默超时式结束检测WAIT_FOR_EOF()linux_hid_exfil.txtLinux 键盘反射渗出强依赖本扩展windows_hid_exfil.txtWindows 键盘反射渗出用 ScrollLock 结束帧detect_ready.txt用 CapsLock 反射探测主机就绪动态启动延迟常与渗出组合使用os_detect.txt操作系统探测用于分流不同平台的渗出逻辑六、常见问题FAQQ1为什么我的渗出总是提前结束位流间隔超过了静默窗口。调大#INACTIVTY_TARGET例如 10 → 30约 600ms或检查目标机xdotool --delay等参数是否过小导致位与位之间抖动。Q2它能在 Windows 上用吗函数本身是平台无关的轮询逻辑理论上可以但官方定位是仅反射 2 个锁键的场景Windows 渗出自带 ScrollLock 结束帧直接WAIT_FOR_SCROLL_CHANGE更可靠。Q3LED 一直闪烁不结束怎么办说明 CapsLock/NumLock 仍在被翻转——通常是渗出脚本没执行完、目标窗口没聚焦或主机锁键状态有外部干扰。可先用 detect_ready.txt 确认主机确实会反射 CapsLock。Q4编译要注意什么所有 Payload 需使用 Hak5 PayloadStudio 编译见 README.md 的 Getting Started 说明扩展之间靠DEFINE/FUNCTION共享加载顺序决定了WAIT_FOR_EOF()是否可用。七、小结exfil_auto_eof_detect用20ms 轮询 200ms 静默阈值实现了 USB HID 数据渗出的结束检测让无结束帧的位流也能优雅收尾核心函数WAIT_FOR_EOF()是 linux_hid_exfil.txt 的硬性依赖编译时注意扩展加载顺序通过#INACTIVTY_TARGET一个参数即可调节灵敏度LED 三色反馈让渗出过程看得见想动手实践建议按本扩展 → linux_hid_exfil → 简单示例的顺序在自己拥有或已获授权的设备上测试。⚠️ 安全声明本仓库 Payload 仅供学习、研究与已授权环境下的红蓝对抗演练请勿用于任何未授权的系统。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表