Я знаю программное обеспечение, которое может идентифицировать меня как хост, даже если оно работает внутри виртуальной машины (используя vmware под управлением Windows 7 x64, хост — Windows 10 x64). Они генерируют некоторую уникальную сигнатуру / аппаратный отпечаток и основаны на аппаратном обеспечении.
Этот отпечаток одинаков на хост-ПК и на гостевом ПК. Даже когда я отключаю сетевой адаптер, так что это должно быть сделано в автономном режиме. Как мне достичь чего-то подобного? Используют ли они какую-то магию или хакерство и получают доступ к моей реальной информации об оборудовании внутри ВМ, на полностью чистых окнах?
Они могут генерировать совершенно уникальные идентификаторы, и они одинаковы на моем домашнем ПК и виртуальных машинах, созданных на этом ПК.
Это технически возможно сделать это?
После долгих исследований невозможно получить какую-либо информацию об оборудовании хост-машины изнутри VMWare. Это полностью изолированная среда, и она не имеет права выходить за рамки этого.
Вы можете использовать бэкдор, который официально предоставляется VMWare: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/lib/include/backdoor_def.h но это только позволит вам получить доступ к содержимому файла .VFX и определить, работает ли программа внутри виртуальной машины.
Все остальное — это просто эксплойты, используемые хакерами, так называемый «VM escape»: http://vmblog.com/archive/2017/03/30/vmware-patches-critical-vm-escape-vulnerabilities-identified-at-pwn2own.aspx но они исправлены быстро и навсегда.
Единственное, что может быть разделено между хостом и гостем — это IP-адрес.
Других решений пока нет …