Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
antivmdetection — Skript zur Erstellung von Vorlagen für VirtualBox, um die VM-Erkennung zu erschweren | Kitploit
Tools/GitHubGitHub/nsmfoo/antivmdetection
IDS/IPS-UmgehungMalware-AnalyseAnti-Bot
GitHubnsmfoo/antivmdetection

antivmdetection

Skript zur Erstellung von Vorlagen für VirtualBox, um die VM-Erkennung zu erschweren

Repository anzeigen
777124vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Antivmdetection

Hintergrund

Ein Skript, das Ihnen hilft, Vorlagen zu erstellen, die Sie mit VirtualBox verwenden können, um die VM-Erkennung zu erschweren.

Mein erster Beitrag zu diesem Thema war 2012 und wurde danach zu unregelmäßigen Zeiten aktualisiert. Das Blog-Format war möglicherweise nicht die beste Art, die Informationen zu veröffentlichen, und einige Leute haben nette und „leicht anzuwendende“ Skripte basierend auf dem Inhalt erstellt.

Um es mir einfacher zu machen, neue Inhalte hinzuzufügen, habe ich beschlossen, genau dasselbe zu tun.

Der Zweck dieses Skripts ist es, verfügbare Einstellungen zu nutzen, ohne die VirtualBox-Basis zu modifizieren. Es gibt Leute, die wirklich tolle Dinge tun, indem sie Virtualbox patchen. Das liegt jedoch außerhalb des Rahmens dieses Skripts. Ich denke, dieser Ansatz hat einige Vorteile, da er (hoffentlich) nicht mit jeder neuen VirtualBox-Version bricht.

Im Laufe der Zeit habe ich auch „Dinge“ aufgenommen, die nicht direkt mit VMs zu tun haben, sondern eher Dinge, die Malware verwendet, um Installationen zu identifizieren. Ich hoffe, das macht nichts..

Das Hauptskript erstellt die folgenden Dateien:

  • Ein Shell-Skript, das als Vorlage verwendet werden kann, vom Host-Betriebssystem ausgeführt und auf die zu modifizierende VM angewendet wird.
  • Ein Dump der DSDT, der im obigen Vorlagenskript verwendet wird.
  • Eine Windows PowerShell-Datei, die innerhalb des Gasts verwendet wird, um die Einstellungen zu handhaben, die nicht vom Host aus geändert werden können. Dieses Skript muss zweimal ausgeführt werden, einmal für die Änderungen, die einen Neustart erfordern, und das zweite Mal für die lästigen Dinge, die nach dem Neustart wieder auftauchen.

Verwendung

Skript vom Host aus generieren

  • Installieren Sie Abhängigkeiten sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Installieren Sie Python-Module: sudo pip3 install -r requirements.txt
  • Laden Sie die folgenden Windows-Binärdateien herunter und extrahieren Sie sie im Antivmdetection-Verzeichnis: wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (x64-Version).
  • Erstellen Sie Computer- und Benutzertextdateien: hostname > computer.lst, whoami > user.lst. Ändern Sie sie, wenn Sie verschiedene Rechnernamen und Benutzer für die VMs verwenden möchten (empfohlen wird, die Dateien mit einer langen Liste von Benutzer- und Rechnernamen zu füllen).
  • Führen Sie das Python-Skript als sudo aus: sudo python3 antivmdetect.py
  • Machen Sie das generierte Host-Skript für den aktuellen Benutzer ausführbar: sudo chmod a+x xxxxx.sh
  • Wenn Sie die folgende Meldung erhalten: "ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)", liegt dies an einer Einschränkung in Virtualbox. Weitere Informationen finden Sie in diesem Fall: https://github.com/nsmfoo/antivmdetection/issues/37. Nicht verifiziert, aber https://www.tonymacx86.com/dsdt-database könnte eine gute Ressource sein...

VM einrichten

  • Erstellen Sie die VM, starten Sie sie aber nicht, und beenden Sie die VirtualBox GUI. Das Shell-Skript muss vor der Installation ausgeführt werden!.
  • Überprüfen Sie, ob "I/O APIC" aktiviert ist (System > Motherboard-Tab).
  • Überprüfen Sie, dass "Paravirtualisierungsschnittstelle" auf "Keine" gesetzt ist (System > Beschleunigungs-Tab).
  • Ändern Sie die CPU-Anzahl auf 2 oder mehr, wenn möglich.
  • Legen Sie die VM-IP fest (Datei > Host-Netzwerk-Manager > Adapter manuell konfigurieren > IPv4-Adresse).
  • Das Skript erwartet, dass das Speicherlayout wie folgt aussieht: + IDE: Primary master (Festplatte) und Primary slave (CD-ROM) + * ATA: Port 0 (Festplatte) und Port 1 (CD-ROM)
  • Führen Sie das Skript als aktueller Benutzer aus (da sich VMs im Home-Verzeichnis des aktuellen Benutzers befinden): /bin/bash xxxxx.sh my-virtual-machine-name
  • Installieren Sie das Windows-Betriebssystem (unterstützt W7 und W10)

