Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
log4j-detector — Scanner de sistema de arquivos que detecta versões vulneráveis do Log4J (CVE-2021-44228, CVE-2021-45046) analisando classes Java compiladas, incluindo arquivos aninhados. Funciona em Linux, Windows e Mac. | Kitploit
Ferramentas/GitHubGitHub/mergebase/log4j-detector
Análise EstáticaScanners de VulnerabilidadesAnálise de VulnerabilidadesSegurança da Cadeia de Suprimentos
GitHubmergebase/log4j-detector

log4j-detector

Scanner de sistema de arquivos que detecta versões vulneráveis do Log4J (CVE-2021-44228, CVE-2021-45046) analisando classes Java compiladas, incluindo arquivos aninhados. Funciona em Linux, Windows e Mac.

Ver Repositório
64096há 4 anosRevisado pelo Kitploit

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

logotipo da mergebase

Log4-detector

Scanner que detecta versões vulneráveis do Log4J para ajudar equipes a avaliar sua exposição ao CVE-2021-44228 (CRÍTICO), CVE-2021-45046, CVE-2021-45105 e CVE-2021-44832. Pode pesquisar instâncias do Log4J examinando cuidadosamente todo o sistema de arquivos, incluindo todos os aplicativos instalados. É capaz de encontrar instâncias do Log4J que estão ocultas várias camadas abaixo. Funciona no Linux, Windows e Mac, e em todos os outros lugares onde o Java roda também!

Sumário

  • Introdução
  • Exemplo de Uso
  • Mais Exemplos de Uso
  • Entendendo os Resultados
  • Uso
  • Compilar a partir do Código Fonte
  • Testes
  • Licença
  • Perguntas Frequentes
    • Como Funciona?
    • Este Scanner Apenas Reporta Acertos Contra a Biblioteca log4j-core. E a log4j-api?
    • Por que Reportar sobre 2.10.0, 2.15.0 e 2.16.0?
    • O que significam aqueles resultados "file1.war!/path/to/file2.zip!/path/to/file3.jar!/path/to/log4j.jar"?
    • E o Log4J 1.2.x?
    • Como Posso Ter Certeza de que Isso Não é Um Trojan Fingindo Ser um Detector de Log4J?
  • O que é a MergeBase?

Introdução

Atualmente reporta as versões log4j-core 2.3.2, 2.12.4 e 2.17.1 como _SAFE_, 2.3.1, 2.12.2, 2.12.3, 2.15.0, 2.16.0 e 2.17.0 como _OKAY_ e todas as outras versões como _VULNERABLE_ (embora reporte versões anteriores a 2.0-beta9 como _POTENTIALLY_SAFE_). Reporta versões antigas do log4j-1.x como _OLD_.

Consegue detectar corretamente log4j dentro de jars/wars executáveis spring-boot, dependências misturadas em uber jars, jars sombreados (shaded) e até arquivos jar explodidos apenas sentados descomprimidos no sistema de arquivos (também conhecido como *.class).

Atualmente mantemos uma coleção de amostras de log4j que usamos para testes.

Exemplo de Uso:

root@kitploit:~
java -jar log4j-detector-2021.12.29.jar ./samples 

-- github.com/mergebase/log4j-detector v2021.12.29 (by mergebase.com) analyzing paths (could take a while).
-- Note: specify the '--verbose' flag to have every file examined printed to STDERR.
false-hits/log4j-core-2.12.2.jar contains Log4J-2.x   == 2.12.2 _OKAY_
false-hits/log4j-core-2.12.3.jar contains Log4J-2.x   == 2.12.3 _OKAY_
false-hits/log4j-core-2.12.4.jar contains Log4J-2.x   == 2.12.4 _SAFE_
false-hits/log4j-core-2.15.0.jar contains Log4J-2.x   == 2.15.0 _OKAY_
false-hits/log4j-core-2.16.0.jar contains Log4J-2.x   == 2.16.0 _OKAY_
false-hits/log4j-core-2.17.0.jar contains Log4J-2.x   == 2.17.0 _OKAY_
false-hits/log4j-core-2.17.1.jar contains Log4J-2.x   >= 2.17.1 _SAFE_
false-hits/log4j-core-2.3.1.jar contains Log4J-2.x   == 2.3.1 _OKAY_
false-hits/log4j-core-2.3.2.jar contains Log4J-2.x   == 2.3.2 _SAFE_
true-hits/log4j-core-2.0-beta9.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.10.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.10.0.zip contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.11.2.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.12.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.12.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.14.0.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.14.1.jar contains Log4J-2.x   >= 2.10.0 _VULNERABLE_
true-hits/log4j-core-2.2.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.3.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.4.1.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.4.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
true-hits/log4j-core-2.9.1.jar contains Log4J-2.x   >= 2.0-beta9 (< 2.10.0) _VULNERABLE_
old-hits/log4j-1.1.3.jar contains Log4J-1.x   <= 1.2.17 _OLD_
old-hits/log4j-1.2.17.jar contains Log4J-1.x   <= 1.2.17 _OLD_
old-hits/log4j-core-2.0-beta2.jar contains Log4J-2.x   <= 2.0-beta8 _POTENTIALLY_SAFE_ (Did you remove JndiLookup.class?)

