Aller au contenu principal

Lab 2.2: VM Jetable pour Tests Destructifs

Objectifs d'Apprentissage​

À la fin de ce laboratoire, vous serez capable de:

  • Créer une VM Windows optimisée pour les tests
  • Utiliser les snapshots pour tester sans risque
  • Effectuer des tests destructifs en toute sécurité
  • Comprendre le clonage et les linked clones
  • Créer un environnement de lab réutilisable

Durée Estimée​

25 minutes

Prérequis​

  • VirtualBox ou VMware installé
  • Une VM Windows 10/11 fonctionnelle
  • 20 GB d'espace disque libre minimum

Contexte Professionnel​

En tant qu'administrateur système ou professionnel de la sécurité, vous devez souvent:

  • Tester des configurations qui pourraient casser le système
  • Vérifier l'impact de malwares (en environnement isolé)
  • Expérimenter avec des modifications système risquées
  • Former des utilisateurs sur des erreurs courantes

Les VMs jetables permettent:

  • Tester TOUT sans crainte
  • Revenir en arrière instantanément
  • Multiplier les environnements de test
  • Isoler complètement du système hôte

Partie 1: Comprendre les Snapshots​

Étape 1.1: Concept de Snapshot​

Un snapshot (instantané) capture l'état EXACT d'une VM à un moment donné:

  • Tous les fichiers
  • Toute la mémoire RAM
  • Toute la configuration

Analogie: C'est comme une sauvegarde qui prend 2 secondes et permet de revenir en arrière en 5 secondes.

Étape 1.2: Cas d'Usage​

Scénario typique:

  1. VM propre et fonctionnelle
  2. Créer snapshot "CLEAN"
  3. Tester quelque chose de destructif (supprimer System32, désactiver services...)
  4. Système cassé? Pas grave!
  5. Restaurer snapshot "CLEAN"
  6. VM comme neuve en 10 secondes

Questions:

  1. Avez-vous déjà cassé Windows en testant quelque chose?
  2. Combien de temps ça vous a pris pour réinstaller?

Étape 1.3: Créer Votre Premier Snapshot​

Dans VirtualBox:

  1. Sélectionnez votre VM Windows
  2. Machine → Prendre un instantané (ou icône 📸)
  3. Nom: "CLEAN_BASE"
  4. Description: "Windows propre, juste installé, avant tous tests"
  5. Cliquez OK

BOOM! Snapshot créé en quelques secondes.

Dans VMware:

  1. VM → Snapshot → Take Snapshot
  2. Même principe

Questions: 3. Combien de temps a pris la création du snapshot? 4. Quelle taille fait votre fichier de snapshot?


Partie 2: Tests Destructifs - Niveau 1 (Récupérable)​

Étape 2.1: Test 1 - Supprimer des Fichiers Système​

SUR VOTRE VM (PAS votre ordinateur réel!):

  1. Démarrez la VM
  2. Ouvrez l'Explorateur de fichiers
  3. Allez dans C:\Windows\System32

AVERTISSEMENT: Normalement, JAMAIS faire ça sur un système réel!

  1. Essayez de supprimer notepad.exe

    • Clic droit → Supprimer
    • Windows peut bloquer (fichier protégé)
  2. Essayez avec droits admin:

    • Ouvrez cmd en tant qu'admin
    takeown /f C:\Windows\System32\notepad.exe
    icacls C:\Windows\System32\notepad.exe /grant %username%:F
    del C:\Windows\System32\notepad.exe
  3. Essayez de lancer Notepad

    • Windows + R → notepad
    • Erreur! Le fichier n'existe plus

Observez:

  • Windows continue de fonctionner
  • Mais notepad est cassé

Questions: 5. Avez-vous réussi à supprimer notepad.exe? 6. Le système fonctionne-t-il toujours?

Étape 2.2: Test 2 - Désactiver des Services Critiques​

Ouvrez services.msc:

