☰
Poor_Mans_Nmap Payload解析:USB Rubber Ducky仓库里的轻量端口扫描
2026/10/7 8:39:13 网站建设 项目流程

Poor_Mans_Nmap Payload解析:USB Rubber Ducky仓库里的轻量端口扫描

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

在 usbrubberducky-payloads 官方仓库中,有一款名为Poor_Mans_Nmap的 Payload:它让 USB Rubber Ducky 变成一台「轻量端口扫描器」——无需安装 Nmap,纯靠 Windows 自带 PowerShell 完成整个局域网的存活探测,并把结果直接发到你的邮箱。本文将带你完整拆解这款 Payload 的工作原理、各阶段动作和使用限制,适合刚接触 DuckyScript 的新手阅读。

它是什么:一个藏在U盘里的局域网扫描器

Poor_Mans_Nmap 位于仓库的 payloads/library/exfiltration/Poor_Mans_Nmap/ 目录,作者 JoustingZebra,目标平台为 Windows(PowerShell 5/7)。

它的核心思路非常「穷人的智慧」:

传统做法Poor_Mans_Nmap 的做法
在目标机器安装 Nmap只用 PowerShell 内置 cmdlet
手动运行、手动导出插入U盘自动执行
结果留在本机磁盘扫描完直接邮件外发并自清理

整个扫描脚本被压缩成一行STRING命令写入目标机的临时目录(netscan.ps1),执行后以附件形式通过 Outlook SMTP 外发,再删除痕迹。

工作原理:从插入U盘到邮件外发的5个阶段

Payload 源文件为 payload.txt,执行流程可以拆成 5 步:

第1步:唤醒并打开 PowerShell

插入后延迟 1 秒,GUI r打开「运行」对话框,输入powershell.exe -Nop -Noni启动一个无配置文件、非交互式的 PowerShell 窗口。

第2步:把扫描脚本「打字」进目标机

用一条超长STRING命令把完整 PowerShell 扫描脚本写入$ENV:temp\netscan.ps1。脚本会:

  • 通过Get-NetAdapter找到第一个处于 Up 状态的网卡
  • 自动计算子网掩码、网络地址和广播地址(仅支持 IPv4)
  • 用Test-Connection(即 Ping)逐个探测网段内每个 IP 是否存活
  • 对存活主机用Get-NetNeighbor读取其 MAC 地址
  • 带Write-Progress进度条,C 类网段约6 分钟扫完

第3步:放开执行策略并运行

Set-ExecutionPolicy Bypass -Scope Process cd $ENV:temp

第4步:执行 + 邮件外发(一行搞定)

关键设计:扫描、邮件、清理全部写在同一行命令里执行。这样 Rubber Ducky 完成「打字」后可以立刻拔出,不用等脚本跑完。命令链包括:

  1. 运行netscan.ps1,输出保存为netscan.txt
  2. Send-MailMessage通过smtp-mail.outlook.com:587外发(带附件)
  3. Remove-Item删除netscan.*
  4. 清除 PowerShell 历史,保护邮件凭据

第5步:超长等待后自动退出

DELAY 10000 + REPEAT 9831组合产生约27.3 小时的空等——为的是给 B 类大网段留足扫描时间,到期后自动EXIT关闭窗口。

为什么叫「Poor Man's(穷人的)」Nmap

几个取舍让它既轻又巧:

  • 零外部依赖:不需要下载任何工具,扫描逻辑全靠系统自带的Test-Connection、Get-NetNeighbor等 cmdlet
  • 速度换功能:单线程逐 IP Ping,不扫端口细节,胜在「够轻、够快部署」
  • 即插即走:一行命令设计让 Ducky 打完整段脚本就退场,不占用目标机
  • 自动反取证:删文件、清历史,目标机不留扫描痕迹

⚠️ 使用限制(源自文件头部注释):

  • 仅支持Class B 及更小的网段,仅IPv4,只扫找到的第一个局域网
  • 执行前必须把命令中的用户名(出现 3 处)和密码(1 处)替换成自己的邮箱凭据

延伸阅读:仓库里的更多网络侦察 Payload

如果你对「插一下U盘就摸清一台机器」感兴趣,仓库里还有这些值得对照阅读的作品:

  • NullSec-NetworkMapper:纯原生 Windows 命令的自动网络测绘,含子网 Ping 扫描和默认网关常见端口扫描,约 45 秒出报告,是 Poor_Mans_Nmap 的「加强版」
  • lin-icmp_timing-based-data-exfiltration:Linux 下基于 ICMP 时序的隐蔽数据外传,同样是「用 Ping 做文章」
  • PingZhellDucky:把 ICMP 通道升级为远程 Shell

写在最后

Poor_Mans_Nmap 是学习 DuckyScript 的优秀案例:它展示了如何用最少命令编排「打开程序→写文件→执行→外传→清痕→退出」的完整攻击链。请务必仅在自己拥有或获得明确授权的网络环境中进行测试,扫描未授权网络在多数地区均属违法行为。

📚 更多 Payload 分类可参考仓库目录:execution、recon、exfiltration、remote_access。

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

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

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

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

立即咨询