Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
MongoBleed-exploit — MongoBleed (CVE-2025-14847) Labor & PoC: Eine vollständige Bildungsumgebung, um den kritischen nicht authentifizierten Speicherleck in MongoDB zu reproduzieren. Enthält einen verwundbaren Docker-Container mit Multi-Datenbank-Seeding (PII, API-Schlüssel) und einen Python-Exploit, um die Datenextraktion zu demonstrieren. Ideal für Sicherheitsforschung und Sensibilisierung. 1-Tages-Analyse. | Kitploit
Tools/GitHubGitHub/eljoamy/mongobleed-exploit
SpeicherforensikSchwachstellenanalyseExploitationCTFPenetrationstestsLernen & BildungDatenbanksicherheitLabs & Praxis

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

MongoBleed (CVE-2025-14847) Labor & PoC: Eine vollständige Bildungsumgebung, um den kritischen nicht authentifizierten Speicherleck in MongoDB zu reproduzieren. Enthält einen verwundbaren Docker-Container mit Multi-Datenbank-Seeding (PII, API-Schlüssel) und einen Python-Exploit, um die Datenextraktion zu demonstrieren. Ideal für Sicherheitsforschung und Sensibilisierung. 1-Tages-Analyse.

GitHub
eljoamy/mongobleed-exploit

MongoBleed-exploit

Repository anzeigen
9vor 8 MonatenNoch nicht geprüft
Teilen

CVE-2025-14847: MongoBleed Labor

Python      MongoDB      Docker

Inhaltsverzeichnis

  1. Einführung
  2. Schwachstellendetails
    • Funktionsweise
  3. Auswirkungen
  4. Labor-Architektur
  5. Voraussetzungen
  6. Installation und Verwendung
    • 1. Umgebung starten
    • 2. Abhängigkeiten installieren
    • 3. Labor-Setup überprüfen (optional)
    • 4. Exploit ausführen
  7. Durchführung der Ausnutzung
  8. Behebung
  9. Lizenz
  10. Haftungsausschluss
  11. Referenzen
  12. Autor

Einführung

Dieses Labor wurde entwickelt, um MongoBleed (CVE-2025-14847), eine kritische Schwachstelle in MongoDB, zu reproduzieren und zu analysieren. Diese Schwachstelle ermöglicht es nicht authentifizierten Angreifern, vertrauliche Daten aus dem Speicher des Servers auszulesen, aufgrund einer unsachgemäßen Verarbeitung komprimierter Nachrichten.

Die Umgebung enthält eine verwundbare MongoDB-Instanz, die mit Dummy-Sensitiven Daten (PII, API-Schlüssel, Finanzdaten) befüllt ist, um den Schweregrad des Datenlecks zu demonstrieren.

Schwachstellendetails

CVE-ID: CVE-2025-14847
Name: MongoBleed
Komponente: Wire Protocol (OP_COMPRESSED)
Verwundbare Versionen: MongoDB 6.0.x < 6.0.27, 7.0.x < 7.0.28, 8.0.x < 8.0.17 (und andere) URL: Klicken Sie darauf -> NVD CVE-2025-14847

Funktionsweise

Die Schwachstelle liegt in der Art und Weise, wie MongoDB OP_COMPRESSED-Nachrichten mit dem zlib-Komprimierungsalgorithmus verarbeitet.

  1. Größenfehlanpassung: Ein Angreifer sendet eine komprimierte Nachricht, bei der das Feld uncompressed_size im Header absichtlich auf einen viel größeren Wert als die tatsächliche dekomprimierte Datengröße gesetzt wird.
  2. Speicherzuweisung: Der Server weist einen Speicherpuffer basierend auf dieser aufgeblähten uncompressed_size zu.
  3. Teilweises Schreiben: Der zlib-Dekompressor schreibt die tatsächliche (kleine) Nutzlast an den Anfang dieses Puffers. Der Rest des Puffers bleibt nicht initialisiert und enthält Restdaten von vorherigen Vorgängen (RAM-Artefakte).
  4. Das Leck: Wenn der Server versucht, diesen Puffer als BSON-Dokument zu parsen, liest er über die gültigen Daten hinaus in den nicht initialisierten Speicher. Wenn der Parser auf einen Fehler stößt (was wahrscheinlich ist), kann die "schlechten" Daten in der Fehlermeldung an den Client zurückgegeben werden.

Auswirkungen

  • Nicht authentifizierter Zugriff: Der Angriff erfordert keine gültigen Anmeldeinformationen.
  • Informationsoffenlegung: Angreifer können alles extrahieren, was sich derzeit im MongoDB-Prozessspeicher befindet, einschließlich:
    • Authentifizierungsdaten (Klartext-Passwörter oder Hashes).
    • Daten aus anderen Datenbanken/Sammlungen.
    • Serverkonfiguration und Umgebungsvariablen.
    • Aktive Sitzungstokens.

Labor-Architektur

