>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Virtualisation furtive : un outil pour masquer les traces de VM dans VirtualBox

Quand un environnement virtuel se trahit lui-même

Vous êtes-vous déjà retrouvé face à un fichier suspect qui se comporte différemment dans une machine virtuelle que sur du matériel réel ? De nombreuses souches de malware modernes sont capables de détecter les machines virtuelles et de modifier leur comportement pour compliquer l'analyse. C'est exactement le problème que le script anti-détection de Mikael (nsmfoo) résout.

Qu'est-ce qu'antivmdetection ?

Il s'agit d'un script Python qui génère :

  • Un modèle de configuration VirtualBox (s'exécute sur l'hôte)
  • Un script PowerShell pour affiner un système d'exploitation Windows invité
  • Un dump DSDT (tables ACPI)

L'avantage principal est l'approche sans modification du noyau VirtualBox. Toutes les modifications sont effectuées via les API et paramètres standard.

À qui est-ce destiné ?

  • Analystes de malware
  • Chercheurs en sécurité
  • Développeurs de solutions antivirus
  • Passionnés de cybersécurité

Comment ça fonctionne : 5 fonctionnalités clés

  1. Masquage des caractéristiques matérielles

    • Usurpation d'identité CPU et BIOS
    • Génération de dates de sortie de firmware réalistes
    • Configuration du contrôleur de disque (IDE/SATA)
  2. Randomisation des paramètres système

    • Nom de l'ordinateur et nom d'utilisateur
    • VolumeIDs des disques
    • Presse-papiers
    • Images d'arrière-plan du bureau
  3. Création d'un environnement crédible

    • Génération de documents « junk »
    • Configuration des associations de fichiers
    • Simulation de l'activité utilisateur
  4. Manipulation du registre Windows

    • Usurpation de ProductId et DigitalProductId
    • Nettoyage des traces de clé de licence
    • Configuration des paramètres d'Internet Explorer
  5. Configuration flexible

    • Support de Windows 7 et 10
    • Possibilité de spécifier des listes de noms personnalisées pour la randomisation
    • Séparation des paramètres entre ceux nécessitant ou non un redémarrage

Détails de mise en œuvre technique

Le script utilise :

  • Python 3 pour la génération de modèles
  • Des outils ACPI pour travailler avec les tables DSDT
  • Des utilitaires système (dmidecode, smartmontools)
  • Windows PowerShell pour affiner le système d'exploitation invité

Architecturalement, la solution est divisée en deux parties :

  1. Générateur de modèles (hôte)
  2. Script d'affinage (invité)

Applications pratiques

Scénario 1 : Analyse de malware

Lorsque vous devez étudier le comportement d'un malware qui vérifie les indicateurs de virtualisation.

Scénario 2 : Test des mécanismes de protection

Vérifier l'efficacité avec laquelle votre produit détecte les machines virtuelles dans les scénarios de pentest.

Scénario 3 : Création d'environnements de formation

Préparation de machines virtuelles réalistes pour les cours de sécurité de l'information.

Exemple de configuration

# На хосте
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-скрипта требуется перезагрузка

Limitations

  • Fonctionne uniquement avec VirtualBox
  • Nécessite une intervention manuelle pour certains paramètres
  • Pas de support pour les versions récentes de Windows 11

Résultat du test Pafish

Conclusion : vaut-il la peine d'essayer ?

Le projet antivmdetection est une excellente solution pour :

  • Les chercheurs qui ont besoin d'une VM « invisible »
  • Les professionnels de la sécurité
  • Toute personne travaillant avec des exécutables suspects

Bien que le projet n'ait pas été mis à jour depuis 2022, sa fonctionnalité principale reste pertinente. Pour les scénarios simples, le script fonctionne out of the box, et sa structure modulaire facilite son adaptation à vos besoins.

Je recommande de l'essayer si vous avez besoin de :

  • Vérifier le comportement du malware dans un environnement « réaliste »
  • Tester vos systèmes de détection de VM
  • Créer un laboratoire de formation pour les cours d'analyse de malware

Le projet est disponible sous licence MIT — vous pouvez l'utiliser et le modifier librement pour vos tâches.

Projets similaires