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
MongoBleed-exploit — MongoBleed (CVE-2025-14847) Lab & PoC: Um ambiente educacional completo para reproduzir o vazamento de memória crítico não autenticado no MongoDB. Inclui um contêiner Docker vulnerável com semeadura de múltiplos bancos de dados (PII, chaves de API) e uma exploração Python para demonstrar extração de dados. Ideal para pesquisa de segurança e conscientização. Análise de 1 dia. | Kitploit
Ferramentas/GitHubGitHub/eljoamy/mongobleed-exploit
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoCTFTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de DadosLabs e Prática

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

MongoBleed (CVE-2025-14847) Lab & PoC: Um ambiente educacional completo para reproduzir o vazamento de memória crítico não autenticado no MongoDB. Inclui um contêiner Docker vulnerável com semeadura de múltiplos bancos de dados (PII, chaves de API) e uma exploração Python para demonstrar extração de dados. Ideal para pesquisa de segurança e conscientização. Análise de 1 dia.

GitHub
eljoamy/mongobleed-exploit

MongoBleed-exploit

Ver Repositório
9há 8 mesesAinda não revisado
Compartilhar

CVE-2025-14847: Laboratório MongoBleed

Python      MongoDB      Docker

Índice

  1. Introdução
  2. Detalhes da Vulnerabilidade
    • Como Funciona
  3. Impacto
  4. Arquitetura do Laboratório
  5. Pré-requisitos
  6. Instalação e Uso
    • 1. Iniciar o Ambiente
    • 2. Instalar Dependências
    • 3. Verificar a Configuração do Laboratório (Opcional)
    • 4. Executar o Exploit
  7. Passo a Passo da Exploração
  8. Remediação
  9. Licença
  10. Aviso Legal
  11. Referências
  12. Autor

Introdução

Este laboratório foi projetado para reproduzir e analisar o MongoBleed (CVE-2025-14847), uma vulnerabilidade crítica no MongoDB. Essa falha permite que atacantes não autenticados leiam dados confidenciais da memória do servidor devido ao tratamento inadequado de mensagens comprimidas.

O ambiente inclui uma instância vulnerável do MongoDB populada com dados confidenciais fictícios (PII, chaves de API, registros financeiros) para demonstrar a gravidade do vazamento.

Detalhes da Vulnerabilidade

ID CVE: CVE-2025-14847
Nome: MongoBleed
Componente: Wire Protocol (OP_COMPRESSED)
Versões Vulneráveis: MongoDB 6.0.x < 6.0.27, 7.0.x < 7.0.28, 8.0.x < 8.0.17 (e outras) URL: Clique aqui -> NVD CVE-2025-14847

Como Funciona

A vulnerabilidade reside na forma como o MongoDB lida com mensagens OP_COMPRESSED usando o algoritmo de compressão zlib.

  1. Incompatibilidade de Tamanho: Um atacante envia uma mensagem comprimida onde o campo uncompressed_size no cabeçalho é intencionalmente definido com um valor muito maior do que o tamanho real dos dados descomprimidos.
  2. Alocação de Memória: O servidor aloca um buffer de memória com base nesse uncompressed_size inflado.
  3. Escrita Parcial: O descompressor zlib escreve o payload real (pequeno) no início desse buffer. O restante do buffer permanece não inicializado, contendo dados residuais de operações anteriores (artefatos de RAM).
  4. O Vazamento: Quando o servidor tenta analisar esse buffer como um documento BSON, ele lê além dos dados válidos, entrando na memória não inicializada. Se o analisador encontrar um erro (o que é provável), ele pode retornar os dados "ruins" na mensagem de erro para o cliente.

Impacto

  • Acesso Não Autenticado: O ataque não requer credenciais válidas.
  • Divulgação de Informações: Os atacantes podem extrair qualquer coisa que esteja na memória do processo do MongoDB, incluindo:
    • Credenciais de autenticação (senhas em texto claro ou hashes).
    • Dados de outros bancos/coleções.
    • Configuração do servidor e variáveis de ambiente.
    • Tokens de sessão ativos.

Arquitetura do Laboratório

