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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mongobleed-detector — Script de Detecção para Exploração do MongoBleed | Kitploit
Ferramentas/GitHubGitHub/neo23x0/mongobleed-detector
Análise de VulnerabilidadesScripting e AutomaçãoAnálise ForenseForensia DigitalInteligência de AmeaçasResposta a IncidentesSegurança de Banco de DadosAnálise de Logs
GitHubneo23x0/mongobleed-detector

mongobleed-detector

Script de Detecção para Exploração do MongoBleed

Ver Repositório
811314há 9 mesesRevisado pelo Kitploit

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

MongoBleed Detector

Ferramenta offline de análise do MongoDB para CVE-2025-14847 (MongoBleed)

Uma ferramenta autônoma de linha de comando para Linux que analisa dados do MongoDB para identificar provável exploração de CVE-2025-14847 usando múltiplos módulos de detecção.

Table of Contents

  • Visão Geral
  • Módulos de Detecção
  • Requisitos
  • Instalação
  • Dois Modos de Operação
  • Modo 1: Análise Local
  • Modo 2: Coleta Remota
  • Opções de Linha de Comando
  • Níveis de Confiança
  • Exemplo de Saída
  • Testes
  • Ressalvas e Limitações
  • Referências e Créditos
  • Licença

Visão Geral

MongoBleed (CVE-2025-14847) é uma vulnerabilidade de divulgação de memória na descompactação zlib do MongoDB que permite a atacantes extrair dados sensíveis — credenciais, tokens de sessão, PII — diretamente da memória do servidor sem autenticação.

Esta ferramenta ajuda respondedores a incidentes a detectar tentativas de exploração usando múltiplas fontes de evidência:

  • Módulo A: Correlação de logs (eventos de conexão, ausência de metadados)
  • Módulo B1: Análise de contadores de assert (snapshots de serverStatus.asserts)
  • Módulo B2: Detecção de picos de FTDC (séries temporais diagnostic.data)

Principais Recursos

  • Detecção Multi-Módulo - Correlaciona múltiplas fontes de dados para maior confiança
  • Offline e Sem Agente - Nenhuma conectividade de rede necessária durante a análise
  • Descoberta Automática - Detecta automaticamente fontes de dados disponíveis
  • Coleta Remota - Coleta dados de múltiplos hosts via SSH
  • Pontuação Combinada - Vereditos de confiança ALTO/MÉDIO/BAIXO
  • Processamento em Fluxo - Lida com arquivos de log grandes com eficiência

Módulos de Detecção

Módulo A: Correlação de Logs

Analisa logs JSON do MongoDB para detectar padrões de exploração:

ID do EventoTipoDescrição
22943Conexão AceitaRegistrado quando um cliente conecta
51800Metadados do ClienteRegistrado quando um cliente envia informações de driver/aplicativo
22944Conexão FechadaRegistrado quando um cliente desconecta

Insight-chave: Drivers legítimos do MongoDB sempre enviam metadados do cliente. O exploit MongoBleed conecta, extrai memória e desconecta — mas nunca envia metadados.

Módulo B1: Contadores de Assert

Analisa snapshots de db.serverStatus().asserts para detectar padrões incomuns nos contadores asserts.user:

  • Múltiplos Snapshots: Compara snapshots ao longo do tempo para detectar picos repentinos em asserts de usuário
  • Heurística de Snapshot Único: Quando apenas um snapshot está disponível, detecta padrões suspeitos comparando asserts.user a outros tipos de assert. Se os asserts de usuário forem desproporcionalmente altos (proporção ≥250x) ou todos os outros tipos forem zero, sinaliza como suspeito (confiança MÉDIA)

Nota: Contadores cumulativos podem produzir falsos positivos. Use em combinação com FTDC (Módulo B2) para melhores resultados.

Módulo B2: Detecção de Picos de FTDC

Analisa arquivos de Captura de Dados de Diagnóstico em Tempo Integral (FTDC) do MongoDB para detectar picos localizados no tempo nos contadores de assert. O FTDC amostra o serverStatus periodicamente, permitindo a cronometragem precisa de possíveis ataques.

Requisitos

Script Shell (mongobleed-detector.sh)

  • Linux ou macOS (bash 4+)
  • jq - processador de JSON
  • awk (gawk recomendado)
  • gzip - Para suporte a logs compactados

Componentes Python (opcional, para decodificação de FTDC)

  • Python 3.8+
  • pymongo - Para decodificação de arquivos FTDC

