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:
- VM propre et fonctionnelle
- Créer snapshot "CLEAN"
- Tester quelque chose de destructif (supprimer System32, désactiver services...)
- Système cassé? Pas grave!
- Restaurer snapshot "CLEAN"
- VM comme neuve en 10 secondes
Questions:
- Avez-vous déjà cassé Windows en testant quelque chose?
- Combien de temps ça vous a pris pour réinstaller?
Étape 1.3: Créer Votre Premier Snapshot
Dans VirtualBox:
- Sélectionnez votre VM Windows
- Machine → Prendre un instantané (ou icône 📸)
- Nom: "CLEAN_BASE"
- Description: "Windows propre, juste installé, avant tous tests"
- Cliquez OK
BOOM! Snapshot créé en quelques secondes.
Dans VMware:
- VM → Snapshot → Take Snapshot
- 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!):
- Démarrez la VM
- Ouvrez l'Explorateur de fichiers
- Allez dans
C:\Windows\System32
AVERTISSEMENT: Normalement, JAMAIS faire ça sur un système réel!
-
Essayez de supprimer
notepad.exe- Clic droit → Supprimer
- Windows peut bloquer (fichier protégé)
-
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 -
Essayez de lancer Notepad
- Windows + R →
notepad - Erreur! Le fichier n'existe plus
- Windows + R →
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:
-
Windows Update (wuauserv)
- Clic droit → Arrêter
- Clic droit → Propriétés → Type de démarrage: Désactivé
-
Windows Defender (WinDefend)
- Même chose
-
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:
- Éteignez la VM (ou pas, vous pouvez restaurer même en marche!)
- Clic droit sur VM → Instantanés
- Sélectionnez "CLEAN_BASE"
- Clic droit → Restaurer
- 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:
- Depuis CLEAN_BASE, démarrez la VM
- Installez Chrome (ou autre logiciel)
- Créez snapshot: "APRES_INSTALL_CHROME"
- Restaurez "CLEAN_BASE"
- Installez Python
- 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:
- Restaurez "APRES_INSTALL_CHROME"
- Vérifiez que Chrome est là mais pas Python
- Restaurez "APRES_INSTALL_PYTHON"
- Vérifiez que Python est là mais pas Chrome
- Restaurez "CLEAN_BASE"
- 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:
- Clic droit sur VM → Paramètres → Stockage
- 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:
- Clic droit sur votre VM → Cloner
- Nom: "Windows_TEST_1"
- Type de clone: Cochez "Lié" (Linked)
- Instantané: Sélectionnez "CLEAN_BASE"
- 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:
- "Windows_TEST_MALWARE" (pour tester malwares)
- "Windows_TEST_破坏" (pour tests destructifs)
- "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!):
- Démarrez "Windows_TEST_DESTRUCTIF"
- cmd en tant qu'admin:
takeown /f C:\Windows\System32 /r /d y
icacls C:\Windows\System32 /grant %username%:F /t
- NE PAS FAIRE (trop long):
rd /s /q C:\Windows\System32 - À la place, supprimez juste un dossier important:
rd /s /q C:\Windows\System32\drivers
- 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:
- Désactivez Windows Defender
- Créez un fichier
test.txt - Collez dedans:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
- Sauvegardez
- Renommez en
test.com - 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:
- Force shutdown de la VM
- Restaurez snapshot ou recréez clone
- 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:
- Supprime le clone de test
- Recrée un nouveau clone propre
- 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:
- Casser un clone en testant
- Le supprimer
- En recréer un nouveau en 10 sec
- 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:
- Paramètres VM → Réseau
- Mode d'accès réseau: Réseau interne
- 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:
- Créez un snapshot avec nom descriptif
- Faites votre test
- Si ça marche, fusionnez ou supprimez snapshot
- 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:
-
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
-
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
-
Architecture de lab (schéma):
- Votre VM de base
- Vos snapshots
- Vos clones de test
- Configuration réseau
-
Script PowerShell (Étape 7.1)
Critères d'Évaluation
| Critère | Points |
|---|---|
| Création et gestion de snapshots | 25% |
| Tests destructifs effectués et documentés | 25% |
| Clonage et linked clones | 20% |
| Compréhension de l'isolation et sécurité | 15% |
| Qualité de la documentation | 10% |
| Script d'automatisation | 5% |
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:
- Snapshots = Liberté totale - Testez tout sans crainte
- Linked clones = Efficacité - Plusieurs environnements, peu d'espace
- Isolation réseau = Sécurité - Pas d'impact sur réseau réel
- Documentation = Productivité - Sachez où vous en êtes
- 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