
Exploitation de la CVE-2023-44604. Utilisation d'une VM Kali Linux (attaquant) et d'une VM serveur Debian 11 (victime).
[AVERTISSEMENT]
Ce projet est destiné uniquement à des fins éducatives et de laboratoire. N'utilisez ces techniques que dans des environnements qui vous appartiennent ou pour lesquels vous êtes autorisé à effectuer des tests.
Ce laboratoire simulera l'exploitation de CVE-2023-46604, en utilisant une VM Kali Linux (attaquant) et une VM serveur Debian 11 (victime).
Ce laboratoire ne fonctionne que si votre système d'exploitation hôte est Windows !
--> Si vous utilisez Linux, ce laboratoire ne fonctionnera pas !
AVERTISSEMENT
Les logiciels Apache et Java seront installés automatiquement (à l'aide de scripts) sur les VM. Ne les installez pas manuellement sur votre PC hôte !
Nous utilisons les logiciels suivants dans cet exercice :
Installez VBoxManage et définissez la commande comme variable d'environnement :
Clonez ou téléchargez le dépôt à l'emplacement de votre choix. (les commandes vboxmanage doivent pouvoir fonctionner dans ce dossier)
C:\Users\<user_name>\CVE-2023-46604\Après avoir cloné le dépôt sur votre système local, ajoutez dans ce dossier (\CVE-2023-46604\) un nouveau dossier VDI\.
La structure de votre dossier devrait maintenant ressembler à ceci :
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
Les scripts de ce laboratoire utilisent des VDI pour créer et supprimer des VM. Nous allons maintenant télécharger les VDI suivants :
CVE-2023-46604\VDI\.Debian-original.vdi.CVE-2023-46604\VDI\.Kali-original.vdi.La structure de votre dossier devrait maintenant ressembler à ceci :
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
├── Debian-original.vdi
└── Kali-original.vdi
Nom d'utilisateur : osboxes
Mot de passe : osboxes.org
cd scripts
.\DebCreate.ps1
.\sshDebian.ps1
[REMARQUE]
Lors de la première connexion SSH, vous pouvez voir un message comme :The authenticity of host '[127.0.0.1]:2220' can't be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?C'est normal. SSH vous avertit que la clé d'hôte de la VM n'est pas encore enregistrée dans votre fichier
.ssh/known_hosts.
Si vous souhaitez vérifier votre VM Debian, vous pouvez vous y connecter en SSH :
ssh -p2220 [email protected]
Nom d'utilisateur : osboxes
Mot de passe : osboxes.org
cd scripts
.\KalCreate.ps1
vboxmanage startvm "Kali Linux"
# When enabling ssh, the server will from then on start on boot.
sudo systemctl enable ssh
# Power off the VM.
sudo poweroff
À partir de ce moment, SSH démarrera automatiquement au démarrage de la VM.
Si vous souhaitez vérifier votre VM Kali, vous pouvez vous y connecter en SSH :
ssh -p2225 [email protected]
.\sshKali.ps1
[REMARQUE]
Lors de la première connexion SSH, vous pouvez voir un message comme :The authenticity of host '[127.0.0.1]:2225' cant be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?C'est normal. SSH vous avertit que la clé d'hôte de la VM n'est pas encore enregistrée dans votre fichier
.ssh/known_hosts.
Vous avez maintenant un accès Remote Command Execution (RCE) à la VM victime Debian.
Vous pouvez exécuter quelques commandes Linux pour vérifier que vous avez maintenant un accès distant à la VM Debian11 :
# Show the current directory
pwd
# Check the operating system
cat /etc/os-release
# Check the current user
whoami
# Check the kernel information
uname -a
Après une exploitation réussie :
┌─────────────────────┐
│ Host System │
│ (VirtualBox Host) │
└─────────┬───────────┘
│
┌────────────────┴────────────────┐
│ │
NAT + Port Forwarding NAT + Port Forwarding
SSH: localhost:2225 SSH: localhost:2220
│ │
┌───────────┴───────────┐ ┌───────────┴───────────┐
│ Kali Linux VM │ │ Debian 11 Server │
│ (Attacker) │ │ (Victim) │
│ │ │ │
│ NIC1: NAT │ │ NIC1: NAT │
│ NIC2: Internal Net │<───────>│ NIC2: Internal Net │
│ "inet" │ │ "inet" │
└───────────────────────┘ └───────────────────────┘
Lorsque vous voulez créer une VM, exécutez simplement la commande suivante dans le dossier scripts/ :
.\DebCreate.ps1.\KaliCreate.ps1Lorsqu'une nouvelle VM est créée, les scripts DebCreate.ps1 et KalCreate.ps1 font d'abord une copie du fichier VDI d'origine (ex. Debian-original.vdi). VBoxManage utilise ensuite cette copie pour créer la VM.
Cela garantit que les installations de logiciels ou les modifications de configuration effectuées dans une VM ne sont pas conservées dans les futures créations de VM, ce qui permet à chaque nouvelle VM de démarrer à partir d'un VDI propre .
Après avoir quitté une VM, vous pouvez saisir l'une des 2 commandes pour supprimer la VM (et une copie du VDI). Exécutez la commande suivante dans le dossier scripts/ :
.\DebDelete.ps1.\KaliDelete.ps1Lorsque les VM sont créées, elles utilisent une copie d'un VDI d'origine pour fonctionner. Ainsi, lors de la suppression d'une VM, vous n'aurez pas les logiciels précédemment installés encore présents sur une nouvelle VM.