Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
Joomla-CMS-Full-Lifecycle-Pentest — Un projet complet de test d'intrusion sur l'ensemble du cycle de vie de Joomla 4.2.5 exploitant CVE-2023-23752 dans un environnement de laboratoire Dockerisé | Kitploit
Un projet complet de test d'intrusion sur l'ensemble du cycle de vie de Joomla 4.2.5 exploitant CVE-2023-23752 dans un environnement de laboratoire Dockerisé
Test de pénétration complet du cycle de vie d'un CMS (Joomla 4.2.5)
📌 Aperçu du projet
Ce projet démontre un test de pénétration complet du cycle de vie réalisé sur un CMS open source (Joomla 4.2.5). L'ensemble du test suit des méthodologies standard (OWASP/PTES) depuis le déploiement en laboratoire jusqu'à l'exploitation, la post-exploitation et la prise de contrôle du compte administrateur.
🛠️ Phase 1 : Guide de déploiement du laboratoire (étape par étape)
Suivez ces étapes exactes pour déployer et reproduire cet environnement vulnérable sur votre infrastructure locale.
Étape 1 : Préparer la machine cible (serveur VM)
Allumez votre VM Ubuntu cible et connectez-vous via SSH (ou ouvrez le terminal directement dans la VM).
Installez Docker et l'utilitaire Compose en fonction de votre version d'Ubuntu :
Ouvrez un nouveau fichier nommé docker-compose.yml à l'aide de l'éditeur nano :
root@kitploit:~
nano docker-compose.yml
Copiez le contenu complet du fichier docker-compose.yml disponible dans ce dépôt et collez-le dans le terminal.
Enregistrez et quittez l'éditeur en appuyant sur : Ctrl + O puis Entrée, puis Ctrl + X.
Étape 3 : Exécuter l'environnement
Lancez les conteneurs en arrière-plan (mode détaché) en exécutant :
root@kitploit:~
sudo docker compose up -d
Attendez quelques instants que le téléchargement se termine. Vérifiez que les services sont actifs :
root@kitploit:~
sudo docker compose ps
Étape 4 : Accéder et configurer depuis la machine hôte (boîte de l'attaquant)
Revenez à votre Machine hôte principale (ou boîte Kali Linux).
Ouvrez votre navigateur web et accédez à l'adresse IP de la VM cible sur le port 8080 :
root@kitploit:~
http://<YOUR_VM_IP>:8080
Suivez l'assistant d'installation de Joomla et saisissez ces identifiants de base de données exacts pour lier les conteneurs :
Type/Connecteur de base de données : MySQL (PDO)
Nom d'hôte :db
Nom d'utilisateur :joomla_user
Mot de passe :joomlapassword
Nom de la base de données :joomla_db
🔍 Phase 2 : Reconnaissance et scan
Agissant en tant qu'attaquant, des outils de scan réseau et spécifiques au CMS ont été déployés depuis Kali Linux :
Nmap : Réalisé pour identifier les ports ouverts et les services sur le port 8080.
JoomScan / CMSeek : Utilisés pour identifier la version exacte du CMS (Joomla 4.2.5).
⚡ Phase 3 : Analyse et exploitation des vulnérabilités
Sur la base de l'identification de version, la recherche de vulnérabilités a conduit à la découverte de CVE-2023-23752 (Contrôle d'accès inapproprié dans l'API centrale de Joomla).
Exécution de l'attaque :
En utilisant le framework Metasploit (msfconsole), le module d'exploitation spécialisé a été exécuté contre la cible :
Résultat : A extrait avec succès les identifiants de base de données en clair (joomla_user / joomlapassword).
🔑 Phase 4 : Post-exploitation et prise de contrôle du compte
Dans une évaluation réelle, les erreurs de configuration s'enchaînent souvent. Pour tester la réutilisation d'identifiants, le mot de passe de base de données divulgué a été utilisé pour tenter une prise de contrôle administrative :
A navigué vers le tableau de bord d'administration de Joomla (/administrator).
A testé le mot de passe de base de données extrait sur le panneau de connexion Admin.
S'est authentifié avec succès en tant que Super Utilisateur, obtenant un accès administratif complet à la configuration centrale du CMS sans déclencher d'alertes.
📝 Phase 5 : Correction et atténuation
Pour sécuriser le système contre CVE-2023-23752 :
Mise à jour : Mettez à niveau Joomla vers la version 4.2.8 ou supérieure immédiatement.
Sécurité réseau : Restreignez l'accès aux points de terminaison /api à l'aide de pare-feu d'applications web (WAF) ou de blocages au niveau du serveur.