Scanner Remoto (mongobleed-remote.py)

  • Python 3.8+
  • Cliente SSH nativo (comandos ssh, scp)
  • Nenhum pacote Python adicional necessário para operação básica

Instalar Dependências

# Shell script dependencies
# Debian/Ubuntu
apt-get install jq gawk gzip

# RHEL/CentOS/Fedora
dnf install jq gawk gzip

# macOS
brew install jq gawk

# Python dependencies (for FTDC decoding)
pip install -r requirements.txt

Instalação

# Clone the repository
git clone https://github.com/your-org/mongobleed-detector.git
cd mongobleed-detector

# Make scripts executable
chmod +x mongobleed-detector.sh
chmod +x mongobleed-remote.py
chmod +x ftdc-decode.py

# Install Python dependencies (optional, for FTDC support)
pip install -r requirements.txt

Dois Modos de Operação

Modo 1: Análise Local

Analise dados que foram coletados manualmente de hosts MongoDB.

Modo 2: Coleta Remota

Colete automaticamente dados de múltiplos hosts via SSH e depois analise localmente.

Modo 1: Análise Local

Passo 1: Coletar Dados

Colete dados de seus hosts MongoDB e organize-os nesta estrutura:

./collected-data/
├── logs/                    # MongoDB JSON logs
│   ├── mongod.log
│   ├── mongod.log.1
│   └── mongod.log.2.gz
├── assert-counts/           # serverStatus().asserts snapshots
│   ├── asserts-2025-01-01.json
│   └── asserts-2025-01-02.json
└── ftdc-files/              # FTDC diagnostic.data contents
    ├── metrics.2025-01-02T10-00-00Z-00000
    └── metrics.interim

Coletando Logs

# Copy from remote host
scp user@mongohost:/var/log/mongodb/mongod.log* ./collected-data/logs/

Coletando Contadores de Assert

Execute este comando no host MongoDB (requer acesso ao mongosh):

mongosh --quiet --eval 'JSON.stringify({
  timestamp: new Date().toISOString(),
  hostname: db.hostInfo().system.hostname,
  asserts: db.serverStatus().asserts,
  uptime: db.serverStatus().uptime
})' > asserts-$(date +%Y%m%d-%H%M%S).json

Copie o arquivo JSON resultante para ./collected-data/assert-counts/.

Dica: Execute este comando várias vezes (ex.: a cada hora) para estabelecer uma linha de base e detectar picos.

Coletando Arquivos FTDC

Os arquivos FTDC estão localizados em:

  • mongod: <storage.dbPath>/diagnostic.data/ (comumente /var/lib/mongodb/diagnostic.data/)
  • mongos: Derivado de systemLog.path (ex.: /var/log/mongodb/mongos.diagnostic.data/)
# Copy FTDC files (may require sudo)
sudo cp /var/lib/mongodb/diagnostic.data/metrics.* ./collected-data/ftdc-files/

Passo 2: Executar Análise

# Auto-discovery mode - analyzes all available data
./mongobleed-detector.sh --data-dir ./collected-data/

# With custom thresholds
./mongobleed-detector.sh --data-dir ./collected-data/ \
    -t 1440 \              # 24-hour lookback
    -c 50 \                # Lower connection threshold
    --spike-threshold 50   # Lower spike threshold

Modo Legado (Somente Logs)

Para compatibilidade reversa, você ainda pode analisar logs diretamente:

# Scan default paths
./mongobleed-detector.sh

# Scan specific log files
./mongobleed-detector.sh -p /path/to/logs/*.json

# Forensic mode (analyze multiple hosts)
./mongobleed-detector.sh --forensic-dir /evidence/

Modo 2: Coleta Remota

Colete automaticamente dados de múltiplos hosts e analise:

# Create hosts file
cat > hosts.txt << EOF
mongo-prod-01.example.com
mongo-prod-02.example.com
mongo-staging.example.com
EOF

# Collect and analyze
./mongobleed-remote.py --hosts-file hosts.txt --user admin --output-dir ./collected-data/

Opções do Scanner Remoto

# Use specific SSH key
./mongobleed-remote.py --hosts-file hosts.txt --user admin --key ~/.ssh/mongodb_key

# Parallel execution
./mongobleed-remote.py --hosts-file hosts.txt --user admin --parallel 10

# Skip FTDC collection (faster)
./mongobleed-remote.py --hosts-file hosts.txt --user admin --skip-ftdc
Baixar ferramenta