尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

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

VMware 虚拟机反检测完整指南:3 步部署 VmwareHardenedLoader,让 VMProtect 3.2 查不出虚拟机

VMware 虚拟机反检测完整指南:3 步部署 VmwareHardenedLoader,让 VMProtect 3.2 查不出虚拟机 VMware 虚拟机反检测完整指南3 步部署 VmwareHardenedLoader让 VMProtect 3.2 查不出虚拟机【免费下载链接】VmwareHardenedLoaderVmware Hardened VM detection mitigation loader (anti anti-vm)项目地址: https://gitcode.com/gh_mirrors/vm/VmwareHardenedLoaderVmwareHardenedLoader 是一个运行在 VMware Windows x64 客户机中的内核驱动它实时修补系统固件表抹掉 VMware、Virtual、VMWARE 这类可被识别的特征串让 VMProtect 3.2、Safengine、Themida 的反虚拟机anti-VM校验直接失效。适合做逆向分析、软件测试、隔离实验又不想被虚拟机身份出卖的开发者。️ 能力全景一张表看清它挡掉哪些检测检测面对方常见手段本项目对策固件表RtlGetSystemFirmwareTable读 SMBIOS/ACPI 表搜 VMware 字符串内核态挂钩固件查询处理器查询返回前实时改写缓冲CPUID读 hypervisor 位 / hypervisor 品牌串.vmx中hypervisor.cpuid.v0 FALSE隐藏硬件指纹主板、机型、序列号、SMBIOS OEM 串全是 VMware 默认值.vmx的*.reflectHost参数组反射宿主机真实信息网络 MACMAC 前缀00:05:69/00:0C:29/00:1C:14/00:50:56属 VMware换 MAC或.vmx里ethernet0.address后门接口VMware backdoor、tools 版本/指针查询.vmx的monitor_control.*、isolation.tools.*参数组磁盘型号SCSI 系统盘 vendorID/productID 是默认值scsi0:0.productID/scsi0:0.vendorID覆盖一个前提要说在前面目前仅支持 Windows Vista ~ Win10 的 x64 客户机没有 x86 构建macOS/ARM 客户机不适用。 三步上手编译、配 vmx、装驱动第 1 步宿主机编译驱动环境要求 Visual Studio 2015/2017 WDK 10git clone https://gitcode.com/gh_mirrors/vm/VmwareHardenedLoader用 VS 打开根目录VmLoader.sln选x64/Release生成。如果客户机没开测试签名记得先给bin\vmloader.sys做 test-sign。驱动本体代码在VmLoader/main.cpp反汇编相关的内核适配在VmLoader/cs_driver_mm.c和VmLoader/kernel_stl.cpp。第 2 步改 .vmx 配置与 MAC把下面这些键值写进.vmx关键项摘录完整 19 行参数在项目根README.md里hypervisor.cpuid.v0 FALSE board-id.reflectHost TRUE hw.model.reflectHost TRUE serialNumber.reflectHost TRUE smbios.reflectHost TRUE SMBIOS.noOEMStrings TRUE ; isolation.tools.* 四项getPtrLocation/setPtrLocation/setVersion/getVersion全部 TRUE ; monitor_control.* 十项disable_directexec ... restrict_backdoor全部 TRUE ethernet0.address 00:11:56:20:D2:E8如果系统盘是 scsi0 槽的 SCSI 虚拟磁盘再补两行scsi0:0.productID Tencent SSD scsi0:0.vendorID TencentMAC 也可以在 VMware 图形界面里改虚拟机设置 → 网络适配器 → NAT 高级 → MAC 地址如图img/4.png新 MAC 的前三个字节不能落在上表那四个 VMware OUI 前缀里否则等于白改。第 3 步客户机里加载驱动以管理员身份运行install.bat服务正常拉起即成功。先别急着装 VMware Tools——它自带的工具栈会把你前面做的伪装全部漏掉远程桌面请走 mstsc / TeamViewer / AnyDesk / VNC。 原理透视驱动到底改了什么特征码 内核态反汇编定位固件表管理器Windows 查固件表统一走ExpFirmwareTable但相关全局变量没有导出符号。DriverEntry的处理路径是ZwQuerySystemInformation(SystemModuleInformation)枚举模块表定位ntoskrnl基址在.PAGE段里搜固定特征41 B8 41 52 46 54mov r8d, TFRA指令从该指令起逐条反汇编、沿分支最多跟踪 16 层认出ExpFirmwareTableResource和ExpFirmwareTableProviderListHead两个地址。第 3 步用的就是项目自带的 capstone 反汇编引擎capstone/目录含完整的 x86 表与 MC 测试套件 的移植内核版kernel_stl.cpp则提供内核环境下的部分 STL 容器支持。在 ACPI / RSMB / FIRM 三条查询路径上挂钩定位到FirmwareTableProviderList后驱动遍历这张链表按 Provider 签名找到三个节点把各自的FirmwareTableHandler换成包装函数ACPI节点查询成功后抹掉VMware、VirtualRSMB/FIRM节点抹掉VMware、VMWARE包装函数先调原处理器拿到真实表缓冲再做一次内存搜索把命中字节整段覆盖成7。未处理时的固件表长这样img/2.png高亮的 VMware SVGA II 就是重写目标卸载即还原DriverUnload会再次持有ExpFirmwareTableResource锁遍历链表把三个处理器逐一换回原函数main.cpp中DriverUnload所以这套修改是运行时、可逆的——卸载驱动、重启客户机即可恢复原状不碰任何磁盘文件。✅ 效果验证怎么确认它生效了看检测方。跑一个开启 anti-vm 选项的 VMProtect 3.2 保护程序。没部署驱动时它会弹窗拒绝运行img/1.png即部署前状态部署成功后同样的程序直接跑通不再弹 cannot run under a Virtual Machine。看驱动方。用 DbgView 抓内核调试输出正常序列是SystemFirmwareTableInformation called→requesting FIRM, act 1, table 786432, ret00000023查询前的无权限占位→ret00000000查询成功拿到的是已清洗的表。img/3.png展示的就是生效后的输出看特征方。用十六进制工具转储 SMBIOS/ACPI 表缓冲原先的 VMware 字符串应全部变为77777777占位。⚠️ 避坑清单5 个最容易翻车的地方装完 VMware Tools 后又被告密→ 现象全套配置做完仍被识别 → 原因tools 自带 backdoor 与版本查询通道 → 处理彻底不装 tools远程一律走 mstsc / TeamViewer / AnyDesk / VNC。install.bat 一执行服务就起不来→ 现象启动服务报错 → 原因vmloader.sys没 test-sign或特征与该版本ntoskrnl不匹配 → 处理先补签名仍失败用 DbgView 抓内核输出连同ntoskrnl.exe一起提 issue。换了 MAC 依然被识破→ 现象网络侧检测照旧 → 原因新 MAC 前缀仍落在四个 VMware OUI 段内 → 处理重新生成随机 MAC或直接在.vmx里写ethernet0.address。32 位系统/虚拟机想复用→ 现象找不到对应产物、编译无 x86 配置 → 原因项目仅支持 Vista~Win10 x64 客户机 → 处理换 x64 客户机别无捷径。显卡信息仍能被查出来→ 现象经 DXGI 接口问到虚拟显卡型号 → 原因显卡驱动文件本身携带 VMware 信息属已知 TODO → 处理按 README 提示修改显卡驱动文件或接受此残留。 进阶玩法扩特征清单RemoveSigs是纯内存搜索替换往MyFIRMHandler/MyACPIHandler里追加自己的字符串即可覆盖更多变体同理也可以再挂新的 Provider 签名节点。伪造物理机指纹*.reflectHost参数会让客户机反射宿主机真实的主板/序列号/SMBIOS配合一台品牌机做宿主得到的指纹与真机几乎无法区分。内核工程参考cs_driver_mm.c内核态内存分配适配kernel_stl.cppSTL 子集是在 Windows 内核里跑 C 反汇编器的少见完整样例值得细读。结语VmwareHardenedLoader 的体量不大但把 VMware 反虚拟机检测里最硬的一层——固件表查询——用定位、挂钩、清洗、可逆四步完整拿下且与 .vmx 侧参数形成内外配合。边界同样明确只针对 VMware、只覆盖 Windows x64 客户机显卡 DXGI 泄漏尚待处理。对逆向分析、隔离测试、兼容性验证这类场景它是环境准备清单里值得加的一项。【免费下载链接】VmwareHardenedLoaderVmware Hardened VM detection mitigation loader (anti anti-vm)项目地址: https://gitcode.com/gh_mirrors/vm/VmwareHardenedLoader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表