Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
mongobleed-detector — Script de détection pour l'exploitation de MongoBleed | Kitploit
Outils/GitHubGitHub/neo23x0/mongobleed-detector
Analyse des VulnérabilitésScripting et AutomatisationAnalyse ForensiqueCriminalistique NumériqueRenseignement sur les MenacesRéponse aux IncidentsSécurité des Bases de DonnéesAnalyse de Journaux
GitHubneo23x0/mongobleed-detector

mongobleed-detector

Script de détection pour l'exploitation de MongoBleed

Voir le dépôt
811314il y a 9 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

MongoBleed Detector

Outil d'analyse MongoDB hors ligne pour CVE-2025-14847 (MongoBleed)

Un outil Linux autonome en ligne de commande qui analyse les données MongoDB afin d'identifier une exploitation probable de CVE-2025-14847 à l'aide de multiples modules de détection.

Table des matières

  • Aperçu
  • Modules de détection
  • Prérequis
  • Installation
  • Deux modes de fonctionnement
  • Mode 1: Analyse locale
  • Mode 2: Collecte à distance
  • Options de la ligne de commande
  • Niveaux de confiance
  • Exemple de sortie
  • Tests
  • Mises en garde et limites
  • Références et crédits
  • Licence
  • Contribution

Aperçu

MongoBleed (CVE-2025-14847) est une vulnérabilité de divulgation de mémoire dans la décompression zlib de MongoDB qui permet aux attaquants d'extraire des données sensibles — identifiants, jetons de session, données personnelles — directement depuis la mémoire du serveur sans authentification.

Cet outil aide les répondants aux incidents à détecter les tentatives d'exploitation à partir de multiples sources de preuves :

  • Module A : Corrélation de journaux (événements de connexion, absence de métadonnées)
  • Module B1 : Analyse des compteurs d'assertions (instantanés serverStatus.asserts)
  • Module B2 : Détection de pics FTDC (séries temporelles diagnostic.data)

Fonctionnalités clés

  • Détection multi-module - Corrèle plusieurs sources de données pour une plus grande fiabilité
  • Hors ligne et sans agent - Aucune connectivité réseau requise pendant l'analyse
  • Découverte automatique - Détecte automatiquement les sources de données disponibles
  • Collecte à distance - Collecte les données de plusieurs hôtes via SSH
  • Score combiné - Verdicts de confiance ÉLEVÉ/MOYEN/FAIBLE
  • Traitement en flux - Gère efficacement les grands fichiers journaux

Modules de détection

Module A : Corrélation de journaux

Analyse les journaux JSON MongoDB pour détecter les schémas d'exploitation :

ID d'événementTypeDescription
22943Connexion acceptéeJournalisé lorsqu'un client se connecte
51800Métadonnées clientJournalisé lorsqu'un client envoie les informations pilote/application
22944Connexion ferméeJournalisé lorsqu'un client se déconnecte

Point clé : Les pilotes MongoDB légitimes envoient toujours des métadonnées client. L'exploit MongoBleed se connecte, extrait la mémoire et se déconnecte — mais n'envoie jamais de métadonnées.

Module B1 : Compteurs d'assertions

Analyse les instantanés de db.serverStatus().asserts pour détecter des schémas inhabituels dans les compteurs asserts.user :

  • Instantanés multiples : Compare les instantanés dans le temps pour détecter des pics soudains d'assertions utilisateur
  • Heuristique d'instantané unique : Lorsqu'un seul instantané est disponible, détecte les schémas suspects en comparant asserts.user aux autres types d'assertions. Si les assertions utilisateur sont disproportionnellement élevées (ratio ≥250x) ou si tous les autres types sont à zéro, signale comme suspect (confiance MOYENNE)

Remarque : Les compteurs cumulés peuvent produire des faux positifs. À utiliser en combinaison avec FTDC (module B2) pour de meilleurs résultats.

Module B2 : Détection de pics FTDC

Analyse les fichiers de capture de données de diagnostic en continu (FTDC) de MongoDB pour détecter des pics localisés dans le temps des compteurs d'assertions. FTDC échantillonne l'état du serveur périodiquement, permettant un minutage précis des attaques potentielles.

Prérequis

Script shell (mongobleed-detector.sh)

  • Linux ou macOS (bash 4+)
  • jq - Processeur JSON
  • awk (gawk recommandé)
  • gzip - Pour la prise en charge des journaux compressés

Composants Python (facultatifs, pour le décodage FTDC)

  • Python 3.8+
  • pymongo - Pour le décodage des fichiers FTDC

Scanneur à distance (mongobleed-remote.py)

  • Python 3.8+
  • Client SSH natif (commandes ssh, scp)
  • Aucun paquet Python supplémentaire requis pour le fonctionnement de base

Installer les dépendances

# 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

Installation

# 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

Deux modes de fonctionnement

Mode 1: Analyse locale

Analysez les données collectées manuellement à partir des hôtes MongoDB.

Mode 2: Collecte à distance

Collectez automatiquement les données de plusieurs hôtes via SSH, puis analysez-les localement.

Mode 1: Analyse locale

Étape 1 : Collecter les données

Collectez les données de vos hôtes MongoDB et organisez-les selon cette structure :

./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

Collecte des journaux

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

Collecte des compteurs d'assertions

Exécutez cette commande sur l'hôte MongoDB (nécessite un accès 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

Copiez le fichier JSON résultant dans ./collected-data/assert-counts/.

Astuce : Exécutez cette commande plusieurs fois (par exemple, toutes les heures) pour établir une référence et détecter les pics.

Collecte des fichiers FTDC

Les fichiers FTDC se trouvent à :

  • mongod : <storage.dbPath>/diagnostic.data/ (généralement /var/lib/mongodb/diagnostic.data/)
  • mongos : Dérivé de systemLog.path (par exemple, /var/log/mongodb/mongos.diagnostic.data/)
# Copy FTDC files (may require sudo)
sudo cp /var/lib/mongodb/diagnostic.data/metrics.* ./collected-data/ftdc-files/

Étape 2 : Exécuter l'analyse

# 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

Mode hérité (journaux uniquement)

Pour la compatibilité ascendante, vous pouvez toujours analyser les journaux directement :

# 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/

Mode 2: Collecte à distance

Collectez automatiquement les données de plusieurs hôtes et analysez-les :

# Create hosts file
cat > hosts.txt << EOF
mongo-prod-01.example.com
mongo-prod-02.example.com
mongo-staging.example.com
EOF
Télécharger l’outil