#protocols #guest #hypervisor #interaction #access #v-mware #backdoor

vmw_backdoor

一个纯Rust库,用于VMware主机-虚拟机协议("VMXh后门")

8个版本

0.2.4 2023年6月2日
0.2.3 2022年11月29日
0.2.1 2021年4月19日
0.2.0 2020年10月8日
0.1.1 2020年3月26日

#246 in 网络编程

Download history 1305/week @ 2024-03-14 649/week @ 2024-03-21 665/week @ 2024-03-28 735/week @ 2024-04-04 901/week @ 2024-04-11 961/week @ 2024-04-18 938/week @ 2024-04-25 1210/week @ 2024-05-02 664/week @ 2024-05-09 960/week @ 2024-05-16 1126/week @ 2024-05-23 972/week @ 2024-05-30 1135/week @ 2024-06-06 1116/week @ 2024-06-13 798/week @ 2024-06-20 725/week @ 2024-06-27

3,903每月下载量
用于afterburn

MIT/Apache

27KB
599

vmw_backdoor

crates.io Documentation

一个纯Rust库,用于VMware主机-虚拟机协议("VMXh后门")。

此库提供从虚拟机访问和使用VMware后门的辅助工具。它允许与VMware虚拟机管理程序和主机环境的双向交互。

"后门"协议没有官方规范,但它已经被广泛分析,并且有多个项目对其进行了记录

  1. https://github.com/vmware/open-vm-tools/blob/stable-11.0.5/open-vm-tools/lib/include/backdoor_def.h
  2. https://wiki.osdev.org/VMware_tools
  3. https://sysprogs.com/legacy/articles/kdvmware/guestrpc.shtml
  4. https://github.com/vmware/vmw-guestinfo/tree/master/bdoor
  5. https://sites.google.com/site/chitchatvmback/backdoor

示例

let is_vmw = vmw_backdoor::is_vmware_cpu();
println!("VMware CPU detected: {}.", is_vmw);

let mut guard = vmw_backdoor::access_backdoor().unwrap();
println!("Raised I/O access to reach backdoor port.");

let found = guard.probe_vmware_backdoor().unwrap_or(false);
println!("VMware backdoor detected: {}.", found);

let mut erpc = guard.open_enhanced_chan().unwrap();
let key = "guestinfo.ignition.config.data";
let guestinfo = erpc.get_guestinfo(key.as_bytes()).unwrap();

if let Some(val) = guestinfo {
    println!("Got value for key '{}':", key);
    println!("{}", String::from_utf8_lossy(&val));
};

更多示例可以在示例下找到。

许可证

根据您的选择,许可为以下之一

依赖项

~0.4–8.5MB
~65K SLoC