Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
antivmdetection — Скрипт для создания шаблонов для использования с VirtualBox, чтобы усложнить обнаружение виртуальных машин. | Kitploit
Инструменты/GitHubGitHub/nsmfoo/antivmdetection
Обход IDS/IPSАнализ вредоносных программАнти-Бот
GitHubnsmfoo/antivmdetection

antivmdetection

Скрипт для создания шаблонов для использования с VirtualBox, чтобы усложнить обнаружение виртуальных машин.

Репозиторий
7771243 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Antivmdetection

Предыстория

Скрипт для создания шаблонов, которые можно использовать с VirtualBox для затруднения обнаружения ВМ.

Моя первая публикация на эту тему была в 2012 году, и с тех пор она время от времени обновлялась. Формат блога, возможно, не был лучшим способом публикации информации, и некоторые люди создали хорошие и «легко применимые» скрипты на основе этого содержания.

Чтобы упростить добавление нового контента, я решил сделать то же самое.

Цель этого скрипта — использовать доступные настройки без изменения основного VirtualBox. Есть люди, которые делают действительно интересные вещи, патча Virtualbox. Но это выходит за рамки данного скрипта. Я считаю, что этот подход имеет свои достоинства, так как он (надеюсь) не ломается с каждым новым релизом VirtualBox.

Со временем я также включил «вещи», не связанные напрямую с ВМ, а скорее то, что вредоносное ПО использует для снятия отпечатков установок. Надеюсь, вы не против..

Основной скрипт создаст следующие файлы:

  • Один shell-скрипт, который можно использовать как шаблон для запуска с хост-ОС и применения к виртуальной машине, которую вы хотите изменить.
  • Дамп DSDT, который используется в шаблоне скрипта выше.
  • Файл Windows PowerShell для использования внутри гостевой системы, для обработки настроек, которые невозможно изменить с хоста. Этот скрипт нужно будет запустить дважды: один раз для изменений, требующих перезагрузки, и второй раз для тех надоедливых вещей, которые возвращаются после перезагрузки.

Использование

Генерация скрипта с хоста

  • Установите зависимости sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Установите модули Python: sudo pip3 install -r requirements.txt
  • Загрузите следующие двоичные файлы Windows и распакуйте их в каталоге antivmdetection: wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (версия x64).
  • Создайте текстовые файлы с именами компьютеров и пользователей: hostname > computer.lst, whoami > user.lst. Измените, если хотите использовать другие имена машин и пользователей для ВМ (рекомендуется заполнить файлы длинным списком пользователей и имен компьютеров)
  • Запустите python-скрипт с sudo: sudo python3 antivmdetect.py
  • Сделайте сгенерированный хост-скрипт исполняемым от текущего пользователя: sudo chmod a+x xxxxx.sh
  • Если вы получите следующее сообщение: 'ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)', это связано с ограничением в Virtualbox. Для получения дополнительной информации смотрите этот тикет: https://github.com/nsmfoo/antivmdetection/issues/37. Не проверено на работоспособность, но https://www.tonymacx86.com/dsdt-database может быть хорошим ресурсом...

Настройка ВМ

  • Создайте ВМ, но не запускайте её, а также выйдите из графического интерфейса VirtualBox. Shell-скрипт необходимо запускать до установки!.
  • Убедитесь, что включен 'I/O APIC' (System > вкладка Motherboard).
  • Убедитесь, что 'Paravirtualization Interface' установлен на 'None' (System > вкладка Acceleration).
  • Измените количество ЦП на 2 или более, если возможно.
  • Установите IP ВМ (File > Host Network Manager > Configure Adapter Manually > IPV4 adress).
  • Скрипт ожидает, что макет хранилища будет выглядеть следующим образом: + IDE: Primary master (Диск) и Primary slave (CD-ROM) + * ATA: Port 0 (Диск) и Port 1 (CD-ROM)
  • Запустите скрипт от текущего пользователя (поскольку ВМ находятся в домашнем каталоге текущего пользователя): /bin/bash xxxxx.sh my-virtual-machine-name
  • Установите операционную систему Windows (поддерживаются W7 и W10)

Запуск скрипта внутри ВМ

  • Переместите пакетный скрипт (xxxx.ps1) на только что установленную гостевую систему.

  • Запустите пакетный скрипт внутри гостевой системы. Помните, что большинство изменяемых настроек сбрасываются после каждой перезагрузки. Поэтому, если необходимо, настройте его выполнение при загрузке.

  • Начиная с версии 0.1.4, некоторые применённые настройки потребуют перезагрузки. Запустите пакетный скрипт один раз, гостевая система будет перезагружена. Затем запустите скрипт ещё раз для завершения настройки.

  • Перед применением пакетного скрипта внутри гостевой системы отключите UAC (требуется перезагрузка), иначе вы не сможете изменять реестр с помощью скрипта.

  • Для пользователей Windows 10: запустите PS-скрипт от имени администратора (щелкните правой кнопкой мыши по cmd.exe -> запуск от имени администратора, перейдите к PS-скрипту и выполните его)

  • Если всё применено правильно, запуск Pafish даст следующий результат (не нужно модифицировать Virtualbox).

  • Обратите внимание, что этот скрипт делает и другие вещи, не охваченные Pafish (например, артефакты W10)

альтернативный текст

Примечания

  • Если скрипт antivmdetect не может найти подходящие значения для использования, он закомментирует эти настройки в только что созданном скрипте символом '#'. Эти настройки требуют ручной проверки, так как они могут повлиять на то, что отображается в ВМ.

