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

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

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

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

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

Категории

Все категории
Loading categories
mongobleed-exploit-CVE-2025-14847 — Explot, Lab, Scanner - внешний и docker-контейнер, для SMongobleed-CVE-2025-14847 плюс phoenix security uploader | Kitploit
Инструменты/GitHubGitHub/franksec42/mongobleed-exploit-cve-2025-14847
Безопасность контейнеровКриминалистика памятиАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеБезопасность облачных средОбучение и ОбразованиеБезопасность Баз ДанныхЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubfranksec42/mongobleed-exploit-cve-2025-14847

mongobleed-exploit-CVE-2025-14847

Explot, Lab, Scanner - внешний и docker-контейнер, для SMongobleed-CVE-2025-14847 плюс phoenix security uploader

Репозиторий
31157 месяцев назадЕщё не проверено

🩸 MongoBleed - CVE-2025-14847 Лаборатория безопасности

MongoBleed Logo

CVE-2025-14847 | CVSS 8.7 (Высокий) | Неавторизованное раскрытие памяти


CVE-2025-14847, названная MongoBleed, позволяет неавторизованным удалённым атакующим извлекать неинициализированную память кучи, используя уязвимость в логике декомпрессии zlib в MongoDB. Эта высокая степень серьёзности раскрывает чувствительные артефакты, включая учётные данные в открытом виде и токены сессий, предоставляя карту для бокового перемещения и полного захвата сервера.

📖 Полная документация →


TL;DR для инженерных команд

АспектДетали
Что уязвимоУровень сетевого транспорта MongoDB с использованием сжатия zlib
СерьёзностьВысокая (CVSS 8.7/7.5)
ВоздействиеНеавторизованное удалённое раскрытие неинициализированной памяти кучи
Почему это важноУтекшие фрагменты содержат пароли к БД, секретные ключи AWS и внутреннее состояние сервера
Статус эксплойтаПубличный Proof-of-Concept (PoC) «mongobleed» подтверждён и распространяется
Что делать сегодняНемедленно обновить до исправленных версий или отключить сжатие zlib

Масштаб экспозиции

  • 87 000 – 194 000 публично открытых экземпляров MongoDB
  • 42% облачных сред затронуты (Исследование Wiz)
  • Аутентификация не требуется – эксплойты работают до аутентификации

🔬 Анатомия уязвимости

Технический анализ

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

Корневая причина

// VULNERABLE CODE (before fix)
counterHitDecompress(input.length(), output.length());
return {output.length()};  // ❌ Returns ALLOCATED buffer size

// PATCHED CODE (after fix)  
counterHitDecompress(input.length(), output.length());
return length;             // ✅ Returns ACTUAL decompressed data length

Поток эксплуатации

┌─────────────────────────────────────────────────────────────────────────────┐
│                        MongoBleed Attack Vector                             │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│   ATTACKER                         VULNERABLE MongoDB                        │
│      │                                    │                                  │
│      │  1. Send OP_COMPRESSED message     │                                  │
│      │     uncompressedSize: 8192 (LIE)   │                                  │
│      │     actual data: ~100 bytes        │                                  │
│      │────────────────────────────────────>                                  │
│      │                                    │                                  │
│      │                          2. Allocate 8192-byte buffer                 │
│      │                          3. Decompress ~100 bytes                     │
│      │                          4. BUG: Return buffer.length() = 8192        │
│      │                          5. BSON parser reads uninitialized memory    │
│      │                                    │                                  │
│      │  6. Error response with leaked     │                                  │
│      │     memory as "field names"        │                                  │
│      │<────────────────────────────────────                                  │
│      │                                    │                                  │
│   🔓 LEAKED DATA:                         │                                  │
│      - API keys, passwords, tokens                                           │
│      - MongoDB internal state                                                │
│      - WiredTiger storage configs                                            │
│      - System /proc information                                              │
│      - Client connection data                                                │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

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

ВерсияУязвимый диапазонИсправленная версияСтатус
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

Хронология обнаружения

ДатаСобытие
15 дек 2025Уязвимость выявлена; внутренняя заявка SERVER-115508
19 дек 2025Исправление выпущено, раскрыт CVE-2025-14847
24 дек 2025Весь парк MongoDB Atlas исправлен
26 дек 2025Опубликован публичный PoC «mongobleed»
28 дек 2025Эксплуатация замечена в реальных атаках

📁 Структура проекта

mongobleed-exploit-CVE-2025-14847/
├── exploit/                    # 🔴 Лаборатория эксплойта
│   ├── docker-compose.yml      # Уязвимый и исправленный экземпляры MongoDB
│   ├── mongobleed.py           # PoC эксплуатации утечки памяти
│   ├── init/init-mongo.js      # Чувствительные тестовые данные
│   ├── test-exploit.sh         # Скрипт тестирования лаборатории
│   └── README.md               # Документация лаборатории
│
├── scanner/                    # 🌐 Сетевой сканер
│   ├── mongobleed_scanner.py   # Сканер уязвимости по IP/домену
│   ├── sample-targets.txt      # Пример файла с целями
│   └── README.md               # Документация сканера
│
├── code-scan/                  # 📂 Сканер кода
│   ├── main.py                 # Точка входа CLI
│   ├── scanners/               # Сканеры для Docker, Python, инфраструктуры
│   ├── models/                 # Модели Findings, Vulnerability
│   ├── integrations/           # Выгрузка в Phoenix Security
│   └── README.md               # Документация сканера кода
│
└── original-exploit/           # 📚 Оригинальный PoC для справки

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

1. Лаборатория эксплойта

cd exploit

# Запуск лаборатории (уязвимый + исправленный экземпляры)
docker-compose up -d
sleep 10

# Тестирование уязвимого экземпляра (должна произойти утечка памяти)
python3 mongobleed.py --host localhost --port 27017

# Тестирование исправленного экземпляра (не должно быть утечки)
python3 mongobleed.py --host localhost --port 27018

# Полное тестирование лаборатории
./test-exploit.sh

2. Сетевой сканер

cd scanner

# Сканирование одного хоста
python3 mongobleed_scanner.py 192.168.1.100

# Сканирование диапазона сети
python3 mongobleed_scanner.py 192.168.1.0/24

# Сканирование из файла
python3 mongobleed_scanner.py @sample-targets.txt --json --output results.json

3. Сканер кода

cd code-scan

# Сканирование проекта на наличие уязвимых версий MongoDB
python3 main.py scan /path/to/project

# Сканирование и выгрузка в Phoenix
python3 main.py scan /path/to/project --upload-phoenix

# Запуск тестов
python3 main.py test

⚡ Быстрые команды

# === ЛАБОРАТОРИЯ ЭКСПЛОЙТА ===
# Запуск лаборатории
cd exploit && docker-compose up -d && sleep 10
Скачать инструмент