Installation des VMs
Les deux VMs sont installées avec Ubuntu Desktop 22.04. Les scripts QEMU créent un disque qcow2 par rôle et attachent deux cartes réseau à chaque VM.
Ressources QEMU
Chaque VM est lancée avec:
RAM: 4096 MiB
CPU: 2 vCPU
Disque: 20G qcow2
Affichage: GTK
Carte projet: e1000 sur TAP
Carte WAN: e1000 sur QEMU user networking
Disques:
images/attacker.qcow2
images/victim.qcow2
Ubuntu Desktop est utilisé volontairement. Une version serveur aurait demandé plus de travail pour la session graphique, les screenshots, les raccourcis et la page victime.
Identité recommandée
Utiliser les valeurs suivantes pendant l'installation graphique:
VM attaquante
hostname: wlkom-attacker
username: user
password: user
VM victime
hostname: wlkom-victim
username: user
password: user
Le nom d'utilisateur user simplifie les chemins générés par les scripts, mais les scripts essaient aussi de s'adapter à $USER et $SUDO_USER.
Lancement de l'installation
Si les disques n'existent pas, scripts/start-vm.sh passe automatiquement en mode installateur:
./scripts/run-vm-setup.sh
Commande équivalente par VM:
./scripts/start-vm.sh attacker
./scripts/start-vm.sh victim
Une fois Ubuntu installé, éteindre la VM depuis l'installateur, puis la redémarrer en mode normal:
./scripts/start-attacker.sh
./scripts/start-victim.sh
Réseau dans les VMs
Chaque VM a deux interfaces QEMU. Les adresses fixes ne sont pas configurées pendant l'installation Ubuntu, mais par les scripts setup-attacker.sh et setup-victim.sh.
| VM | MAC projet | IP projet |
|---|---|---|
| Attaquant | 52:54:00:12:34:56 | 192.168.100.1/24 |
| Victime | 52:54:00:22:34:56 | 192.168.100.2/24 |
Les scripts ciblent les interfaces par MAC, pas par nom Linux. C'est important parce que les noms comme ens3 ou enp0s3 peuvent changer selon l'ordre de détection.
Commandes de setup dans les VMs
Dans l'attaquant:
wget -qO- http://10.0.2.2:8000/setup-attacker.sh | bash
Dans la victime:
wget -qO- http://10.0.2.2:8000/setup-victim.sh | bash
Si wget échoue:
ip route
curl -I http://10.0.2.2:8000/setup-attacker.sh
Puis vérifier côté host que le serveur tourne:
./scripts/serve-host.sh
Noyau après setup
Les deux scripts installent et sélectionnent:
5.15.0-171-generic
Si le noyau courant n'est pas encore le bon, le script demande un reboot. Après reboot:
uname -r
Résultat attendu:
5.15.0-171-generic
Pour plus de détails sur le choix du noyau, lisez Choix du noyau.
Pourquoi ne pas tout automatiser?
Une installation avec autoinstall Ubuntu était prévue au début. Pendant les tests sur plusieurs machines, elle s'est révélée lente et fragile. L'installation graphique est moins élégante sur le papier, mais elle permet de voir directement si la VM démarre, si l'affichage fonctionne et si le réseau de base répond.
On a donc gardé l'installation graphique pour éviter une source de panne supplémentaire. Le projet contient déjà assez de détails kernel pour ne pas ajouter une bataille avec autoinstall.
Pour comprendre pourquoi les deux VMs doivent rester sur le même noyau, lire Choix du noyau et Références techniques.