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
log4jcheck — Um script que verifica sistemas vulneráveis ao Log4j (CVE-2021-44228) usando injeção do payload em cabeçalhos HTTP comuns. | Kitploit
Ferramentas/GitHubGitHub/northwavesecurity/log4jcheck
ReconhecimentoScanners de VulnerabilidadesScanners de Vulnerabilidades WebExploraçãoColeta de InformaçõesAnálise de DNS
GitHubnorthwavesecurity/log4jcheck

log4jcheck

Um script que verifica sistemas vulneráveis ao Log4j (CVE-2021-44228) usando injeção do payload em cabeçalhos HTTP comuns.

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

Northwave Log4j CVE-2021-44228 verificador

Sexta-feira, 10 de dezembro de 2021, um novo Proof-of-Concept 1 abordando uma vulnerabilidade de Execução Remota de Código (RCE) na biblioteca Java 'log4j' 2 foi publicado. Esta vulnerabilidade não foi divulgada antecipadamente aos desenvolvedores do software. A vulnerabilidade está sendo rastreada como CVE-2021-44228 3. Mais informações sobre a vulnerabilidade podem ser encontradas na Resposta a Ameaças da Northwave 4.

A Northwave criou um script de teste que verifica sistemas vulneráveis usando injeção do payload em cabeçalhos HTTP comuns e como parte de uma requisição HTTP GET. Sistemas vulneráveis são detectados ao ouvir requisições DNS de entrada que contêm um UUID criado especificamente para o alvo. Ao ouvir DNS de entrada em vez de implementar (por exemplo) um servidor LDAP, aumentamos a probabilidade de que sistemas vulneráveis possam ser detectados mesmo com filtragem de tráfego de saída ativa. Na prática, o DNS de saída geralmente é permitido. Espera-se uma alta taxa de falsos negativos; leia o aviso.

Cobertura:

Os seguintes cabeçalhos HTTP são cobertos:

  • X-Api-Version
  • User-Agent
  • Referer
  • X-Druid-Comment
  • Origin
  • Location
  • X-Forwarded-For
  • Cookie
  • X-Requested-With
  • X-Forwarded-Host
  • Accept

Para cada injeção, os seguintes prefixos JNDI são verificados:

  • jndi:rmi
  • jndi:ldap
  • jndi:dns
  • jndi:${lower:l}${lower:d}ap

DISCLAIMER

Observe que o script realiza apenas duas verificações específicas: cabeçalhos HTTP e requisição HTTP GET. Isso causará falsos negativos nos casos em que outros cabeçalhos, campos de entrada específicos, etc., precisem ser alvejados para acionar a vulnerabilidade. Isso é muito provável de acontecer.

IMPORTANTE: Nos casos em que o verificador retorna 'no vulnerability detected', prossiga com as verificações de sistema de arquivos conforme descrito na Resposta a Ameaças da Northwave 4. Somente executar este verificador é insuficiente para determinar se um sistema é vulnerável ou não.

Configurando um servidor DNS

Primeiro, precisamos de um subdomínio que possamos usar para receber requisições DNS de entrada. Neste caso, usamos a zona log4jdnsreq.northwave.nl e implantamos nosso script em log4jchecker.northwave.nl. Configure uma entrada DNS da seguinte forma:

root@kitploit:~
log4jdnsreq 3600 IN  NS log4jchecker.northwave.nl.

Agora configuramos um servidor DNS BIND em um sistema Debian usando apt install bind9 e adicionamos o seguinte ao arquivo /etc/bind/named.conf.options:

root@kitploit:~
	recursion no;
	allow-transfer { none; };

Isso desabilita a recursão, pois não queremos executar um servidor DNS aberto. Configure o registro de logs em /etc/bind/named.conf.local adicionando a seguinte configuração:

root@kitploit:~
logging {
	channel querylog {
		file "/var/log/named/query.log";
		severity debug 3;
		print-time yes;
	};
	category queries { querylog;};
};

Não se esqueça de reiniciar o BIND usando systemctl restart bind9. Verifique se o registro de logs funciona executando uma consulta DNS para xyz.log4jdnsreq.northwave.nl. Uma ou mais consultas devem aparecer em /var/log/named/query.log.

Verificando seu servidor DNS

É importante verificar se as consultas ao servidor de nomes estão realmente sendo registradas. Este script não consegue detectar sites vulneráveis a menos que sua configuração de servidor de nomes registre as requisições

Teste seu servidor realizando uma consulta de teste (idealmente de uma máquina diferente):

root@kitploit:~
dig test.log4jchecker.northwave.nl

Você não deve esperar uma resposta, mas deve esperar uma entrada no arquivo de log (cat /var/log/named/query.log). Essa entrada pode ser semelhante a:

root@kitploit:~
14-Dec-2021 13:36:01.402 client @0x7f8b180a9b30 requester-ip#58755 (test.log4jchecker.northwave.nl): query: test.log4jchecker.northwave.nl IN A -E(0)DC (your-ip)

Não continue a menos que uma resposta esteja visível nos logs. O script não detectará vulnerabilidades sem isso.

Executando o script

Instale quaisquer dependências Python usando pip install -r requirements.txt. Edite o script para alterar a seguinte linha para a zona DNS que você configurou:

root@kitploit:~
HOSTNAME = "log4jdnsreq.northwave.nl"

Agora você pode executar o script fornecendo uma única URL usando o parâmetro -u ou uma lista de URLs usando o parâmetro -l:

root@kitploit:~
usage: nw_log4jcheck.py [-h] [-l LIST] [-u URL] [-w WAIT] [-t TIMEOUT]

optional arguments:
  -h, --help            show this help message and exit
  -l LIST, --list LIST  A text file with a list of URLs to check (one url per line)
  -u URL, --url URL     URL to check (for example: http://yoururl.com)
  -w WAIT, --wait WAIT  Number of seconds to wait before checking DNS logs (default: 15)
  -t TIMEOUT, --timeout TIMEOUT
                        HTTP timeout in seconds to use (default: 5)

A última linha da saída mostra se o sistema foi considerado vulnerável:

root@kitploit:~
NO VULNERABILITY DETECTED. Proceed with on-server checking. No incoming DNS request to 3414db71-309a-4288-83d4-aa3f103db97c.log4jdns.northwave.nl was seen

Caso nenhuma vulnerabilidade seja detectada, prossiga com as verificações de sistema de arquivos conforme descrito na Resposta a Ameaças da Northwave 4. Novamente, apenas executar este verificador é insuficiente para determinar se um sistema é vulnerável ou não.

Licença

Log4jcheck é um software de código aberto licenciado sob a licença MIT.

Baixar ferramenta