Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
CVE-2021-44228-playground — Laboratorio basado en Docker para validar CVE-2021-44228 (Log4Shell) en aplicaciones Java, probar mitigaciones y simular RCE mediante payloads LDAP y HTTP. | Kitploit
Herramientas/GitHubGitHub/b-abderrahmane/cve-2021-44228-playground
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubb-abderrahmane/cve-2021-44228-playground

CVE-2021-44228-playground

Laboratorio basado en Docker para validar CVE-2021-44228 (Log4Shell) en aplicaciones Java, probar mitigaciones y simular RCE mediante payloads LDAP y HTTP.

Ver Repositorio
2211hace 2 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

LOG4SHELL-CVE-2021-44228-Validator

Basic test

Extended test

Acerca de

Esta herramienta le permite verificar si una aplicación web Java simple es vulnerable a CVE-2021-44228 para una versión de Java y Log4J proporcionada por el usuario. También puede [opcionalmente] aplicar una de las mitigaciones predefinidas. El laboratorio de simulación creado por log4shell_validator.py utiliza docker-compose para simular la explotación de la vulnerabilidad log4j y obtener RCE en la máquina vulnerable.

Cómo funciona

En primer lugar, es necesario construir algunas imágenes docker. El script ./build_images.sh debería encargarse de eso.

La simulación del ataque se realiza de la siguiente manera:

  • Primero, se inicia una aplicación web Java simple en un contenedor en el puerto 8080. Cuando esta aplicación recibe llamadas GET en /2021-44228-via-message, siempre registra el campo de cabecera User-Agent. El código de esta aplicación está disponible en ./poc_template.
  • Se inicia un servidor LDAP falso utilizando marshalsec en un contenedor separado en el puerto 1389. (Este contenedor reenviará las solicitudes LDAP recibidas al servidor Nginx).
  • Se inicia un servidor web Nginx en el puerto 8888; este contenedor aloja el archivo .class compilado que queremos ejecutar en nuestra aplicación vulnerable.
  • Se inicia un contenedor curl simple, que ejecuta el script ./exploit.sh que envía un payload a la aplicación vulnerable.

Instrucciones

  • Asegúrese de que python, docker, docker-compose y maven estén disponibles localmente.
  • Construya el archivo jar de marshalsec ejecutando: cd marshalsec/ ; mvn clean package -DskipTests ; cd -
  • Ejecute ./build-images.sh
  • Ejecute python log4shell_validator.py --java-version 8 --log4j-version 2.12.1

Ejemplos de uso

  • Texto de ayuda del envoltorio Python:
~/workspace/CVE-2021-44228-playground$ python log4shell_validator.py --help
usage: log4shell_validator.py [-h] [--java-version JAVA_VERSION] --log4j-version LOG4J_VERSION [--no-cleanup] [--disable-trust-url] [--remove-jndi-lookup-class] [--disable-message-lookup] [--debug]
                              [--exploit-via-thread-context]

log4j-vulnerability-tester

optional arguments:
  -h, --help            show this help message and exit
  --java-version JAVA_VERSION
                        version of java to be used
  --log4j-version LOG4J_VERSION
                        version of log4j to be used
  --no-cleanup          Don't delete used containers.
  --disable-trust-url   Disable the LDAP trustURLCodebase setting on the victim app
  --remove-jndi-lookup-class
                        Remove the JNDI Lookup class from the log4j jar file
  --disable-message-lookup
                        Disable the JNDI message lookup in the victim app's JVM
  --debug               Display all container's logs
  --exploit-via-thread-context
                        By sending the payload to an HTTP handler which makes use of Custom logging with ThreadContext, attempt to bypass the no-message-lookup mitigation

Funcionalidades disponibles:

Este validador ha sido probado con varias combinaciones de Java7/8 y diferentes versiones de Log4J2; para más ejemplos, consulte el pipeline de pruebas extendidas en la pestaña de acciones de GitHub.

Por ahora, se han implementado las siguientes mitigaciones:

  • Deshabilitar trustURLCodebase para LDAP estableciendo la propiedad com.sun.jndi.ldap.object.trustURLCodebase en False.
  • Eliminar el archivo JNDILookup.class del archivo jar de log4j.
  • Deshabilitar la búsqueda de mensajes proporcionando la siguiente bandera a la JVM: -Dlog4j2.formatMsgNoLookups=True

Además de esto, se ha añadido una nueva bandera para probar un vector de explotación que puede evitar la desactivación de la búsqueda de mensajes: --exploit-via-thread-context

Descargo de responsabilidad

Este software ha sido creado únicamente con fines de investigación y para el desarrollo de técnicas de mitigación efectivas, y no está destinado a ser utilizado para atacar sistemas excepto cuando se haya autorizado explícitamente. Los mantenedores del proyecto no son responsables ni están obligados por el uso indebido del software. Úselo con responsabilidad.

Descargar herramienta