Ukryta wirtualizacja: narzędzie do maskowania śladów VM w VirtualBox
Kiedy środowisko wirtualne się zdradza
Czy zdarzyło ci się natrafić na podejrzany plik, który zachowuje się inaczej w maszynie wirtualnej niż na prawdziwym sprzęcie? Wiele nowoczesnych szkodników potrafi wykryć maszyny wirtualne i zmienić swoje zachowanie, aby utrudnić analizę. To właśnie problem, który rozwiązuje skrypt anty-wykrywanie autorstwa Mikaela (nsmfoo).
Czym jest antivmdetection?
To skrypt w Pythonie, który generuje:
- Szablon konfiguracji VirtualBox (działa na hoście)
- Skrypt PowerShell do precyzyjnego dostrajania systemu operacyjnego Windows gościa
- Zrzut DSDT (tabele ACPI)
Główną zaletą jest podejście bez modyfikacji jądra VirtualBox. Wszystkie zmiany są wprowadzane przez standardowe API i ustawienia.
Dla kogo to jest?
- Analitycy złośliwego oprogramowania
- Badacze bezpieczeństwa
- Deweloperzy rozwiązań antywirusowych
- Entuzjaści cyberbezpieczeństwa
Jak to działa: 5 kluczowych funkcji
-
Maskowanie funkcji sprzętowych
- Podszywanie się pod CPU i identyfikator BIOS
- Generowanie realistycznych dat wydania firmware'u
- Konfiguracja kontrolera dysku (IDE/SATA)
-
Randomizacja parametrów systemowych
- Nazwa komputera i użytkownika
- Identyfikatory woluminów dysków
- Schowek
- Obrazy tapety pulpitu
-
Tworzenie wiarygodnego środowiska
- Generowanie dokumentów „śmieciowych"
- Konfiguracja skojarzeń plików
- Symulacja aktywności użytkownika
-
Manipulacja rejestrem Windows
- Podszywanie się pod ProductId i DigitalProductId
- Usuwanie śladów kluczy licencyjnych
- Konfiguracja parametrów Internet Explorera
-
Elastyczna konfiguracja
- Wsparcie dla Windows 7 i 10
- Możliwość określenia własnych list nazw do randomizacji
- Podział ustawień na wymagające i niewymagające restartu
Szczegóły techniczne implementacji
Skrypt wykorzystuje:
- Python 3 do generowania szablonów
- Narzędzia ACPI do pracy z tabelami DSDT
- Narzędzia systemowe (dmidecode, smartmontools)
- Windows PowerShell do dostrajania systemu operacyjnego gościa
Architektonicznie rozwiązanie składa się z dwóch części:
- Generator szablonów (host)
- Skrypt dostrajający (gość)
Praktyczne zastosowania
Scenariusz 1: Analiza złośliwego oprogramowania
Gdy musisz zbadać zachowanie szkodliwego oprogramowania, które sprawdza wskaźniki wirtualizacji.
Scenariusz 2: Testowanie mechanizmów ochronnych
Sprawdzanie, jak dobrze twój produkt wykrywa maszyny wirtualne w scenariuszach pentestowych.
Scenariusz 3: Tworzenie środowisk szkoleniowych
Przygotowywanie realistycznych maszyn wirtualnych na potrzeby kursów bezpieczeństwa informacji.
Przykład konfiguracji
# На хосте
sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
sudo pip3 install -r requirements.txt
wget https://download.sysinternals.com/files/VolumeId.zip
wget https://www.nirsoft.net/utils/devmanview-x64.zip
sudo python3 antivmdetect.py
/bin/bash generated_script.sh my-vm-name
# В гостевой ОС
# После первого запуска PowerShell-скрипта требуется перезагрузка
Ograniczenia
- Działa tylko z VirtualBox
- Wymaga ręcznej interwencji dla niektórych ustawień
- Brak wsparcia dla najnowszych wersji Windows 11

Podsumowanie: Czy warto spróbować?
Projekt antivmdetection to doskonałe rozwiązanie dla:
- Badaczy, którzy potrzebują „niewidzialnej" maszyny wirtualnej
- Specjalistów ds. bezpieczeństwa
- Każdego, kto pracuje z podejrzanymi plikami wykonywalnymi
Mimo że projekt nie był aktualizowany od 2022 roku, jego podstawowa funkcjonalność pozostaje aktualna. W prostych scenariuszach skrypt działa od razu, a jego modułowa struktura pozwala łatwo dostosować go do własnych potrzeb.
Polecam wypróbowanie, jeśli potrzebujesz:
- Sprawdzić zachowanie szkodliwego oprogramowania w „realistycznym" środowisku
- Przetestować swoje systemy wykrywania maszyn wirtualnych
- Stworzyć laboratorium szkoleniowe na potrzeby kursów analizy złośliwego oprogramowania
Projekt jest dostępny na licencji MIT — możesz swobodnie używać i modyfikować go do swoich zadań.
Powiązane projekty