Entendendo os Resultados

_VULNERABLE_ -> Você precisa atualizar ou remover este arquivo.

_OKAY_ -> Reportamos isso para as versões 2.3.1, 2.12.2, 2.12.3, 2.15.0, 2.16.0 e 2.17.0 do Log4J. Recomendamos atualizar para a versão 2.17.1.

_SAFE_ -> Atualmente reportamos isso apenas para as versões 2.3.2, 2.12.4 e 2.17.1 (e superiores) do Log4J.

_OLD_ -> Você está seguro em relação ao CVE-2021-44228, mas deve planejar atualizar porque o Log4J 1.2.x está EOL há 7 anos e possui várias vulnerabilidades conhecidas.

_POTENTIALLY_SAFE_ -> O arquivo "JndiLookup.class" não está presente, seja porque sua versão do Log4J é muito antiga (anterior a 2.0-beta9), ou porque alguém já removeu este arquivo. Certifique-se de que foi alguém da sua equipe ou empresa que removeu "JndiLookup.class" se for o caso, porque atacantes têm removido este arquivo eles mesmos para impedir que outros atacantes concorrentes obtenham acesso a sistemas comprometidos.

Uso

root@kitploit:~
java -jar log4j-detector-2021.12.29.jar 

Usage: java -jar log4j-detector-2021.12.29.jar [--verbose] [--json] [--stdin] [--exclude=X] [paths to scan...]

  --json       - Output STDOUT results in JSON.  (Errors/warning still emitted to STDERR)
  --stdin      - Read STDIN for paths to explore (one path per line)
  --exclude=X  - Where X is a JSON list containing full paths to exclude. Must be valid JSON.

                 Example: --exclude='["/dev", "/media", "Z:\TEMP"]'

Exit codes:  0 = No vulnerable Log4J versions found.
             1 = At least one legacy Log4J 1.x version found.
             2 = At least one vulnerable Log4J version found.

About - MergeBase log4j detector (version 2021.12.29)
Docs  - https://github.com/mergebase/log4j-detector 
(C) Copyright 2021 Mergebase Software Inc. Licensed to you via GPLv3.

Compilar a partir do Código Fonte:

root@kitploit:~
git clone https://github.com/mergebase/log4j-detector.git
cd log4j-detector/
mvn install
java -jar target/log4j-detector-latest.jar

Testes:

Mantemos uma coleção de amostras de log4j aqui: https://github.com/mergebase/log4j-samples

Licença

GPL versão 3.0

Perguntas Frequentes

Como Funciona?

O compilador Java armazena literais de String diretamente nos arquivos *.class compilados. Se o log4j-detector detectar um arquivo chamado "JndiManager.class" em seu sistema de arquivos, ele então examina esse arquivo em busca desta String: "Invalid JNDI URI - {}". Acontece que essa String literal específica está presente apenas na versão corrigida do Log4J (versão 2.15.0). Quaisquer versões do Log4J sem essa String são vulneráveis.

Esta mesma técnica de examinar arquivos *.class em busca de literais de String é estendida para detectar com precisão as versões seguras 2.3.2, 2.12.4 e 2.17.1.

Este Scanner Apenas Reporta Acertos Contra a Biblioteca log4j-core. E a log4j-api?

Muitos scanners (incluindo o próprio Dependabot do GitHub) atualmente reportam tanto as bibliotecas "log4j-core" quanto "log4j-api" como vulneráveis. Esses scanners estão incorretos. Atualmente não existe nenhuma versão da biblioteca "log4j-api" que possa ser explorada por qualquer uma dessas vulnerabilidades.