services.msc

Trouvez et arrêtez ces services:

  1. Windows Update (wuauserv)

    • Clic droit → Arrêter
    • Clic droit → Propriétés → Type de démarrage: Désactivé
  2. Windows Defender (WinDefend)

    • Même chose
  3. Windows Search

    • Même chose

Redémarrez la VM

Observez:

  • Certaines fonctionnalités ne marchent plus
  • Recherche Windows cassée
  • Pas de mises à jour
  • Pas de protection antivirus

Questions: 7. Quels services avez-vous désactivés? 8. Quel impact immédiat avez-vous observé?

Étape 2.3: Test 3 - Modifier le Registre (Dangereux!)​

ATTENTION: Sur un système réel, ceci peut causer un BSOD!

Ouvrez regedit:

regedit

Allez dans:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Trouvez la clé Shell (normalement = explorer.exe)

Changez à: cmd.exe

Redémarrez la VM

Résultat:

  • Au lieu du bureau Windows normal, vous aurez juste cmd!
  • Pas d'explorateur, pas de bureau!

Questions: 9. Qu'avez-vous obtenu après redémarrage? 10. Pourriez-vous encore utiliser Windows normalement?


Partie 3: Restauration de Snapshot​

Étape 3.1: Votre VM est Cassée!​

Après tous ces tests, votre VM est probablement:

  • Notepad supprimé
  • Services critiques désactivés
  • Registre modifié
  • Bureau cassé

Sur un système réel: Réinstallation = 1-2 heures

Avec snapshot: Récupération = 10 secondes!

Étape 3.2: Restaurer le Snapshot​

Dans VirtualBox:

  1. Éteignez la VM (ou pas, vous pouvez restaurer même en marche!)
  2. Clic droit sur VM → Instantanés
  3. Sélectionnez "CLEAN_BASE"
  4. Clic droit → Restaurer
  5. Confirmez

Attendez 5-10 secondes...

MAGIE! Votre VM est de retour à l'état propre!

Redémarrez la VM:

  • Notepad fonctionne
  • Tous les services actifs
  • Registre normal
  • Bureau normal

Questions: 11. Combien de temps a pris la restauration? 12. Tous vos tests destructifs ont-ils été annulés?

Étape 3.3: Mesurez la Différence​

Temps pour:

  • Réinstaller Windows from scratch: _____ minutes
  • Restaurer un snapshot: _____ secondes

Ratio: Environ 100x plus rapide!


Partie 4: Snapshots Multiples - Arborescence​

Étape 4.1: Créer une Hiérarchie de Snapshots​

Les snapshots peuvent être organisés en arborescence:

CLEAN_BASE
├── APRES_INSTALL_CHROME
├── APRES_INSTALL_PYTHON
│ └── APRES_CONFIG_PYTHON
└── AVEC_BACKDOOR_TEST

Créez cette structure:

  1. Depuis CLEAN_BASE, démarrez la VM
  2. Installez Chrome (ou autre logiciel)
  3. Créez snapshot: "APRES_INSTALL_CHROME"
  4. Restaurez "CLEAN_BASE"
  5. Installez Python
  6. Créez snapshot: "APRES_INSTALL_PYTHON"

Vous avez maintenant 3 états:

  • Windows propre
  • Windows + Chrome
  • Windows + Python

Avantage: Tester différentes configurations sans réinstaller!

Étape 4.2: Navigation entre Snapshots​

Exercice:

  1. Restaurez "APRES_INSTALL_CHROME"
  2. Vérifiez que Chrome est là mais pas Python
  3. Restaurez "APRES_INSTALL_PYTHON"
  4. Vérifiez que Python est là mais pas Chrome
  5. Restaurez "CLEAN_BASE"
  6. Ni Chrome ni Python

Questions: 13. Combien de snapshots avez-vous créés? 14. Pouvez-vous naviguer librement entre eux?

