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
Ferramentas/GitHubGitHub/nefhara/cve-2025-4396
Quebra de SenhasAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubnefhara/cve-2025-4396

CVE-2025-4396

Este repositório contém um kit de pesquisa e validação prático para CVE-2025-4396, uma injeção de SQL cega baseada em tempo não autenticada que afeta o plugin Relevanssi do WordPress através do parâmetro `cats`.

Ver Repositório
20há 6 mesesAinda 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

CVE-2025-4396 - Kit de Ferramentas para Injeção SQL Cega Baseada em Tempo no WordPress Relevanssi

Visão Geral

Este repositório contém um kit prático de pesquisa e validação para CVE-2025-4396, uma Injeção SQL Cega Baseada em Tempo não autenticada que afeta o plugin Relevanssi do WordPress através do parâmetro cats.

O projeto foi desenvolvido para engajamentos autorizados de Purple Team com o objetivo de:

  • validar a explorabilidade de forma controlada,
  • demonstrar diferentes níveis de sofisticação de ataque,
  • medir a cobertura de detecção do SOC,
  • extrair um hash de senha do WordPress de forma realista,
  • e automatizar o fluxo de cracking offline após a recuperação do hash.

O repositório inclui:

  • um script de extração padrão,
  • um script de extração mais rápido por busca binária,
  • e um script auxiliar para preparar e quebrar o hash extraído do WordPress 6.8+ com o Hashcat.

Aviso Legal
Este projeto é fornecido apenas para fins educacionais, validação defensiva e testes de segurança autorizados.
Não o utilize contra sistemas que você não possui ou para os quais não tenha permissão explícita por escrito para avaliar.