Das Labor besteht aus:

  • Verwundbarer Dienst: MongoDB 6.0.10 (Docker-Container).
  • Authentifizierung: Aktiviert (admin / secretpassword).
  • Datenbefüllung: Ein Initialisierungsskript (init-mongo.js), das 3 verschiedene Datenbanken befüllt, um eine echte Cloud-Infrastruktur-SaaS-Umgebung zu simulieren:
    • dbmongotesting: Kerninfrastrukturdaten.
      • compute_instances: Sensitive Metadaten (User-Data-Skripte, API-Schlüssel).
      • deployment_secrets: Hochwertige Ziele (K8s-Tokens, CI/CD-Schlüssel, Slack-Webhooks).
    • identity_provider: Benutzeridentitätsverwaltung.
      • users: Benutzerdaten, Passwort-Hashes (Argon2) und MFA-Backup-Codes (im Klartext durchgesickert).
    • system_audit: Protokolle und Überwachung.
      • query_logs: Enthält historische Abfragen, einige mit durchgesickerten Anmeldedaten (z. B. AWS-Schlüssel).
  • Exploit: Ein Python-Skript (exploit.py), das den rückentwickelten Protokollangriff implementiert.

Voraussetzungen

  • Docker
  • Docker Compose
  • Python 3

Installation und Verwendung

1. Umgebung starten

Starten Sie den verwundbaren Container. Dadurch werden automatisch die Datenbanken erstellt und mit Daten befüllt.

root@kitploit:~
docker-compose up -d

Warten Sie etwa 10-15 Sekunden, bis die Datenbank initialisiert und die Daten geladen hat.

Hinweis: Falls Sie dieses Labor bereits ausgeführt haben, setzen Sie das Volume zurück, um die neueste Datenstruktur zu laden:

root@kitploit:~
docker-compose down -v
docker-compose up -d

2. Abhängigkeiten installieren

Sie können die erforderlichen Abhängigkeiten mit pip entweder über die veraltete requirements.txt oder die moderne pyproject.toml installieren.

Option A: Mit requirements.txt (Standard)

root@kitploit:~
pip install -r requirements.txt

Option B: Mit pyproject.toml (Modern) Dadurch werden das Projekt und seine Abhängigkeiten in der aktuellen Umgebung installiert.

root@kitploit:~
pip install .

3. Labor-Setup überprüfen (optional)

Wir haben ein Verifikationsskript bereitgestellt, um sicherzustellen, dass die Datenbank erreichbar und die Daten korrekt befüllt wurden.

root@kitploit:~
python verify_lab.py

Dieses Skript verwendet die Admin-Anmeldedaten, um die Existenz von Datenbanken wie sensitive_db, legacy_crm usw. zu überprüfen.

4. Exploit ausführen

Führen Sie das Python-Skript aus, um den Server anzugreifen. Für diesen Schritt sind keine Anmeldedaten erforderlich, was den nicht authentifizierten Charakter der Schwachstelle demonstriert.

root@kitploit:~
python exploit.py --host localhost --port 27017 --min 100 --max 5000

Durchführung der Ausnutzung

Das Skript führt die folgenden Schritte aus:

  1. Erstellt eine schädliche BSON-Nutzlast.
  2. Komprimiert diese und verpackt sie in einen OP_COMPRESSED-Header mit einer gefälschten, aufgeblähten Größe.
  3. Sendet diese an den Zielserver.
  4. Hört auf Fehlerantworten.
  5. Gibt jeden lesbaren Text aus, der in der Serverantwort gefunden wird (der aus dem Speicherleck stammt).

Erwartete Ausgabe: Sie sollten eine Ausgabe sehen, die Lecks an verschiedenen Offsets anzeigt, gefolgt von einer Zusammenfassung der erkannten Geheimnisse.

root@kitploit:~
[*] MongoBleed Exploit (Custom Implementation)
[*] Target: localhost:27017
[*] Scanning memory offsets 100 to 5000...
[+] Offset 120  | ... dbmongotesting ... compute_instances ...
[+] Offset 145  | ... field name 'AKIAIOSFODNN7EXAMPLE' is not valid ... [!] FOUND AKIA
[+] Offset 210  | ... "token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ik16UTBOVFZ... [!] FOUND token

[*] Scan completed in 12.45s
[*] Total bytes leaked: 4502
[*] Unique fragments: 156

[*] Secrets Summary:
[!] Found pattern: AKIA
[!] Found pattern: token
[!] Found pattern: password

Behebung

Um diese Schwachstelle in Produktionsumgebungen zu beheben:

  1. Upgrade: Aktualisieren Sie MongoDB auf eine gepatchte Version (z. B. 6.0.27+, 7.0.28+, 8.0.17+).
  2. Netzwerkbeschränkungen: Stellen Sie sicher, dass MongoDB-Ports (27017) nicht dem öffentlichen Internet ausgesetzt sind.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe die LICENSE-Datei für Details.

Haftungsausschluss

Dieses Material dient ausschließlich Ausbildungs- und Forschungszwecken. Verwenden Sie diesen Exploit nicht auf Systemen, die Sie nicht besitzen oder für deren Test Sie keine ausdrückliche Erlaubnis haben. Der Autor ist nicht verantwortlich für Missbrauch dieser Informationen oder dieses Werkzeugs.

Referenzen

  • Exploiting an Exposed MongoDB Instance with Mongobleed: A Local Lab Walkthrough
  • CVE-2025-1623

Autor

ElJoamy
Joseph Meneses (ElJoamy)

Backend- und KI-Entwickler · Cybersicherheitsingenieur · DBA · Penetrationstester

Tool herunterladen