Étape 4.3: Gestion de l'Espace Disque​

Attention: Les snapshots prennent de l'espace!

Vérifiez l'espace:

Dans VirtualBox:

  1. Clic droit sur VM → Paramètres → Stockage
  2. Regardez la taille des fichiers

Chaque snapshot stocke:

  • Les DIFFÉRENCES par rapport au snapshot parent
  • Pas tout le disque à chaque fois (delta)

Bonne pratique:

  • Ne gardez que les snapshots nécessaires
  • Supprimez les anciens
  • Fusionnez quand possible

Partie 5: Clonage de VMs​

Étape 5.1: Clone Complet vs Linked Clone​

Clone Complet:

  • Copie TOTALE de la VM
  • Indépendant de l'original
  • Prend autant d'espace que la VM originale
  • Peut être déplacé, partagé

Linked Clone:

  • Partage le disque avec la VM originale
  • Stocke seulement les DIFFÉRENCES
  • Beaucoup plus rapide à créer
  • Utilise beaucoup moins d'espace
  • Parfait pour tests!

Étape 5.2: Créer un Linked Clone​

Dans VirtualBox:

  1. Clic droit sur votre VM → Cloner
  2. Nom: "Windows_TEST_1"
  3. Type de clone: Cochez "Lié" (Linked)
  4. Instantané: Sélectionnez "CLEAN_BASE"
  5. Cliquez Cloner

BOOM! Clone créé en 10-20 secondes!

Vérifiez l'espace:

  • VM originale: ~15-20 GB
  • Linked clone: ~500 MB au départ!

Étape 5.3: Créer Plusieurs Clones de Test​

Créez 3 linked clones:

  1. "Windows_TEST_MALWARE" (pour tester malwares)
  2. "Windows_TEST_破坏" (pour tests destructifs)
  3. "Windows_TEST_NETWORK" (pour tests réseau)

Avantages:

  • 3 VMs en quelques minutes
  • Espace total: ~2-3 GB au lieu de 60 GB
  • Chaque clone peut être cassé et recréé en 10 secondes

Questions: 15. Combien de clones avez-vous créés? 16. Quel est l'espace disque total utilisé?


Partie 6: Tests Destructifs - Niveau 2 (Plus Avancé)​

Maintenant que vous avez des VMs jetables, testons des choses VRAIMENT destructives!

Étape 6.1: Test 1 - Suppression de System32​

SUR UN LINKED CLONE uniquement!

Mythe Internet: "Supprimer System32 accélère Windows"

Réalité: Ça détruit complètement Windows!

Testons (sur clone!):

  1. Démarrez "Windows_TEST_DESTRUCTIF"
  2. cmd en tant qu'admin:
takeown /f C:\Windows\System32 /r /d y
icacls C:\Windows\System32 /grant %username%:F /t
  1. NE PAS FAIRE (trop long): rd /s /q C:\Windows\System32
  2. À la place, supprimez juste un dossier important:
rd /s /q C:\Windows\System32\drivers
  1. Redémarrez

Résultat: BSOD ou échec de démarrage!

Récupération: Supprimez le clone, recréez-en un nouveau en 10 secondes!

Étape 6.2: Test 2 - Malware de Test (EICAR)​

EICAR = Fichier de test antivirus standard (pas un vrai virus, juste un test)

Sur clone de test:

  1. Désactivez Windows Defender
  2. Créez un fichier test.txt
  3. Collez dedans:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
  1. Sauvegardez
  2. Renommez en test.com
  3. Réactivez Defender

Résultat: Defender détecte et supprime!

Observez:

  • Quarantaine
  • Notifications
  • Logs

Questions: 17. Defender a-t-il détecté EICAR? 18. Combien de temps après réactivation?

Étape 6.3: Test 3 - Fork Bomb (DoS)​

Fork Bomb = Programme qui se duplique infiniment jusqu'à saturer le système

