Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
antivmdetection — Script pour créer des modèles à utiliser avec VirtualBox afin de rendre la détection de VM plus difficile | Kitploit
Outils/GitHubGitHub/nsmfoo/antivmdetection
Évasion IDS/IPSAnalyse de MalwareAnti-Bot
GitHubnsmfoo/antivmdetection

antivmdetection

Script pour créer des modèles à utiliser avec VirtualBox afin de rendre la détection de VM plus difficile

Voir le dépôt
77712418il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Antivmdetection

Contexte

Un script pour vous aider à créer des modèles, que vous pouvez utiliser avec VirtualBox pour rendre la détection de machines virtuelles plus difficile.

Mon premier article sur le sujet date de 2012 et a été mis à jour à plusieurs reprises par la suite. Le format blog n'était peut-être pas la meilleure façon de publier l'information, et certaines personnes ont créé des scripts sympas et « faciles à appliquer » basés sur le contenu.

Pour me faciliter l'ajout de nouveau contenu, j'ai décidé de faire de même.

Le but de ce script est d'utiliser les paramètres disponibles sans modifier la base de VirtualBox. Il y a des gens qui font des choses très intéressantes en patchant VirtualBox. Mais cela dépasse le cadre de ce script. Je pense que cette approche a ses mérites car elle ne casse pas (espérons-le) à chaque nouvelle version de VirtualBox. Avec le temps, j'ai également inclus des « choses » qui ne sont pas directement liées aux machines virtuelles, mais plutôt des éléments que les logiciels malveillants utilisent pour identifier les installations. J'espère que cela ne vous dérange pas.

Le script principal créera les fichiers suivants :

  • Un script shell, qui peut être utilisé comme modèle, à exécuter depuis le système hôte et à appliquer à la machine virtuelle que vous souhaitez modifier.
  • Un dump du DSDT, qui est utilisé dans le script modèle ci-dessus.
  • Un fichier Windows PowerShell à utiliser à l'intérieur de l'invité, pour gérer les paramètres qu'il n'est pas possible de modifier depuis l'hôte. Ce script devra être exécuté deux fois : une pour les modifications nécessitant un redémarrage, et la seconde pour les éléments tenaces qui réapparaissent au redémarrage.

Utilisation

Générer le script depuis l'hôte

  • Installer les dépendances : sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Installer les modules Python : sudo pip3 install -r requirements.txt
  • Télécharger les binaires Windows suivants et les extraire dans le répertoire antivmdetection : wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (version x64).
  • Créer des fichiers texte pour l'ordinateur et l'utilisateur : hostname > computer.lst, whoami > user.lst. Modifiez si vous souhaitez utiliser d'autres noms de machine et d'utilisateur pour les VM (il est recommandé de remplir les fichiers avec une longue liste de noms d'utilisateur et d'ordinateur).
  • Exécuter le script Python en tant que root : sudo python3 antivmdetect.py
  • Rendre le script hôte généré exécutable pour l'utilisateur actuel : sudo chmod a+x xxxxx.sh
  • Si vous obtenez le message suivant : « ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA) », cela est dû à une limitation de VirtualBox. Pour plus de contexte, voir ce ticket : https://github.com/nsmfoo/antivmdetection/issues/37 . Non vérifié comme fonctionnel, mais https://www.tonymacx86.com/dsdt-database pourrait être une bonne ressource...

Configuration de la VM

  • Créer la VM mais ne pas la démarrer, et quitter également l'interface graphique de VirtualBox. Le script shell doit être exécuté avant l'installation !
  • Vérifier que « I/O APIC » est activé (Système > onglet Carte mère).
  • Vérifier que « Interface de paravirtualisation » est réglé sur « Aucune » (Système > onglet Accélération).
  • Modifier le nombre de CPU à 2 ou plus si possible.
  • Définir l'IP de la VM (Fichier > Gestionnaire de réseau hôte > Configurer l'adaptateur manuellement > adresse IPV4).
  • Le script s'attend à ce que la configuration de stockage ressemble à ceci : + IDE : Master primaire (Disque) et Slave primaire (CD-ROM) + * ATA : Port 0 (Disque) et Port 1 (CD-ROM)
  • Exécuter le script en tant qu'utilisateur actuel (car les VM se trouvent dans le répertoire personnel de l'utilisateur) : /bin/bash xxxxx.sh mon-nom-de-machine-virtuelle
  • Installer le système d'exploitation Windows (prend en charge W7 et W10)

