vmware虚拟机反检测-绕过虚拟机检测教程
1- 杨CC的评价
该文章为:如何绕过虚拟机检测?
主要讲解了绕过虚拟机检测的主流方式和主流的反检查技巧。
我的计算中没有vmware虚拟机,所以不再进行截图
2- 主流的虚拟机检测原理
2.1 硬件信息:
虚拟机拥有一些物理机没有的硬件信息,例如主板型号:VMware virtual Platform,其他硬件信息如:CPUID、硬盘序列号、主板序列号、网卡序列号等。
2.2 系统痕迹:
虚拟机工具(如VMware Tools、lVirtuaBox Guest Additions)的服务、进程或注册表项。同样会被某些软件进行检测。
2.3 底层指令:
某些虚拟机软件会修改底层指令,如:VMware修改了CPUID指令,使其返回虚拟机信息。 某些软件会检测这些底层指令的返回值,从而判断是否运行在虚拟机中。
2.4 环境差异:
如:内存映射方式、中断处理机制、网络MAC地址前缀(例如VMware的前缀地址为:00:0c:29)等。
3- Vmware虚拟机 主流反检测方式
3.1 VMware 主流反检测方式
3.1.1 修改虚拟机配置文件(核心)
关闭虚拟机后,找到.vmx配置文件(如:Windows10.vmx),用vsc或者记事本打开.
添加以下参数隐藏虚拟机信息:
1 | # 隐藏VMware硬件特征 |
3.1.2 伪装BIOS和硬件信息
- 修改bios信息
在刚才的.vmx文件中添加以下参数:
1 | bios.dmi.board.product = "Z690 AORUS PRO" # 替换为常见物理主板型号 |
- 修改硬盘信息
在VMware菜单栏中,选择 -「虚拟机设置 - 硬盘 - 高级」,,将 “虚拟设备节点” 改为SCSI,并勾选 “独立” 模式(减少快照痕迹)。
一般改完vmx和这个设置后,多数软件基本上就检测不出来了,如果还会检测出来,可以继续往下看。
3.1.3 禁用虚拟机工具和服务(部分检测服务和工具的软件可以用这个方法,一般情况下不需要。)
- 卸载VMware Tools
控制面板 → 程序卸载 → 移除 “VMware Tools”(避免残留服务如VMwareService.exe)。
- 禁用残留进程:
若必须保留基础驱动,在服务管理器中禁用VMware USB Arbitration Service、VMware Workstation Server等服务。
3.1.4 隐藏注册表虚拟机标识
修改注册表隐藏虚拟机标识
按Win+R输入regedit,定位到以下路径,删除或修改含 “VMware”“Virtual” 的键值:
1 | HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS |
3.2 VMware虚拟机反检测技术(高阶-慎用-容易崩溃-小白勿用)
3.2.1 替换系统文件(驱动)中的虚拟机特征
- 使用Resource Hacker(其他工具也可以),修改system32\drivers\下的驱动文件,替换掉’VMware’等高级操作,将虚拟机特征进行消除。
3.2.2 修改CPU指令集与寄存器
- 修改CPUID指令返回值
通过工具(kvm-hide)或者其他工具或者自定义内核模块,修改CPUID指令返回值,将虚拟机特征进行消除。例如:清除ECX寄存器中的hypervisor present位。
- 实例:
在启动参数中添加-cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,kvm=off,模拟物理 CPU 特征。
3.2.3 隐藏虚拟化扩展指令
- 禁用虚拟机对lntel或amd的虚拟化扩展指令的模拟
- 在.vmx文件中添加以下参数:
1 | monitor_control.disable_vmx = "TRUE" # VMware |
3.2.4 模拟物理内存布局
- 关闭虚拟机的”内存气球”技术(可以有效避免内存分配暴露虚拟化特征),在.vmx文件中添加以下参数:
1 | mem.ballooning.enabled = "FALSE" |
3.2.5 缓存时序伪装
- 使用工具(CacheTimingFaker)调整CPU缓存的访问延迟,使其与物理机接近,避免缓存访问延迟差异暴露虚拟化特征。
其实到这里,已经就差不多了,如果还想再进一步,可能会对物理机造成影响了,所以,建议不要使用,如果非要使用,请谨慎使用。
那么我们继续往下看.
3.2.6 使用物理机的真实BIOS固件,替换虚拟机BIOS固件
- VMware,需要提取物理机的BIOS固件(例如:wu_li_ji_BIOS.bin),替换虚拟机BIOS固件,在.vmx文件中添加以下参数:
1 | bios440.filename = "wu_li_ji_BIOS.bin" |
- QEMU启动时制定固件路径
1 | qemu-system-x86_64 -bios /path/to/wu_li_ji_BIOS.bin.bin # 最后需要输入你的路径 |
3.2.7 修改UEFI固件
- 使用UEFITool编辑虚拟机的 UEFI 固件,删除含 “VMware”“VirtualBox” 等包含虚拟机的标识字段。
3.2.8 使用物理磁盘
将物理机的磁盘分区表(MBR/GPT)直接复制到虚拟机,或使用dd命令制作物理磁盘的镜像文件作为虚拟机硬盘,避免虚拟磁盘的特征签名(如 VMware 的.vmdk格式头信息)。
3.2.9 模拟磁盘IO延迟
通过工具(如tc或disk-delay)给虚拟机磁盘添加随机 IO 延迟,模拟物理硬盘的机械延迟(部分检测会通过 IO 速度判断是否为虚拟机)。
使用NTP服务器伪装时间
禁用虚拟机的 “高精度时钟同步”,改为通过 NTP 与物理机同步,可以在VMware设置进行修改.
或者在:vmx文件中添加以下参数(不建议用这种方式):
1 | tools.syncTime = "FALSE" |
- 并在虚拟机内手动同步物理机时间(避免时钟频率差异被检测)。
3.2.10 模拟物理机中断反应
- 在内核模块中,修改中断处理的时间戳和优先级,时其与物理机接近,避免中断处理时间差异暴露虚拟化特征。
3.3 其他VMware虚拟机反检测技术
- 定制化虚拟机内核
编译修改版 QEMU/VMware 内核:
去除源码中所有虚拟化相关的标识字符串(如 “QEMU”“VMware”),并修改底层函数(如kvm_run)的行为特征,使其更接近物理机内核调用。
使用轻量级虚拟化方案:
相比 VMware/VirtualBox,KVM+QEMU更易定制,可通过libvirt配置隐藏虚拟化痕迹,或直接使用Firecracker等微虚拟化工具(适合简单系统)。 - 反调试与检测工具对抗
Hook 检测 API:
在虚拟机内使用x64dbg或Frida hook 目标软件的检测函数(如获取主板信息的GetSystemInfo、枚举设备的SetupDiEnumDeviceInfo),返回伪造的物理机数据。
内存特征擦除:
使用工具(如MemScrubber)定期清理内存中残留的虚拟化相关字符串(如 “vmxnet3”“vboxguest”),避免被内存扫描检测到。
3.3.1 网络指纹深度伪装
- 修改 TCP/IP 栈特征:
调整虚拟机的 TCP 窗口大小、TTL 值、MSS(最大分段大小),使其与物理机一致(可通过iptables或netsh配置)。
- 使用物理网卡:
通过 PCIe 直通(如 VMware 的 “PCI Device Passthrough”)将物理机网卡直接分配给虚拟机,避免虚拟网卡的 MAC 前缀和驱动特征
3.3.2 隐藏外设和总线
- 禁用虚拟 USB 控制器
在虚拟机设置中移除 USB 控制器(避免 “VMware USB Controller” 被检测),如需使用外设,通过网络共享(如 SMB)而非直接挂载。
- 隐藏 PCI 总线虚拟化痕迹
在设备管理器中卸载所有 “VMware PCI” 设备,并用物理机的 PCI 设备列表替换虚拟机的HKLM\SYSTEM\CurrentControlSet\Enum\PCI注册表项。
4- VirtualBox虚拟机反检测技术
4.1 VirtualBox 反检测配置
4.1.1 修改vm配置(核心)
- 关闭虚拟机后,找到.vbox文件(如:Windows10.vbox),用vsc或者记事本打开.
- 添加以下参数隐藏虚拟机信息:
1 | <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" value="Lenovo"/> |
4.1.2 隐藏VirtualBox驱动
- 在设备管理器中卸载 “VirtualBox Graphics Adapter”“VirtualBox Network Adapter”,替换为物理机常用驱动(如 Intel 显卡驱动)。
4.1.3 其他隐藏方式与vmware类似,这里就不再赘述了,有兴趣的可以自己查看上方的vmware虚拟机反检测技术.
其他隐藏方式与vmware类似,这里就不再赘述了,有兴趣的可以自己查看上方的vmware虚拟机反检测技术.
5- 结束语
- 如果需要详细的virtualBox虚拟机反检测文章,请添加交流群进行反馈.
- 需要技术文章,记得将ycc77.com 添加到书签栏哦~
- 需要资源,记得将ycc77.cn 添加到书签栏哦~
- QQ交流群:660264846
- B站: 疯狂的杨CC
- 抖音: 疯狂的杨CC
- 快手: 疯狂的杨CC
- 公众号:SGY安全
- 91: 疯狂的杨CC
- p站: 疯狂的杨CC