ATTENTION: Ceci va GELER votre VM!

Créez forkbomb.bat:

:loop
start %0
goto loop

Exécutez: Double-clic sur forkbomb.bat

Résultat en 10 secondes:

  • CPU à 100%
  • Mémoire saturée
  • VM gelée complètement
  • Impossible de faire quoi que ce soit

Récupération:

  1. Force shutdown de la VM
  2. Restaurez snapshot ou recréez clone
  3. 10 secondes, tout est OK!

Questions: 19. Votre VM a-t-elle gelé? 20. Combien de processus cmd.exe ont été créés? (Task Manager avant gel)


Partie 7: Automatisation et Scripts​

Étape 7.1: Script de Réinitialisation Automatique​

Créez un script qui:

  1. Supprime le clone de test
  2. Recrée un nouveau clone propre
  3. Démarre la nouvelle VM

PowerShell Example:

# Arrêter et supprimer VM test
VBoxManage controlvm "Windows_TEST_1" poweroff
VBoxManage unregistervm "Windows_TEST_1" --delete

# Recréer linked clone
VBoxManage clonevm "Windows_Original" --name "Windows_TEST_1" --snapshot "CLEAN_BASE" --options link --register

# Démarrer
VBoxManage startvm "Windows_TEST_1"

Étape 7.2: Environnement de Test Complet​

Architecture idéale pour labs:

VM_BASE (jamais touchée, snapshots multiples)
├── CLEAN_BASE (snapshot)
├── WITH_TOOLS (snapshot - outils installés)
└── HARDENED (snapshot - durci)

Clones de test (recrées à volonté):
├── TEST_MALWARE_1
├── TEST_MALWARE_2
├── TEST_NETWORK
└── TEST_EXPLOIT

Workflow:

  1. Casser un clone en testant
  2. Le supprimer
  3. En recréer un nouveau en 10 sec
  4. Recommencer!

Partie 8: Mesures de Sécurité​

Étape 8.1: Isolation Réseau​

IMPORTANT: Les VMs de test doivent être isolées!

Configuration réseau recommandée:

Pour tests offensifs:

  • Réseau: Host-Only ou Internal Network
  • Pas d'Internet!
  • Communication seulement entre VMs de test

Comment configurer:

  1. Paramètres VM → Réseau
  2. Mode d'accès réseau: Réseau interne
  3. Nom: "TestLab"

Vérifiez l'isolation:

  • Essayez de pinguer google.com (devrait échouer)
  • Essayez de pinguer autre VM sur même réseau interne (devrait marcher)

Étape 8.2: Snapshots Avant Chaque Test​

Bonne pratique:

Avant CHAQUE test potentiellement destructif:

  1. Créez un snapshot avec nom descriptif
  2. Faites votre test
  3. Si ça marche, fusionnez ou supprimez snapshot
  4. Si ça casse, restaurez

Exemple:

  • Snapshot: "AVANT_TEST_ROOTKIT"
  • Test du rootkit
  • Si ça plante: Restore → Analyse pourquoi
  • Retry avec corrections

Étape 8.3: Documentation​

Documentez chaque snapshot:

Bon exemple:

Nom: APRES_INSTALL_METASPLOIT
Description:
- Kali Linux
- Metasploit Framework installé et mis à jour
- Base de données PostgreSQL configurée
- Prêt pour tests de pentest
Date: 2024-11-08

Mauvais exemple:

Nom: test1
Description: (vide)

Livrables​

À remettre:

  1. Document de tests (Word/PDF) contenant:

    • Liste des tests destructifs effectués
    • Résultats observés
    • Temps de récupération via snapshot
    • Réponses aux 20 questions
  2. Captures d'écran (minimum 6):

    • Liste de vos snapshots (arborescence)
    • VM cassée (ex: bureau remplacé par cmd)
    • Restauration en cours
    • VM restaurée et fonctionnelle
    • Liste de clones créés
    • Test EICAR détecté par Defender
  3. Architecture de lab (schéma):

    • Votre VM de base
    • Vos snapshots
    • Vos clones de test
    • Configuration réseau
  4. Script PowerShell (Étape 7.1)


