Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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-scanner — MongoDB CVE-2025-14847 Scanner de fuite de mémoire heap | Vulnérabilité OP_COMPRESSED zlib | Bug Bounty & Outil Red Team | Kitploit
Outils/GitHubGitHub/black1hp/mongobleed-scanner
ReconnaissanceScanners de VulnérabilitésExploitationCollecte d'InformationsTests d'IntrusionRed Teaming
GitHubblack1hp/mongobleed-scanner

mongobleed-scanner

MongoDB CVE-2025-14847 Scanner de fuite de mémoire heap | Vulnérabilité OP_COMPRESSED zlib | Bug Bounty & Outil Red Team

Voir le dépôt
355il y a 7 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 (CVE-2025-14847)

MongoBleed est un scanner PoC haute performance pour CVE-2025-14847, une vulnérabilité de divulgation de mémoire tas avant authentification dans le pilote MongoDB C++. L'outil est conçu pour l'identification rapide d'instances vulnérables sur de vastes plages réseau.

Analyse technique

La vulnérabilité provient d'une lecture hors limites (OOB) dans le traitement par le protocole filaire MongoDB des messages OP_COMPRESSED.

Lorsqu'un serveur reçoit un paquet OP_COMPRESSED, il se base sur le champ uncompressedSize fourni par l'attaquant pour allouer un tampon de décompression. Si les données décompressées réelles sont significativement plus petites que la taille uncompressedSize déclarée, le pilote ne tronque ni ne nettoie le tampon. En conséquence, le serveur renvoie le bloc mémoire alloué dans son intégralité, qui peut contenir des données de tas non initialisées, exposant potentiellement des informations sensibles telles que des jetons de session, des pointeurs internes ou des fragments d'autres requêtes de base de données.

Fonctionnalités

  • E/S asynchrones utilisant Python asyncio pour un balayage à haute concurrence
  • Détection précise en validant la longueur de la réponse par rapport à la taille de fuite demandée
  • Faux positifs minimaux grâce à une interaction vérifiée au niveau du protocole
  • Enregistrement automatique des cibles vulnérables dans vulnerable_targets.txt

Installation

root@kitploit:~
git clone https://github.com/Black1hp/mongobleed-scanner/
cd mongobleed-scanner

Aucune dépendance externe requise (bibliothèque standard Python uniquement).

Utilisation

Utilisation de base :

root@kitploit:~
python3 mongobleed.py -i targets.txt

Configuration avancée :

root@kitploit:~
python3 mongobleed.py -i targets.txt -c 100 -t 5

Options

  • -i : Fichier d'entrée contenant les cibles (IP, domaine ou IP:port)
  • -c : Niveau de concurrence (défaut : 50)
  • -t : Délai d'expiration de connexion en secondes (défaut : 5)

Logique de détection

Le scanner identifie la vulnérabilité en exploitant une discordance de taille lors de la phase de décompression BSON :

  1. Le scanner envoie un paquet OP_COMPRESSED contenuant une petite charge utile compressée avec zlib par exemple 16-30 octets .
  2. Le champ uncompressedSize dans l'en-tête du paquet est intentionnellement défini à une valeur beaucoup plus grande (par exemple, 64 Ko).
  3. Un état VULNÉRABLE est confirmé si le serveur MongoDB répond avec un MessageLength qui correspond à la grande taille de tampon demandée plutôt qu'à la taille réelle de la charge utile décompressée.
  4. Le serveur utilise de manière confiante la valeur uncompressedSize fournie par l'attaquant pour définir la longueur de la réponse. Comme il ne met pas à jour cette longueur avec les octets réels écrits lors de la décompression, il envoie aveuglément l'intégralité du tampon de tas alloué—y compris la mémoire non initialisée—au client.
  5. Le scanner valide la réponse en lisant les octets supplémentaires du flux, qui représentent des fragments non initialisés de la mémoire tas du serveur.

Preuve de concept

Your browser does not support the video tag.

Remarque : La vidéo ci-dessus montre le scanner identifiant plusieurs instances vulnérables et capturant des fragments de tas en temps réel.

Auteur

Black1hp Chercheur en sécurité | Chasseur de bugs | Membre d'équipe rouge

  • GitHub : https://github.com/black1hp
  • X (Twitter) : https://x.com/black1hp
  • Medium : https://medium.com/@black1hp
  • LinkedIn : https://www.linkedin.com/in/black1hp/

Avertissement

Cet outil est destiné uniquement à des fins de tests de sécurité et de recherche autorisés. L'auteur n'est pas responsable de toute utilisation non autorisée ou des dommages résultant de cet outil.

Télécharger l’outil