Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-1094-PoC-Postgre-SQLi — Emulação e análise de prova de conceito do CVE-2025-1094, uma vulnerabilidade crítica de injeção SQL no PostgreSQL. Inclui configuração de laboratório baseado em Docker, script de exploração, análise de causa raiz e demonstração passo a passo para testes de segurança e educação. | Kitploit
Ferramentas/GitHubGitHub/ishwardeepp/cve-2025-1094-poc-postgre-sqli
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de DadosLabs e Prática
GitHub
ishwardeepp/cve-2025-1094-poc-postgre-sqli

CVE-2025-1094-PoC-Postgre-SQLi

Emulação e análise de prova de conceito do CVE-2025-1094, uma vulnerabilidade crítica de injeção SQL no PostgreSQL. Inclui configuração de laboratório baseado em Docker, script de exploração, análise de causa raiz e demonstração passo a passo para testes de segurança e educação.

Ver Repositório
6239há 1 anoAinda 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

Análise do CVE-2025-1094 e Configuração de Emulação

Este exame detalhado, realizado em 14 de março de 2025, explora o CVE-2025-1094, uma vulnerabilidade hipotética de injeção SQL de alta gravidade no PostgreSQL, com base na configuração de emulação fornecida e na execução da prova de conceito (PoC). A análise abrange a introdução da vulnerabilidade, a causa raiz, as contribuições dos arquivos, as etapas da PoC e as mitigações, incorporando todos os detalhes intrincados do processo de emulação.

Introdução à Vulnerabilidade

O CVE-2025-1094 é descrito como uma falha crítica de injeção SQL no PostgreSQL, afetando versões anteriores a 17.3, 16.7, 15.11, 14.16 e 13.19, com uma pontuação base CVSS 3.1 de 8,1, indicando impactos significativos na confidencialidade, integridade e disponibilidade. Ele permite que atacantes acessem dados sensíveis ou executem código remoto (RCE), tendo sido explorado em violações reais, como o incidente da BeyondTrust que afetou 17 clientes empresariais, reportado no BleepingComputer, e a violação do Departamento do Tesouro dos EUA, detalhada no The Register. A emulação, realizada em 14 de março de 2025, utilizou uma configuração Docker com server_encoding=EUC_TW e client_encoding=BIG5, cruciais para acionar a exploração. A PoC envolveu injetar um bloco DO para criar um objeto grande, ler /etc/passwd via pg_read_file, escrevê-lo no objeto grande com lo_put e exportá-lo para /tmp/payload usando lo_export, confirmando o papel da incompatibilidade de codificação em permitir o acesso não autorizado a arquivos.

Análise da Causa Raiz

A causa raiz é classificada sob CWE-149: Neutralização Incorreta da Sintaxe de Citação, envolvendo manipulação inadequada nas funções libpq do PostgreSQL — PQescapeLiteral(), PQescapeIdentifier(), PQescapeString() e PQescapeStringConn() — que falham em neutralizar a sintaxe de citação quando os resultados são usados para construir entrada para a ferramenta de linha de comando psql. Isso é agravado quando client_encoding está definido como BIG5 e server_encoding como EUC_TW, como visto em nossa configuração, permitindo injeção SQL. A emulação exigiu EUC_TW e zh_TW.EUC_TW para criar a incompatibilidade, com problemas como a falta de suporte a EUC_TW pelo psycopg2 sendo resolvidos conectando com UTF8 e depois alternando para BIG5. O sucesso da exploração dependeu da execução de SQL bruto via subprocess.run(["psql", ...]), contornando a manipulação segura de consultas, conforme detalhado nos logs.

Explicações e Contribuições dos Arquivos

Cada arquivo na configuração desempenha um papel crítico na emulação do CVE-2025-1094. Abaixo está uma análise detalhada em formato de tabela:

Tabela: Resumo das Contribuições dos Arquivos