Exécuter le script depuis l'intérieur de la VM

  • Déplacer le script batch (xxxx.ps1) vers l'invité nouvellement installé.

  • Exécuter le script batch à l'intérieur de l'invité. N'oubliez pas que la plupart des paramètres modifiés sont réinitialisés après chaque redémarrage. Faites-le donc s'exécuter au démarrage si nécessaire.

  • Depuis la version 0.1.4, certains paramètres appliqués nécessitent un redémarrage. Exécutez donc le script batch une fois, l'invité redémarrera. Puis exécutez à nouveau le script pour finaliser la configuration.

  • Avant d'appliquer le script batch à l'intérieur de l'invité, veuillez désactiver le contrôle de compte d'utilisateur (UAC) (redémarrage requis) sinon vous ne pourrez pas modifier le registre avec le script.

  • Pour les utilisateurs de Windows 10 : exécutez le script PS en tant qu'administrateur (clic droit sur cmd.exe -> Exécuter en tant qu'administrateur, naviguez jusqu'au script PS et exécutez-le).

  • Si appliqué correctement, un test Pafish donnera ce résultat (pas besoin de modifier VirtualBox).

  • Veuillez noter que ce script fait d'autres choses non couvertes par Pafish (par exemple les artefacts W10).

texte alternatif

Remarques

  • Lorsque le script antivmdetect ne trouve pas de valeurs appropriées à utiliser, il commente ces paramètres dans le script nouvellement créé, avec un « # ». Ceux-ci nécessitent une vérification manuelle car ils peuvent avoir un impact sur ce qui est affiché dans la VM.

Historique des versions

  • 0.1.9 :
    Compatibilité Python3
    Première tentative d'extraction du disque correct, source de maux de tête pour beaucoup. (Problème #35 et quelques autres anciens problèmes, merci @oaustin)
    Amélioration de la gestion des chaînes dans le script shell (Problèmes #35 et #36 et PR #44, merci @oaustin, @dashjuvi et @corownik)
    Ajout d'un lien vers une ressource DSDT en ligne (Problème #37, merci @MasterCATZ)
    Mise à jour du README pour clarifier les instructions d'installation, merci @jorants (Problème #38)
    Vérification que le dump DSDT est bien créé, merci @nov3mb3r (Problème #42)
    Ajout d'une notice de licence, merci @obilodeau (Problème #43)
    Nettoyage du code : suppression du support des disques RAID par manque d'accès à du matériel serveur... et beaucoup d'autres petites améliorations

  • 0.1.8 :
    Meilleur support de Windows 10
    Fusion du correctif de balisage de @bryant1410 (PR #14)
    Résolution d'un problème pour les personnes utilisant macOS + VBox/VMWare Fusion pour créer les modèles. Créer le modèle depuis une machine virtuelle n'est de toute façon pas la meilleure méthode... (Problème #12 et peut-être #15)

  • 0.1.7 :
    Windows 10 est désormais supporté (retours bienvenus)
    Plusieurs nouveaux artefacts « corrigés » pour les installations W10
    Nouvelle dépendance : mesa-utils
    Fusion du correctif de bogue de @Fullmetal5 (#10)
    Corrections diverses du code
    Mise à jour du readme

  • 0.1.6 :
    Ajout d'une pop-up après la deuxième exécution, pour clarifier que tout est bon
    Ajout d'une fonction qui lance quelques instances du Bloc-notes, cette fonctionnalité sera étendue dans les versions futures
    Refonte de la fonction RandomDate, merci à @Antelox de m'avoir signalé le problème avec l'ancienne (#8)
    Acpidump fourni avec les anciennes versions d'Ubuntu ne supporte pas l'option « -s ». Ceci est désormais traité avec un message d'erreur. Merci à @Antelox pour ce problème (#7)
    Devmanview.exe n'était pas supprimé après la deuxième exécution, corrigé

Télécharger l’outil