Ambiente de Teste

  • Servidor: Debian 11
  • WordPress 6.9.1,
  • Plugin Relevanssi 4.24.4 (baixado de https://wordpress.org/plugins/relevanssi/advanced/),
  • PoC utilizado a partir do sistema operacional Kali Linux.

Descrição da CVE

CVE-2025-4396 é uma vulnerabilidade de Injeção SQL que afeta a funcionalidade de busca do Relevanssi no WordPress.

No cenário testado, o problema é acessível através do fluxo de busca e, mais especificamente, através do parâmetro cats. O caminho de código vulnerável permite que a entrada controlada pelo atacante influencie a consulta SQL gerada pelo plugin.

Como o endpoint vulnerável é acessível sem autenticação prévia, a falha pode ser explorada por um atacante remoto para realizar injeção SQL não autenticada.

O impacto prático inclui:

  • manipulação de consultas no banco de dados,
  • Injeção SQL Cega Baseada em Tempo,
  • extração de dados sensíveis, como hashes de senhas,
  • e, dependendo do ambiente, possível escalada de privilégios através da recuperação de credenciais válidas.

Como a Vulnerabilidade Funciona

Causa Raiz

A vulnerabilidade existe porque a entrada controlada pelo usuário, vinda de um parâmetro relacionado à busca, não é tratada de forma segura antes de ser incorporada em uma consulta SQL.

Na prática, isso significa que um atacante pode injetar expressões SQL na lógica da consulta do sistema e forçar o banco de dados a avaliar condições adicionais.

Por Que É Cega

A vulnerabilidade é explorada em modo cego, o que significa que a aplicação não exibe diretamente erros SQL ou resultados brutos do banco de dados.

Em vez de ler a saída da consulta na página, o atacante faz uma série de perguntas de verdadeiro/falso ao banco de dados e observa um efeito colateral:

  • se a condição for verdadeira, o banco de dados pausa por alguns segundos,
  • se a condição for falsa, a resposta retorna imediatamente.

Por Que É Baseada em Tempo

A exploração depende de funções SQL como SLEEP() para criar uma diferença mensurável no tempo de resposta do servidor.

Isso permite que um atacante infira dados sem nunca vê-los diretamente.

Por exemplo, o atacante pode fazer perguntas como:

  • “O primeiro caractere é igual a $?”
  • “O valor ASCII do segundo caractere é maior que 77?”
  • “Os primeiros N caracteres correspondem a este padrão?”

Ao repetir esse processo, o atacante pode reconstruir um hash completo caractere por caractere.


Como a Exploração Funciona

Lógica de Extração Padrão

A abordagem padrão percorre um conjunto de caracteres conhecido e testa cada candidato um por um.

Para cada posição no hash alvo:

  1. Construir uma condição SQL visando um caractere.
  2. Acionar um atraso no servidor apenas se o palpite estiver correto.
  3. Medir o tempo de resposta.
  4. Reenviar a mesma requisição para reduzir falsos positivos causados por variações de rede.
  5. Acrescentar o caractere confirmado ao hash extraído.
  6. Avançar para a próxima posição.

Este método é simples e confiável, mas relativamente lento, pois pode exigir muitas requisições por caractere.

Lógica de Extração por Busca Binária

A abordagem mais rápida utiliza busca binária no valor ASCII de cada caractere.

Em vez de perguntar:

  • “O caractere é igual a a?”
  • “O caractere é igual a b?”
  • “O caractere é igual a c?”

ela pergunta:

  • “O valor ASCII é maior que 79?”
  • “É maior que 55?”
  • “É maior que 43?”

Isso divide o espaço de busca pela metade a cada requisição e reduz drasticamente o número de requisições HTTP.

Resultado Prático

O ataque permite que o operador extraia o valor user_pass de wp_users, geralmente para um ID de usuário WordPress escolhido, como:

  • 1 para o administrador padrão,
  • ou outro ID passado na linha de comando.

Em versões recentes do WordPress, esse valor pode usar o novo pipeline de senhas do WordPress 6.8+, que combina:

  • uma etapa de pré-hashing usando HMAC-SHA384,
  • codificação Base64,
  • e um hash final bcrypt.

Scripts Inclusos

1. CVE_2025_4396.py

Este é o script de extração padrão.

Propósito:

Ele realiza uma Injeção SQL Cega Baseada em Tempo clássica e extrai o hash alvo caractere por caractere usando uma busca linear sobre um charset fixo.

Características Principais:

  • simples e fácil de entender,
  • confiável em ambientes estáveis,
  • lógica de dupla verificação para reduzir falsos positivos,
  • útil como base para engenharia de detecção e demonstrações de PoC.

Como Funciona:

Para cada posição do caractere:

  • itera sobre um conjunto de caracteres predefinido,
  • constrói uma condição SQL correspondente a um único caractere,
  • aguarda a resposta do servidor,
  • e confirma o acerto com uma segunda requisição.

Requisitos:

  • python3
  • requests
  • urllib3

Instalação:

pip3 install requests urllib3
Uso:
python3 CVE_2025_4396.py -t "https://target.local/?s=test&cats=" -u 1 -s 3 -v
Argumentos:
    -t, --target : URL alvo vulnerável, incluindo o parâmetro injetável
    -u, --userid : ID do usuário WordPress a ser alvo
    -s, --sleep : limite de tempo de espera em segundos
    -v, --verbose : ativa o log de depuração

2. CVE_2025_4396_Stealth.py

Esta é a edição de busca binária.

Propósito:

Realiza o mesmo objetivo de extração que o script padrão, mas substitui a busca linear caractere por caractere por uma busca binária nos valores ASCII.

Características Principais:

  • significativamente menos requisições HTTP,
  • pegada de rede menor,
  • ainda inclui uma etapa de dupla verificação para evitar falsos positivos.

Como Funciona:

Para cada posição:

  • Defina um intervalo ASCII imprimível.
  • Teste o ponto médio.
  • Pergunte se o caractere alvo é maior que esse ponto médio.
  • Reduza o intervalo de acordo.
  • Continue até que o caractere exato seja identificado.

Requisitos:

  • python3
  • requests
  • urllib3

Instalação:

pip3 install requests urllib3

Uso:

python3 CVE_2025_4396_Stealth.py -t "https://target.local/?s=test&cats=" -u 1 -s 3 -v

Quando Usar:

  • o alvo está confirmado como vulnerável,
  • a latência é suficientemente estável,
  • e o objetivo é reduzir o volume de requisições.

Fluxo de Cracking de Hash Offline

Após a extração do hash de senha do WordPress, o próximo passo é quebrá-lo offline.

Notas sobre Hashing do WordPress 6.8+. No fluxo testado, o valor extraído pode parecer com:

$wp$2y$10$zPA8xGJMvr.kvAAIIYaCreIMnTDpgw/9o8K7.ONBm/KBbNIywQtu.

Para o Hashcat, a porção bcrypt utilizável é:

$2y$10$zPA8xGJMvr.kvAAIIYaCreIMnTDpgw/9o8K7.ONBm/KBbNIywQtu.
Baixar ferramenta