O laboratório consiste em:

  • Serviço Vulnerável: MongoDB 6.0.10 (contêiner Docker).
  • Autenticação: Habilitada (admin / secretpassword).
  • Semeadura de Dados: Um script de inicialização (init-mongo.js) que preenche 3 bancos de dados distintos para simular um ambiente SaaS de Infraestrutura em Nuvem real:
    • dbmongotesting: Dados principais de infraestrutura.
      • compute_instances: Metadados confidenciais (scripts User Data, chaves de API).
      • deployment_secrets: Alvos de alto valor (tokens K8s, chaves CI/CD, webhooks do Slack).
    • identity_provider: Gerenciamento de identidade de usuários.
      • users: Credenciais de usuário, hashes de senha (Argon2) e códigos de backup MFA (vazados em texto simples).
    • system_audit: Logs e monitoramento.
      • query_logs: Contém consultas históricas, algumas incluindo credenciais vazadas (por exemplo, chaves AWS).
  • Exploit: Um script Python (exploit.py) que implementa o ataque de protocolo com engenharia reversa.

Pré-requisitos

  • Docker
  • Docker Compose
  • Python 3

Instalação e Uso

1. Iniciar o Ambiente

Inicie o contêiner vulnerável. Isso criará automaticamente os bancos de dados e os preencherá com dados.

root@kitploit:~
docker-compose up -d

Aguarde cerca de 10 a 15 segundos para o banco de dados inicializar e carregar os dados.

Nota: Se você já executou este laboratório antes, certifique-se de redefinir o volume para carregar a estrutura de dados mais recente:

root@kitploit:~
docker-compose down -v
docker-compose up -d

2. Instalar Dependências

Você pode instalar as dependências necessárias usando pip com o requirements.txt legado ou o pyproject.toml moderno.

Opção A: Usando requirements.txt (Padrão)

root@kitploit:~
pip install -r requirements.txt

Opção B: Usando pyproject.toml (Moderno) Isso instalará o projeto e suas dependências no ambiente atual.

root@kitploit:~
pip install .

3. Verificar a Configuração do Laboratório (Opcional)

Fornecemos um script de verificação para garantir que o banco de dados esteja acessível e os dados foram semeados corretamente.

root@kitploit:~
python verify_lab.py

Este script usa as credenciais de administrador para verificar a existência de bancos de dados como sensitive_db, legacy_crm, etc.

4. Executar o Exploit

Execute o script Python para atacar o servidor. Nenhuma credencial é necessária para esta etapa, demonstrando a natureza não autenticada da vulnerabilidade.

root@kitploit:~
python exploit.py --host localhost --port 27017 --min 100 --max 5000

Passo a Passo da Exploração

O script executa as seguintes etapas:

  1. Constrói um payload BSON malicioso.
  2. Comprime-o e o envolve em um cabeçalho OP_COMPRESSED com um tamanho inflado falsificado.
  3. Envia-o para o servidor alvo.
  4. Escuta por respostas de erro.
  5. Imprime qualquer texto legível encontrado na resposta do servidor (que vem do vazamento de memória).

Saída Esperada: Você deve ver uma saída indicando vazamentos encontrados em vários deslocamentos, seguida por um resumo dos segredos detectados.

root@kitploit:~
[*] MongoBleed Exploit (Implementação Personalizada)
[*] Alvo: localhost:27017
[*] Escaneando deslocamentos de memória de 100 a 5000...
[+] Deslocamento 120  | ... dbmongotesting ... compute_instances ...
[+] Deslocamento 145  | ... nome do campo 'AKIAIOSFODNN7EXAMPLE' não é válido ... [!] ENCONTRADO AKIA
[+] Deslocamento 210  | ... "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ik16UTBOVFZ... [!] ENCONTRADO token

[*] Escaneamento concluído em 12.45s
[*] Total de bytes vazados: 4502
[*] Fragmentos únicos: 156

[*] Resumo dos Segredos:
[!] Padrão encontrado: AKIA
[!] Padrão encontrado: token
[!] Padrão encontrado: password

Remediação

Para corrigir esta vulnerabilidade em ambientes de produção:

  1. Atualização: Atualize o MongoDB para uma versão corrigida (por exemplo, 6.0.27+, 7.0.28+, 8.0.17+).
  2. Restrições de Rede: Certifique-se de que as portas do MongoDB (27017) não estejam expostas à internet pública.

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.

Aviso Legal

Este material é apenas para fins educacionais e de pesquisa. Não use este exploit em sistemas que você não possui ou para os quais não tem permissão explícita para testar. O autor não se responsabiliza pelo uso indevido desta informação ou ferramenta.

Referências

  • Explorando uma Instância MongoDB Exposta com Mongobleed: Um Passo a Passo de Laboratório Local
  • CVE-2025-1623

Autor

ElJoamy
Joseph Meneses (ElJoamy)

Desenvolvedor Backend e IA · Engenheiro de Cibersegurança · DBA · Testador de Penetração

Baixar ferramenta