Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mongobleed-detector — Script de detección para la explotación de MongoBleed | Kitploit
Herramientas/GitHubGitHub/neo23x0/mongobleed-detector
Análisis de VulnerabilidadesScripting y AutomatizaciónAnálisis ForenseForensia DigitalInteligencia de AmenazasRespuesta a IncidentesSeguridad de Bases de DatosAnálisis de Registros
GitHubneo23x0/mongobleed-detector

mongobleed-detector

Script de detección para la explotación de MongoBleed

Ver Repositorio
811314hace 9 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Detector MongoBleed

Herramienta de análisis offline de MongoDB para CVE-2025-14847 (MongoBleed)

Una herramienta independiente de línea de comandos para Linux que analiza datos de MongoDB para identificar una posible explotación de CVE-2025-14847 mediante múltiples módulos de detección.

Tabla de contenidos

  • Resumen
  • Módulos de detección
  • Requisitos
  • Instalación
  • Dos modos de operación
  • Modo 1: Análisis local
  • Modo 2: Recopilación remota
  • Opciones de línea de comandos
  • Niveles de confianza
  • Ejemplo de salida
  • Pruebas
  • Advertencias y limitaciones
  • Referencias y créditos
  • Licencia

Resumen

MongoBleed (CVE-2025-14847) es una vulnerabilidad de divulgación de memoria en la descompresión zlib de MongoDB que permite a los atacantes extraer datos sensibles (credenciales, tokens de sesión, PII) directamente de la memoria del servidor sin autenticación.

Esta herramienta ayuda a los respondedores de incidentes a detectar intentos de explotación mediante múltiples fuentes de evidencia:

  • Módulo A: Correlación de registros (eventos de conexión, ausencia de metadatos)
  • Módulo B1: Análisis de contadores de aserciones (instantáneas de serverStatus.asserts)
  • Módulo B2: Detección de picos en FTDC (series temporales de diagnostic.data)

Características principales

  • Detección multimódulo: correlaciona múltiples fuentes de datos para mayor confianza
  • Offline y sin agente: no requiere conectividad de red durante el análisis
  • Autodescubrimiento: detecta automáticamente las fuentes de datos disponibles
  • Recopilación remota: recopila datos de múltiples hosts mediante SSH
  • Puntuación combinada: veredictos de confianza ALTA/MEDIA/BAJA
  • Procesamiento en streaming: maneja archivos de registro grandes de forma eficiente

Módulos de detección

Módulo A: Correlación de registros

Analiza los registros JSON de MongoDB para detectar patrones de explotación:

ID de eventoTipoDescripción
22943Conexión aceptadaSe registra cuando un cliente se conecta
51800Metadatos del clienteSe registra cuando un cliente envía información de driver/aplicación
22944Conexión cerradaSe registra cuando un cliente se desconecta

Información clave: los drivers legítimos de MongoDB siempre envían metadatos del cliente. El exploit MongoBleed se conecta, extrae memoria y se desconecta, pero nunca envía metadatos.

Módulo B1: Contadores de aserciones

Analiza instantáneas de db.serverStatus().asserts para detectar patrones inusuales en los contadores de asserts.user:

  • Múltiples instantáneas: compara instantáneas a lo largo del tiempo para detectar picos repentinos en aserciones de usuario
  • Heurística de instantánea única: cuando solo hay una instantánea disponible, detecta patrones sospechosos comparando asserts.user con otros tipos de aserciones. Si las aserciones de usuario son desproporcionadamente altas (proporción ≥250x) o todos los demás tipos son cero, lo marca como sospechoso (confianza MEDIA)

Nota: los contadores acumulativos pueden producir falsos positivos. Úselo en combinación con FTDC (módulo B2) para obtener los mejores resultados.

Módulo B2: Detección de picos en FTDC