Skript innerhalb der VM ausführen

  • Verschieben Sie das Batch-Skript (xxxx.ps1) auf den neu installierten Gast.

  • Führen Sie das Batch-Skript im Gast aus. Denken Sie daran, dass die meisten der geänderten Einstellungen nach jedem Neustart rückgängig gemacht werden. Lassen Sie es daher bei Bedarf beim Start ausführen.

  • Ab Version 0.1.4 erfordern einige angewendete Einstellungen einen Neustart. Führen Sie das Batch-Skript also einmal aus, der Gast wird neu gestartet. Führen Sie das Skript dann erneut aus, um die Einrichtung abzuschließen.

  • Bevor Sie das Batch-Skript im Gast anwenden, deaktivieren Sie bitte die UAC (Neustart erforderlich), da Sie sonst die Registrierung mit dem Skript nicht ändern können.

  • Für Windows 10-Benutzer: Führen Sie das PS-Skript als Administrator aus (Rechtsklick auf cmd.exe -> Als Administrator ausführen, navigieren Sie zum PS-Skript und führen Sie es aus)

  • Wenn richtig angewendet, führt ein Pafish-Lauf zu diesem Ergebnis (keine Notwendigkeit, Virtualbox zu modifizieren).

  • Bitte beachten Sie, dass dieses Skript andere Dinge tut, die nicht von Pafish abgedeckt werden (z.B. W10-Artefakte)

alt text

Hinweise

  • Wenn das Antivmdetect-Skript keine geeigneten Werte findet, kommentiert es diese Einstellungen im neu erstellten Skript mit einem "#" aus. Diese müssen manuell überprüft werden, da sie Auswirkungen auf das haben können, was in der VM angezeigt wird.

