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
CVE-2026-57821-PoC-Exploit — 🔐 CVE-2026-57821 - Kit de Injeção SQL do Apache Fineract 📚 Dois scripts Python para testes de segurança autorizados: verifier.py (detecção segura, sem extração) e exploit.py (análise aprofundada). Suporta 11 tipos de banco de dados. Perfeito para entender vulnerabilidades de injeção SQL. Apenas testes legais ⚠️ somente para fins educacionais e de pesquisa. | Kitploit
Ferramentas/GitHubGitHub/tc4dy/cve-2026-57821-poc-exploit
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de Dados
GitHub
tc4dy/cve-2026-57821-poc-exploit

CVE-2026-57821-PoC-Exploit

Ver Repositório
32há 1 mêsAinda 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 →

Sobre

🔐 CVE-2026-57821 - Kit de Injeção SQL do Apache Fineract 📚 Dois scripts Python para testes de segurança autorizados: verifier.py (detecção segura, sem extração) e exploit.py (análise aprofundada). Suporta 11 tipos de banco de dados. Perfeito para entender vulnerabilidades de injeção SQL. Apenas testes legais ⚠️ somente para fins educacionais e de pesquisa.

Compartilhar

CVE-Picture

🛡️ CVE-2026-57821 – Injeção SQL no Apache Fineract

⚠️ AVISO LEGAL E ÉTICO
Este kit é fornecido estritamente para fins educacionais, de treinamento e teste de segurança autorizado.
O uso não autorizado contra qualquer sistema sem permissão explícita por escrito é ilegal e viola leis de crimes cibernéticos.
O autor não assume nenhuma responsabilidade por uso indevido ou danos.
Você é o único responsável por suas ações.


📋 Visão Geral da Vulnerabilidade

CVE-2026-57821 é uma vulnerabilidade de Injeção SQL descoberta no endpoint de listagem de escritórios do Apache Fineract.

🎯 Componente Afetado

AtributoDetalhe
Endpoint/api/v1/offices
ParâmetroorderBy
MétodoGET
Autenticação NecessáriaSim (apenas usuários autenticados)
Versões AfetadasApache Fineract ≤ 1.14.0
Versão CorrigidaApache Fineract 1.15.0

🧠 Como Funciona

A vulnerabilidade existe porque o parâmetro orderBy é incorporado diretamente em consultas SQL sem sanitização adequada. Um atacante com credenciais válidas pode injetar subconsultas entre parênteses () no parâmetro orderBy.

Por que isso contorna correções anteriores:

  • A CVE-2024-32838 introduziu um ColumnValidator para sanitizar cláusulas ORDER BY
  • O validador não detecta subconsultas simples dentro de parênteses
  • Isso permite a execução arbitrária de SQL dentro do contexto ORDER BY

Exemplo de Vetor de Ataque:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

⚡ Impacto Potencial

ImpactoDescrição
Exfiltração de DadosInjeção SQL cega baseada em tempo pode extrair conteúdo sensível do banco de dados
Negação de ServiçoConsultas pesadas podem esgotar recursos do pool de conexões
Divulgação de InformaçõesTécnicas baseadas em erros podem revelar estrutura e dados do banco de dados

👤 Descoberta e Divulgação

AtributoDetalhe
Descobridor / RelatorTerence Monteiro (Equipe Apache Fineract)
Data de Divulgação Pública14 de julho de 2026
Versão CorrigidaApache Fineract 1.15.0
Anúncio OficialLista de Discussão Apache
Correção no GitHubPR #6048

🗄️ Sistemas de Banco de Dados Suportados

Este kit detecta automaticamente e adapta técnicas de exploração para 11 backends de banco de dados diferentes:

Banco de DadosMétodo de DetecçãoTécnica de Exploração
PostgreSQLBaseado em tempo (pg_sleep)Blindagem Baseada em Tempo
MySQLBaseado em tempo (SLEEP)Blindagem Baseada em Tempo
MariaDBBaseado em tempo + @@version_commentBlindagem Baseada em Tempo
MSSQLBaseado em erro (falha CONVERT)Baseado em Erro
OracleBaseado em tempo (DBMS_LOCK.SLEEP)Blindagem Baseada em Tempo
SQLiteConsulta Pesada (Junção Cartesiana)Blindagem Baseada em Tempo (Pesada)
FirebirdConsulta Pesada (Junção Cartesiana)Blindagem Baseada em Tempo (Pesada)
DB2Consulta Pesada (Junção Cartesiana)Blindagem Baseada em Tempo (Pesada)
InformixConsulta Pesada (Junção Cartesiana)Blindagem Baseada em Tempo (Pesada)
H2Consulta Pesada (Junção Cartesiana)Blindagem Baseada em Tempo (Pesada)
Desconhecido (Genérico)Fallback para PostgreSQLBaseado em Tempo