История версий

  • 0.1.9:
    Совместимость с Python3
    Первая попытка извлечь правильный диск, что было источником головной боли для многих. (Issue #35 (и несколько других старых issues), спасибо @oaustin)
    Улучшена обработка строк в shell-скрипте (Issue #35 и #36 и PR #44, спасибо @oaustin, @dashjuvi и @corownik)
    Добавлена ссылка на онлайн-ресурс DSDT (Issue #37, спасибо @MasterCATZ)
    Обновлён README для улучшения ясности инструкций по установке, спасибо @jorants (issue #38)
    Проверка, действительно ли создаётся дамп DSDT, спасибо @nov3mb3r (Issue: #42)
    Добавлено уведомление о лицензии, спасибо @obilodeau (issue #43)
    Очистка кода: удалена поддержка RAID-дисков из-за отсутствия доступа к серверному оборудованию.. и множество других мелких улучшений

  • 0.1.8:
    Улучшена поддержка Windows 10
    Объединено исправление разметки от @bryant1410 (PR #14)
    Решена проблема для людей, использующих macOS + VBox/VMWare Fusion для создания шаблонов.
    Создание шаблона из виртуальной машины в любом случае не лучший способ.. (issue #12 и, возможно, #15)

  • 0.1.7:
    Теперь поддерживается Windows 10 (отзывы приветствуются)
    Несколько новых артефактов «исправлены» для установок W10
    Новая зависимость: mesa-utils
    Объединено исправление ошибки от @Fullmetal5 (#10)
    Разные исправления кода
    Обновлён readme

  • 0.1.6:
    Добавлено всплывающее окно после второго запуска, чтобы было яснее, что всё готово
    Добавлена функция, порождающая несколько экземпляров блокнота; эта возможность будет расширена в будущих версиях
    Переработана функция RandomDate, спасибо @Antelox за то, что обратил моё внимание на проблему со старой версией (#8)
    Acpidump, поставляемый со старыми версиями Ubuntu, не поддерживает ключ "-s". Теперь это обрабатывается с сообщением об ошибке. Спасибо @Antelox за этот issue (#7)
    Devmanview.exe не удалялся после второго запуска, исправлено

  • 0.1.5:
    Добавлена поддержка ассоциации и деассоциации (по умолчанию отключено) расширений файлов. Ссылка: https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
    Добавлена поддержка предоставленного пользователем буфера обмена. Если он отсутствует, будет сгенерирована случайная строка. Заполните файл вашими Honeytokens по выбору
    Удалена поддержка XP
    Преобразованы разделы пакетного скрипта в PowerShell. Больше логики перенесено в гостевой скрипт; короче говоря, теперь меньше причин часто создавать/пересоздавать шаблон, так как больше элементов рандомизируется на гостевой системе. Добавлена функция, рандомизирующая фоновое изображение рабочего стола Добавлена функция, создающая документы «всех» видов на гостевой системе Добавлена функция, создающая документы «всех» видов на гостевой системе и перемещающая их в корзину Рандомизация DigitalProductId в двух дополнительных местах: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\DigitalProductId. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\DigitalProductId. Используйте паравиртуализационный интерфейс: None (проверено с VBox 5.1.4) — проверка обновлена, чтобы отразить это изменение. Предполагаю, что это изменение в VBox появилось благодаря: TiTi87, спасибо!

/Микаэль

Обратная связь всегда приветствуется! =)

Скачать инструмент







  • 0.1.4:
    Исправлена ошибка для пользователей python-dmidecode 3.10.13-3, это была моя вина..
    Добавлена функция, рандомизирующая VolumeID (новое требование: VolumeID.exe), эта информация, например, собирается Rovnix
    Добавлена функция, рандомизирующая имя пользователя и имя компьютера/хоста (новые требования: список имён пользователей и имён компьютеров)
    Первая попытка добавить информацию в буфер обмена; идея (команда) появилась из твита @shanselman. Будет улучшено в следующем релизе
    Обновлён readme: новые зависимости и новые функции, требующие перезагрузки

  • 0.1.3:
    Копирование и установка строки бренда ЦП.
    Проверка, подключено ли аудиоустройство к гостевой системе. Ссылка: http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html
    Проверка архитектуры ОС по сравнению с бинарным файлом DevManView.
    Рандомизация ProductId в двух дополнительных местах:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\ProductId.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\ProductId.
    Очистка ключа продукта Windows из реестра (чтобы предотвратить его кражу...).
    Редактирование DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId) для соответствия новому ProductId.

  • 0.1.2:
    Проверка, используется ли устаревший паравиртуализационный интерфейс (использование устаревшего интерфейса смягчает обнаружение «cpuid feature»).

  • 0.1.1:
    Проверка количества ЦП (менее 2 == предупреждение).
    Проверка объёма памяти (менее 2 ГБ == предупреждение).
    Проверка, используется ли IP/IP-диапазон по умолчанию для vboxnet0 (вы можете игнорировать уведомление, если не используете его).
    Рандомизация ProductId.
    Объединён PR #3 от r-sierra (Спасибо за помощь!)
    Исправлена ошибка в AcpiCreatorId (Спасибо @Nadacsc за сообщение!)
    Исправлена ошибка в разборе DmiBIOSReleaseDate.
    Исправлена ошибка в DmiBIOSReleaseDate для обработки как «стандартного» варианта с опечаткой, так и правильно написанного (Спасибо @WanpengQian за сообщение!).
    Включение DevManView не сработало как ожидалось; в этом релизе должно быть исправлено.
    Поддерживается также SATA-контроллер (ранее изменялись только настройки IDE)
    Обновлён readme

  • 0.1.0:
    Решено обнаружение WMI, ставшее известным благодаря HT. Добавлен
    DevManView.exe (архитектура на ваш выбор) в список требований.

  • < 0.1.0 История версий до этого не велась, нужно с чего-то начать, полагаю.