Analiza los archivos de captura de datos de diagnóstico de tiempo completo (FTDC) de MongoDB para detectar picos localizados en el tiempo en los contadores de aserciones. FTDC muestrea serverStatus periódicamente, lo que permite una sincronización precisa de posibles ataques.

Requisitos

Script de shell (mongobleed-detector.sh)

  • Linux o macOS (bash 4+)
  • jq: procesador JSON
  • awk (se recomienda gawk)
  • gzip: para soporte de registros comprimidos

Componentes de Python (opcionales, para decodificación FTDC)

  • Python 3.8+
  • pymongo: para decodificación de archivos FTDC

Escáner remoto (mongobleed-remote.py)

  • Python 3.8+
  • Cliente SSH nativo (comandos ssh, scp)
  • No se requieren paquetes adicionales de Python para el funcionamiento básico

Instalar dependencias

# Dependencias del script de shell
# Debian/Ubuntu
apt-get install jq gawk gzip

# RHEL/CentOS/Fedora
dnf install jq gawk gzip

# macOS
brew install jq gawk

# Dependencias de Python (para decodificación FTDC)
pip install -r requirements.txt

Instalación

# Clonar el repositorio
git clone https://github.com/your-org/mongobleed-detector.git
cd mongobleed-detector

# Hacer ejecutables los scripts
chmod +x mongobleed-detector.sh
chmod +x mongobleed-remote.py
chmod +x ftdc-decode.py

# Instalar dependencias de Python (opcional, para soporte FTDC)
pip install -r requirements.txt

Dos modos de operación

Modo 1: Análisis local

Analice datos que se hayan recopilado manualmente de los hosts de MongoDB.

Modo 2: Recopilación remota

Recopile automáticamente datos de múltiples hosts mediante SSH y luego analícelos localmente.

Modo 1: Análisis local

Paso 1: Recopilar datos

Recopile datos de sus hosts de MongoDB y organícelos en esta estructura:

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

Recopilar registros

# Copiar desde el host remoto
scp user@mongohost:/var/log/mongodb/mongod.log* ./collected-data/logs/

Recopilar contadores de aserciones

Ejecute este comando en el host de MongoDB (requiere acceso a 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 el archivo JSON resultante a ./collected-data/assert-counts/.

Consejo: ejecute este comando varias veces (por ejemplo, cada hora) para establecer una línea base y detectar picos.

Recopilar archivos FTDC

Los archivos FTDC se encuentran en:

  • mongod: <storage.dbPath>/diagnostic.data/ (comúnmente /var/lib/mongodb/diagnostic.data/)
  • mongos: derivado de systemLog.path (p. ej., /var/log/mongodb/mongos.diagnostic.data/)
# Copiar archivos FTDC (puede requerir sudo)
sudo cp /var/lib/mongodb/diagnostic.data/metrics.* ./collected-data/ftdc-files/

Paso 2: Ejecutar el análisis

# Modo de autodescubrimiento: analiza todos los datos disponibles
./mongobleed-detector.sh --data-dir ./collected-data/

# Con umbrales personalizados
./mongobleed-detector.sh --data-dir ./collected-data/ \
    -t 1440 \              # Ventana de retroceso de 24 horas
    -c 50 \                # Umbral de conexión más bajo
    --spike-threshold 50   # Umbral de pico más bajo

Modo heredado (solo registros)

Para compatibilidad con versiones anteriores, aún puede analizar registros directamente:

# Escanear rutas predeterminadas
./mongobleed-detector.sh

# Escanear archivos de registro específicos
./mongobleed-detector.sh -p /path/to/logs/*.json

# Modo forense (analizar múltiples hosts)
./mongobleed-detector.sh --forensic-dir /evidence/

Modo 2: Recopilación remota

Recopile automáticamente datos de múltiples hosts y analícelos:

# Crear archivo de hosts
cat > hosts.txt << EOF
mongo-prod-01.example.com
mongo-prod-02.example.com
mongo-staging.example.com
EOF
Descargar herramienta