🛠️ Componentes do Kit

Este projeto fornece dois scripts Python para diferentes cenários de avaliação de segurança:

📊 verifier.py – Ferramenta de Verificação Segura e Mínima

Propósito: Provar rapidamente a existência da vulnerabilidade sem extrair dados.

O que faz:

  • Envia payloads de teste específicos para cada banco de dados
  • Detecta atrasos de tempo ou mensagens de erro
  • Relata VULNERÁVEL ou NÃO VULNERÁVEL para cada tipo de banco de dados
  • Não exfiltra nenhum dado

✅ Vantagens:

  • Extremamente rápido (conclui em segundos)
  • Baixo risco legal (apenas valida a presença)
  • Ideal para varredura inicial de segurança
  • Saída amigável para relatórios de conformidade

📋 Caso de Uso: Avaliação de primeira passagem para determinar se o alvo é vulnerável.

🔬 exploit.py – Analisador de Segurança Abrangente

Propósito: Explorar completamente a vulnerabilidade para extrair informações do banco de dados.

O que faz:

  • Detecta automaticamente o tipo de banco de dados
  • Usa busca binária para extrair caractere por caractere
  • Recupera: versão, usuário atual, nome do banco de dados, lista de tabelas (configurável)
  • MSSQL: extração baseada em erro
  • Outros: extração baseada em tempo com calibração de linha de base

✅ Vantagens:

  • Fornece evidência concreta do impacto
  • Demonstra toda a extensão da vulnerabilidade
  • Logs detalhados com saída colorida

📋 Caso de Uso: Análise de segurança aprofundada após confirmação da vulnerabilidade.

🔍 Diferença Chave: verifier.py informa se está vulnerável; exploit.py mostra o que pode ser extraído. Ambos desempenham papéis distintos, mas complementares, em um fluxo de trabalho de avaliação de segurança.


⚙️ Instalação e Configuração

Pré-requisitos

  • Python 3.6+
  • Biblioteca requests
root@kitploit:~
pip install requests

⚙️ Variáveis de Configuração

Edite as seguintes variáveis no início de ambos os scripts:

VariávelDescriçãoPadrão
TARGETURL da API do Fineracthttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMENome de usuário para autenticação na APImifos
PASSWORDSenha para autenticação na APIpassword
TENANT_IDIdentificador do tenantdefault
BASE_SLEEPDuração do sono para testes baseados em tempo (exploit.py)6
SLEEP_SECONDSDuração do sono para testes baseados em tempo (verifier.py)5
TIMEOUTTempo limite da requisição HTTP25 (exploit) / 15 (verifier)
MAX_RETRIESNúmero de tentativas para requisições falhas2

🚀 Guia de Uso

1️⃣ exploit.py – Varredura Profunda

root@kitploit:~
python3 exploit.py

Saída Esperada:

root@kitploit:~
CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!

CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)

Interpretation: If VULNERABLE appears for any database type, the target is affected.

2️⃣ exploit.py – Extração de Dados

root@kitploit:~
python3 exploit.py

A saída mostrará extração progressiva em formato de barra de progresso.


🎯 Especificações Técnicas

Pontuação CVSS

MétricaValor
Pontuação Base CVSS v3.18.1 (Alta)
VetorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Vetor de AtaqueRede
Privilégios NecessáriosBaixo
Interação do UsuárioNenhum
Pontuação EPSS
root@kitploit:~
0.29% (probabilidade de exploração em 30 dias)

Mapeamento CWE

root@kitploit:~
CWE‑89: Neutralização Incorreta de Elementos Especiais usados em um Comando SQL ('Injeção SQL')

🧪 Mergulho Técnico

Por que o Payload Funciona

O código vulnerável no Apache Fineract 1.14.0:

root@kitploit:~
// Simplified vulnerable logic
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // VALIDATOR FAILS FOR: "(SELECT ...)"
    // Only checks against simple column names
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Executes query with user input directly
}

Exemplo de Payload do Atacante:

root@kitploit:~
GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

SQL Resultante:

root@kitploit:~
SELECT * FROM offices ORDER BY (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)

O ColumnValidator verifica nomes de colunas, mas ignora a subconsulta aninhada, permitindo a execução arbitrária de SQL.

🛡️ Mitigação

AçãoPrioridade
Atualizar para Apache Fineract 1.15.0+🔴 Crítica
Aplicar o patch PR #6048🔴 Crítica
Regra WAF: Bloquear orderBy contendo (SELECT, SLEEP(, pg_sleep(, WAITFOR🟠 Alta
Monitorar logs para orderBy com parênteses ou palavras-chave de subconsulta🟠 Alta
Monitoramento do pool de conexões do banco de dados para detectar exaustão de recursos🟡 Média
Baixar ferramenta