Versionsgeschichte

  • 0.1.9:
    Python3-kompatibel
    Erster Versuch, die korrekte Festplatte zu extrahieren, war eine Kopfschmerzquelle für viele. (Issue #35 (und einige andere alte Issues), danke @oaustin)
    Verbesserte String-Handhabung im Shell-Skript (Issue #35 und #36 und PR #44, danke @oaustin, @dashjuvi und @corownik)
    Link zu einer Online-DSDT-Ressource hinzugefügt (Issue #37, danke @MasterCATZ)
    README aktualisiert, um Installationsanweisungen klarer zu machen, danke @jorants (Issue #38)
    Überprüfen, ob der DSDT-Dump wirklich erstellt wurde, danke @nov3mb3r (Issue #42)
    Lizenzhinweis hinzugefügt. Danke @obilodeau (Issue #43)
    Code-Bereinigung: RAID-Festplattenunterstützung aufgrund fehlenden Zugriffs auf Serverhardware entfernt.. und viele andere kleine Verbesserungen

  • 0.1.8:
    Verbesserte Unterstützung für Windows 10
    Markup-Fix von @bryant1410 zusammengeführt (PR #14)
    Problem für Benutzer von macOS + VBox/VMWare Fusion bei der Erstellung der Vorlagen gelöst.
    Die Erstellung der Vorlage von einer virtuellen Maschine aus ist ohnehin nicht der beste Weg.. (Issue #12 und möglicherweise #15)

  • 0.1.7:
    Windows 10 wird jetzt unterstützt (Feedback willkommen)
    Mehrere neue Artefakte für W10-Installationen "korrigiert"
    Neue Abhängigkeit: mesa-utils
    Bug-Fix von @Fullmetal5 zusammengeführt (#10)
    Verschiedene Code-Fixes
    README aktualisiert

  • 0.1.6:
    Ein Pop-up nach dem zweiten Durchlauf hinzugefügt, um deutlicher zu machen, dass Sie startklar sind
    Eine Funktion hinzugefügt, die einige Instanzen von Notepad startet – diese Funktion wird in zukünftigen Versionen erweitert
    Die RandomDate-Funktion überarbeitet, danke an @Antelox für den Hinweis auf das Problem mit der alten (#8)
    Acpidump, das mit älteren Ubuntu-Versionen ausgeliefert wird, unterstützt den Schalter "-s" nicht. Dies wird nun mit einer Fehlermeldung behandelt. Danke an @Antelox für dieses Issue (#7)
    Devmanview.exe wurde nach dem zweiten Durchlauf nicht entfernt, behoben

  • 0.1.5:
    Unterstützung für das Zuordnen und Aufheben von Dateiendungen hinzugefügt (standardmäßig deaktiviert). Referenz: https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
    Unterstützung für benutzerdefinierten Zwischenablagepuffer hinzugefügt. Wenn nicht vorhanden, wird eine zufällige Zeichenfolge generiert. Füllen Sie die Datei mit Honeytokens Ihrer Wahl
    XP-Unterstützung entfernt
    Die Batch-Skriptabschnitte in Powershell konvertiert. Mehr Logik in das Gast-Skript verlagert – kurz gesagt, es gibt weniger Grund, die Vorlage häufig zu erstellen/neu zu generieren, da mehr Elemente auf dem Gast randomisiert werden. Eine Funktion hinzugefügt, die das Desktop-Hintergrundbild randomisiert Eine Funktion hinzugefügt, die Dokumente „aller“ Art auf dem Gast erstellt Eine Funktion hinzugefügt, die Dokumente „aller“ Art auf dem Gast erstellt und in den Papierkorb verschiebt Randomisierung der DigitalProductId an zwei weiteren Stellen: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\DigitalProductId. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\DigitalProductId. Paravirtualisierungsschnittstelle: Keine verwenden (verifiziert mit VBox 5.1.4) - Prüfung aktualisiert, um diese Änderung widerzuspiegeln. Ich gehe davon aus, dass diese Änderung in VBox dank TiTi87 zustande kam, danke!

/Mikael

Feedback ist immer willkommen! =)

Tool herunterladen







  • 0.1.4:
    Einen Fehler für Benutzer von python-dmidecode 3.10.13-3 behoben – das war ganz mein Fehler..
    Eine Funktion hinzugefügt, die die VolumeID randomisiert (neue Voraussetzung: VolumeID.exe), diese Information wird z.B. von Rovnix gesammelt
    Eine Funktion hinzugefügt, die Benutzername und Rechnernamen/Hostnamen randomisiert (neue Voraussetzungen: Listen mit Benutzernamen und Rechnernamen)
    Erster Versuch, Informationen zum Zwischenablagepuffer hinzuzufügen – Idee (Befehl) stammt von einem Tweet von @shanselman. Wird im nächsten Release verbessert
    README aktualisiert: neue Abhängigkeiten und neue Funktionen, die einen Neustart erfordern

  • 0.1.3:
    CPU-Brand-String kopieren und setzen.
    Überprüfen, ob ein Audiogerät an den Gast angeschlossen ist. Referenz: http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html
    Überprüfen der Betriebssystem-Architektur im Vergleich zur DevManView-Binärdatei.
    Randomisierung der ProductId an zwei weiteren Stellen:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\ProductId.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\ProductId.
    Bereinigen des Windows-Produktschlüssels aus der Registrierung (um zu verhindern, dass ihn jemand stiehlt...).
    Bearbeiten der DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId) zur Übereinstimmung mit der neuen ProductId.

  • 0.1.2:
    Überprüfen, ob die Legacy-Paravirtualisierungsschnittstelle verwendet wird (Verwendung der Legacy-Schnittstelle mildert die „cpuid feature“-Erkennung).

  • 0.1.1:
    Überprüfen der CPU-Anzahl (Weniger als 2 == Alarm).
    Überprüfen der Speichergröße (Weniger als 2GB == Alarm).
    Überprüfen, ob die Standard-IP/IP-Bereich für vboxnet0 verwendet wird (Sie können die Benachrichtigung ignorieren, wenn Sie sie nicht verwenden).
    Randomisierung der ProductId.
    PR #3 von r-sierra zusammengeführt (Vielen Dank für die Hilfe!).
    Einen Fehler in der AcpiCreatorId behoben (Danke @Nadacsc für die Meldung!).
    Einen Fehler in der DmiBIOSReleaseDate-Parsing behoben.
    Einen Fehler in DmiBIOSReleaseDate behoben, um sowohl die „Standard“-falschgeschriebene Variante als auch die korrekt geschriebene zu behandeln (Danke @WanpengQian für die Meldung!).
    Die Einbindung von DevManView funktionierte nicht wie erwartet, sollte in diesem Release behoben sein.
    Unterstützt auch SATA-Controller (zuvor wurden nur IDE-Einstellungen geändert)
    README aktualisiert

  • 0.1.0:
    Die durch die HT berühmt gewordene WMI-Erkennung gelöst. DevManView.exe (wahlweise Architektur) zu den Voraussetzungen hinzugefügt.

  • < 0.1.0 Keine Versionsgeschichte vor diesem Datum geführt – musste irgendwo anfangen, nehme ich an.