Пожалуйста, обратите внимание, что пользователь заблокирован
Количество статей в интернете по поводу обнаружения Виртуальных машин - бесконечное множетсво. Прекрасный тому пример - https://evasions.checkpoint.com/
Тут вы сможете найти бешенное количество способов реализации АнтиВМ защиты, на этих методах задерживаться не будем, все и так все знают.
Я бы хотел осветить один эксперементальный метод, который вроде как мало где появлялся.
У Виндоус есть такой прекрасный класc, как Win32_PortConnector.
Он, согласно документации отвечает за "физические порты подключения, такие как штекер DB-25, Centronics или PS/2."
Просытми словами - это список всех занятых пользователем портов. Мышь, наушники, клавиатура.
Как мы можем использовать данную информацию ?
На самом деле, все просто. Методом тыка было определено, что VPS, VDS, Сендбоксы, и самое главное - многие виртуальные машины, не перенаправляют порты компьютера на гостевую ОС.
Проведем небольшой тест.
Для этого нам понадобится ввести команду в PowerShell.
Собственно, результат, полученный при запросе на виртуальной машине :
И результат, полученный при идентичном запросе, однако со стороны реального ПК :
Остается потратить 30 секунд на создание метода и добавть эту проверку в программу для проверки в живых условиях.
Переписать код с Шарпа на другие ЯП - не сложная задача, ссылка на документацию
Наконец-таки, переходим к тестированию в живых условиях.
VM:
PC:
ANYRUN (SandBox):
Повторюсь, метод сугубо эксперементальный и не исключено, что может резать реальные компы, что приведет к потере отстука.
Проверяйте, модифицируйте и совмещайте с методами, на которые давал ссылку в начале статьи.
Отдельное спасибо за ресурс https://evasions.checkpoint.com/ пользователю Artem N
Тут вы сможете найти бешенное количество способов реализации АнтиВМ защиты, на этих методах задерживаться не будем, все и так все знают.
Я бы хотел осветить один эксперементальный метод, который вроде как мало где появлялся.
У Виндоус есть такой прекрасный класc, как Win32_PortConnector.
Он, согласно документации отвечает за "физические порты подключения, такие как штекер DB-25, Centronics или PS/2."
Просытми словами - это список всех занятых пользователем портов. Мышь, наушники, клавиатура.
Как мы можем использовать данную информацию ?
На самом деле, все просто. Методом тыка было определено, что VPS, VDS, Сендбоксы, и самое главное - многие виртуальные машины, не перенаправляют порты компьютера на гостевую ОС.
Проведем небольшой тест.
Для этого нам понадобится ввести команду в PowerShell.
Код:
Get-WmiObject Win32_PortConnector
Собственно, результат, полученный при запросе на виртуальной машине :
И результат, полученный при идентичном запросе, однако со стороны реального ПК :
Остается потратить 30 секунд на создание метода и добавть эту проверку в программу для проверки в живых условиях.
C#:
bool VM = (new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_PortConnector")).Get().Count == 0;
if (VM)
{
MessageBox.Show("VM Detected");
}
else
{
MessageBox.Show("Real PC Detected");
}
Переписать код с Шарпа на другие ЯП - не сложная задача, ссылка на документацию
Наконец-таки, переходим к тестированию в живых условиях.
VM:
PC:
ANYRUN (SandBox):
Повторюсь, метод сугубо эксперементальный и не исключено, что может резать реальные компы, что приведет к потере отстука.
Проверяйте, модифицируйте и совмещайте с методами, на которые давал ссылку в начале статьи.
Отдельное спасибо за ресурс https://evasions.checkpoint.com/ пользователю Artem N
Последнее редактирование:
)