ArquivoO que fazContribuição para a PoCPor que é necessário
exploit.pyEnvia uma requisição POST com um bloco DO para criar e exportar um objeto grande, lendo /etc/passwd.Aciona a injeção SQL, explora a incompatibilidade de codificação para executar comandos SQL arbitrários.Permite a execução da exploração, crítico para o impacto da PoC.
app.pyAplicativo Flask que expõe /vuln-endpoint, executa SQL bruto via psql.Fornece endpoint vulnerável para a exploração.Ponto de entrada para a exploração, necessário para demonstração da vulnerabilidade.
init.sqlCria tabela de teste com id VARCHAR(255) para entradas de string.Configura esquema para injeção, garante execução do payload sem erros de tipo.Configuração do banco de dados para a exploração, essencial para injeção SQL.
DockerfileConstrói contêiner do aplicativo Flask com dependências necessárias.Cria serviço de aplicativo isolado para implantação do endpoint.Implanta o aplicativo vulnerável, crítico para reprodutibilidade da PoC.
docker-compose.ymlDefine e vincula serviços db e app com configurações específicas.Orquestra a configuração, garante incompatibilidade de codificação e dependências de serviço.Vincula serviços, essencial para configuração do ambiente e isolamento.
Dockerfile.dbConstrói contêiner PostgreSQL com codificação EUC_TW.Cria banco de dados vulnerável com a codificação necessária.Configura banco de dados com codificação necessária, crítico para acionar a vulnerabilidade.

Etapas da Prova de Conceito

A PoC, executada em 14 de março de 2025, demonstra o impacto da exploração através das seguintes etapas, cada uma com explicação detalhada:

  1. sudo docker compose up --build

    • O que faz: Constrói e inicia os serviços Docker Compose (db e app), criando contêineres com imagens atualizadas se necessário, e os vincula na rede postgre_default. Garante que o ambiente vulnerável esteja configurado, com db usando codificação EUC_TW e app expondo /vuln-endpoint na porta 5000, crucial para a incompatibilidade de codificação e acesso ao endpoint da exploração.
    • Por que é necessário: Configura o ambiente necessário para o funcionamento da exploração, garantindo que todos os serviços estejam em execução e configurados corretamente.
  2. curl -X POST http://localhost:5000/vuln-endpoint -d "input=test"

    • O que faz: Envia uma requisição POST para o endpoint do aplicativo Flask com input=test, verificando conectividade e funcionalidade básica, esperando "Executed". Confirma que o aplicativo está em execução e pode conectar ao banco de dados, garantindo que a configuração esteja pronta para a exploração.
    • Por que é necessário: Garante que o endpoint esteja acessível e funcional antes de prosseguir com a exploração, alinhando-se com as etapas de verificação da PoC.
    • Verificando Configuração
  3. python3 cve-2025-1094-exploit.py

    • O que faz: Executa o script de exploração, enviando uma requisição POST com um bloco DO para criar um objeto grande, escrever /etc/passwd nele e exportar para /tmp/payload, imprimindo o status da execução. Aciona a injeção SQL, explorando a vulnerabilidade para ler /etc/passwd, crítico para demonstrar o impacto do CVE-2025-1094, como visto nos logs com exportação bem-sucedida do arquivo.
    • Por que é necessário: Executa a exploração central, mostrando como atacantes podem acessar dados sensíveis, alinhando-se ao objetivo da PoC de emular ataques do mundo real.
    • Executando Exploração
  4. sudo docker ps

    • O que faz: Lista os contêineres em execução, verificando se postgre-app-1 e postgre-db-1 estão ativos. Confirma a configuração antes de executar a exploração, garantindo que ambos os serviços estejam ativos, crítico para a confiabilidade da PoC. Fornece ao usuário o ID do contêiner, necessário nos comandos subsequentes.
    • Por que é necessário: Garante que todos os serviços necessários estejam em execução, fornecendo um ponto de verificação antes de etapas adicionais de exploração.
Baixar ferramenta