Critères d'Évaluation​

CritèrePoints
Création et gestion de snapshots25%
Tests destructifs effectués et documentés25%
Clonage et linked clones20%
Compréhension de l'isolation et sécurité15%
Qualité de la documentation10%
Script d'automatisation5%

Commandes VirtualBox de Référence​

Gestion de Snapshots​

# Lister les snapshots
VBoxManage snapshot "NomVM" list

# Créer un snapshot
VBoxManage snapshot "NomVM" take "NomSnapshot" --description "Description"

# Restaurer un snapshot
VBoxManage snapshot "NomVM" restore "NomSnapshot"

# Supprimer un snapshot
VBoxManage snapshot "NomVM" delete "NomSnapshot"

Clonage​

# Clone complet
VBoxManage clonevm "VMSource" --name "VMClone" --register

# Linked clone
VBoxManage clonevm "VMSource" --name "VMClone" --snapshot "SnapshotName" --options link --register

Gestion de VMs​

# Démarrer
VBoxManage startvm "NomVM"

# Arrêter proprement
VBoxManage controlvm "NomVM" acpipowerbutton

# Force shutdown
VBoxManage controlvm "NomVM" poweroff

# Supprimer
VBoxManage unregistervm "NomVM" --delete

Dépannage​

Problème: Snapshot prend beaucoup de temps​

Solution: Si votre VM a beaucoup de RAM (8 GB+), le snapshot de la mémoire peut être long. Éteignez la VM avant de créer le snapshot.

Problème: Manque d'espace disque​

Solution:

  • Supprimez les snapshots inutiles
  • Fusionnez les snapshots (clic droit → Supprimer - les données sont conservées)
  • Utilisez linked clones au lieu de clones complets

Problème: Linked clone ne démarre pas​

Solution: Le linked clone dépend de la VM parent. Si vous supprimez ou déplacez la VM parent, les linked clones ne fonctionneront plus.


Aller Plus Loin (Optionnel)​

Challenge 1: Lab Multi-VMs​

Créez un lab avec:

  • 1 VM Windows (cible)
  • 1 VM Kali Linux (attaquant)
  • Réseau interne les reliant
  • Snapshots coordonnés des deux

Challenge 2: Vagrant pour Automatisation​

Recherchez Vagrant - outil d'automatisation de VMs.

Créez un Vagrantfile qui:

  • Configure automatiquement une VM Windows
  • Installe des outils
  • Crée les snapshots
  • Le tout en une commande!

Challenge 3: Templates de VMs​

Créez des templates pour différents scénarios:

  • Template "Windows Vulnerable" (ancien, non patché)
  • Template "Windows Hardened" (durci au maximum)
  • Template "Windows Default" (installation de base)

Documentez les différences et cas d'usage.


Conclusion​

Ce lab vous a enseigné:

  • Utiliser les snapshots pour tester sans risque
  • Créer des environnements jetables
  • Effectuer des tests destructifs en toute sécurité
  • Optimiser l'espace disque avec linked clones
  • Créer une infrastructure de lab réutilisable

Leçons clés:

  1. Snapshots = Liberté totale - Testez tout sans crainte
  2. Linked clones = Efficacité - Plusieurs environnements, peu d'espace
  3. Isolation réseau = Sécurité - Pas d'impact sur réseau réel
  4. Documentation = Productivité - Sachez où vous en êtes
  5. Automatisation = Rapidité - Scripts pour tâches répétitives

Prochaine étape: Lab 2.3 où vous explorerez les options de sécurité BIOS/UEFI et la protection au niveau firmware!


Lab développé dans le cadre du cours Systèmes d'Exploitation - MODULE 2