Na MergeBase nos orgulhamos da precisão de nossa varredura. Você já está ocupado o suficiente corrigindo e defendendo seus sistemas. Não queremos que você perca tempo com falsos positivos. É por isso que não reportamos nenhum acerto contra a log4j-api.

Por que Reportar sobre 2.3.1, 2.10.0, 2.12.2, 2.12.3, 2.15.0, 2.16.0 e 2.17.0?

A versão 2.10.0 é importante porque é a primeira versão em que o vulnerável "recurso de pesquisa de mensagens" (message lookup feature) do Log4J pode ser desabilitado via configuração do Log4J.

A versão 2.12.2 é importante porque é uma versão compatível com Java 7 do Log4J que não é vulnerável ao CVE-2021-44228.

As versões 2.15.0 e 2.16.0 são importantes porque são as primeiras versões em que a configuração padrão do Log4J não é vulnerável ao CVE-2021-44228.

E as versões 2.3.2, 2.12.4 e 2.17.1 são importantes porque não são vulneráveis a CVEs descobertas mais recentemente, como CVE-2021-45046 e CVE-2021-45105. Apesar de serem vulnerabilidades muito menos graves, antecipamos que todos vão querer corrigir para uma das versões 2.3.2, 2.12.4 ou 2.17.1.

O que significam aqueles resultados "file1.war!/path/to/file2.zip!/path/to/file3.jar!/path/to/log4j.jar"?

O "!" significa que o log4j-detector entrou em um arquivo zip (por exemplo, *.zip, *.ear, *.war, *.aar, *.jar). Como arquivos zip podem conter arquivos zip, um único resultado pode conter mais de um indicador "!" em seu resultado.

Nota: o log4j-detector apenas entra recursivamente em arquivos zip. Ele não entra em tar, gz, bz2, etc. A principal razão é que sistemas Java são frequentemente configurados para executar jars dentro de jars, mas nunca são configurados para executar outros formatos de arquivo (pelo que sei!). E assim, uma cópia do log4j dentro de um *.tar.gz provavelmente não é acessível para um sistema Java em execução, e, portanto, não é uma vulnerabilidade digna de relatório.

2ª nota: para zips dentro de zips, nosso scanner carrega o zip interno completamente na memória (usando ByteArrayInputStream) antes de tentar escaneá-lo. Você pode precisar dar ao Java mais memória se tiver zips internos extremamente grandes em seu sistema (por exemplo, 1 GB ou maior).

E o Log4J 1.2.x?

Apenas versões do Log4J 2.x (de 2.0-beta9 a 2.14.1) são vulneráveis ao CVE-2021-44228.

Como Posso Ter Certeza de que Isso Não é Um Trojan Fingindo Ser um Detector de Log4J?

Ótima pergunta! Como incluímos o código fonte completo aqui no Github (todas as 2500 linhas de Java), bem como as etapas para compilá-lo, e como esta ferramenta tem zero dependências, não deve levar muito tempo para estudar cuidadosamente o código até sua satisfação. Se você não confia no Maven, pode ir diretamente para o diretório "src/main/java/com/mergebase/log4j" e digitar "javac *.java". Isso também funciona!

Também assinamos o jar pré-compilado que mantemos na raiz do repositório (./log4j-detector-2021.12.29.jar) com a chave de assinatura de código da MergeBase. Por favor, execute "jarsigner -verbose -verify log4j-detector-2021.12.29.jar" para confirmar isso.

O que é a MergeBase?

MergeBase

MergeBase é uma empresa de SCA (Análise de Composição de Software) sediada em Vancouver, Canadá. Somos semelhantes a empresas como Snyk, Sonatype, Blackduck, etc., no sentido de que ajudamos empresas a detectar e gerenciar bibliotecas open-source vulneráveis em seus softwares. Dê uma olhada! Temos grande precisão, ótimo suporte a linguagens e também não somos muito caros: mergebase.com/pricing.

Ficaríamos encantados se alguém fizer um teste gratuito de 2 semanas do nosso produto SCA! E se você enviar um e-mail para nosso CEO ([email protected]) com o assunto "log4j-detector", estenderemos seu teste gratuito para 4 semanas.

Baixar ferramenta