Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
mongobleed-detector — Erkennungsskript für MongoBleed-Ausnutzung | Kitploit
Tools/GitHubGitHub/neo23x0/mongobleed-detector
SchwachstellenanalyseScripting & AutomatisierungForensikDigitale ForensikBedrohungsanalyseIncident ResponseDatenbanksicherheitLog-Analyse
GitHubneo23x0/mongobleed-detector

mongobleed-detector

Erkennungsskript für MongoBleed-Ausnutzung

Repository anzeigen
811314vor 9 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

MongoBleed Detector

Offline MongoDB-Analyse-Tool für CVE-2025-14847 (MongoBleed)

Ein eigenständiges Linux-Kommandozeilen-Tool, das MongoDB-Daten analysiert, um eine wahrscheinliche Ausnutzung von CVE-2025-14847 mithilfe mehrerer Erkennungsmodule zu identifizieren.

Inhaltsverzeichnis

  • Übersicht
  • Erkennungsmodule
  • Anforderungen
  • Installation
  • Zwei Betriebsmodi
  • Modus 1: Lokale Analyse
  • Modus 2: Remote-Erfassung
  • Kommandozeilenoptionen
  • Vertrauenswürdigkeitsstufen
  • Beispielausgabe
  • Testen
  • Einschränkungen und Hinweise
  • Referenzen und Danksagungen
  • Lizenz

Übersicht

MongoBleed (CVE-2025-14847) ist eine Schwachstelle zur Offenlegung von Speicherinhalten in der zlib-Dekomprimierung von MongoDB, die es Angreifern ermöglicht, sensible Daten – Anmeldeinformationen, Sitzungstoken, personenbezogene Daten (PII) – direkt aus dem Serverspeicher auszulesen, ohne sich zu authentifizieren.

Dieses Tool hilft Incident-Respondern, Ausnutzungsversuche mithilfe mehrerer Beweisquellen zu erkennen:

  • Modul A: Log-Korrelation (Verbindungsereignisse, fehlende Metadaten)
  • Modul B1: Analyse der Assert-Zähler (serverStatus.asserts-Momentaufnahmen)
  • Modul B2: FTDC-Spike-Erkennung (diagnostic.data-Zeitreihen)

Hauptmerkmale

  • Multi-Modul-Erkennung – Korreliert mehrere Datenquellen für höhere Sicherheit
  • Offline & Agentenlos – Keine Netzwerkverbindung während der Analyse erforderlich
  • Auto-Erkennung – Erkennt automatisch verfügbare Datenquellen
  • Remote-Erfassung – Sammelt Daten von mehreren Hosts per SSH
  • Kombinierte Bewertung – HIGH/MEDIUM/LOW-Verdikte
  • Streaming-Verarbeitung – Effiziente Verarbeitung großer Logdateien

Erkennungsmodule

Modul A: Log-Korrelation

Analysiert MongoDB-JSON-Logs, um Ausnutzungsmuster zu erkennen:

Ereignis-IDTypBeschreibung
22943Verbindung akzeptiertWird protokolliert, wenn ein Client eine Verbindung herstellt
51800Client-MetadatenWird protokolliert, wenn ein Client Treiber-/Anwendungsinfo sendet
22944Verbindung geschlossenWird protokolliert, wenn ein Client die Verbindung trennt

Wichtige Erkenntnis: Legitime MongoDB-Treiber senden immer Client-Metadaten. Der MongoBleed-Exploit stellt eine Verbindung her, extrahiert Speicher und trennt die Verbindung – sendet jedoch niemals Metadaten.

Modul B1: Assert-Zähler

Analysiert Momentaufnahmen von db.serverStatus().asserts, um ungewöhnliche Muster in den asserts.user-Zählern zu erkennen:

  • Mehrere Momentaufnahmen: Vergleicht Momentaufnahmen im Zeitverlauf, um plötzliche Anstiege der Benutzer-Asserts zu erkennen.
  • Einzel-Momentaufnahmen-Heuristik: Wenn nur eine Momentaufnahme verfügbar ist, erkennt es verdächtige Muster durch Vergleich von asserts.user mit anderen Assert-Typen. Wenn Benutzer-Asserts überproportional hoch sind (Verhältnis ≥250x) oder alle anderen Typen null sind, wird dies als verdächtig eingestuft (MEDIUM-Vertrauen).

Hinweis: Kumulative Zähler können falsch positive Ergebnisse liefern. Für beste Ergebnisse in Kombination mit FTDC (Modul B2) verwenden.

Modul B2: FTDC-Spike-Erkennung

Analysiert die Full-Time Diagnostic Data Capture (FTDC)-Dateien von MongoDB, um zeitlich lokalisierte Spitzen in Assert-Zählern zu erkennen. FTDC testet serverStatus regelmäßig, was eine präzise zeitliche Zuordnung möglicher Angriffe ermöglicht.

Anforderungen

Shell-Skript (mongobleed-detector.sh)

  • Linux oder macOS (bash 4+)
  • jq – JSON-Prozessor
  • awk (gawk empfohlen)
  • gzip – Für unterstützte komprimierte Logs

Python-Komponenten (optional, für FTDC-Dekodierung)

  • Python 3.8+
  • pymongo – Für FTDC-Dateidekodierung

Remote-Scanner (mongobleed-remote.py)

  • Python 3.8+
  • Nativer SSH-Client (ssh, scp-Befehle)
  • Keine zusätzlichen Python-Pakete für den Basisbetrieb erforderlich

Abhängigkeiten installieren

# Shell script dependencies
# Debian/Ubuntu
apt-get install jq gawk gzip

# RHEL/CentOS/Fedora
dnf install jq gawk gzip

# macOS
brew install jq gawk

# Python dependencies (for FTDC decoding)
pip install -r requirements.txt

Installation

# Clone the repository
git clone https://github.com/your-org/mongobleed-detector.git
cd mongobleed-detector

# Make scripts executable
chmod +x mongobleed-detector.sh
chmod +x mongobleed-remote.py
chmod +x ftdc-decode.py

# Install Python dependencies (optional, for FTDC support)
pip install -r requirements.txt

Zwei Betriebsmodi

Modus 1: Lokale Analyse

Analysiert Daten, die manuell von MongoDB-Hosts gesammelt wurden.

Modus 2: Remote-Erfassung

Sammelt automatisch Daten von mehreren Hosts per SSH und analysiert sie dann lokal.

Modus 1: Lokale Analyse

Schritt 1: Daten sammeln

Sammeln Sie Daten von Ihren MongoDB-Hosts und organisieren Sie sie in dieser Struktur:

./collected-data/
├── logs/                    # MongoDB-JSON-Logs
│   ├── mongod.log
│   ├── mongod.log.1
│   └── mongod.log.2.gz
├── assert-counts/           # serverStatus().asserts-Momentaufnahmen
│   ├── asserts-2025-01-01.json
│   └── asserts-2025-01-02.json
└── ftdc-files/              # FTDC diagnostic.data-Inhalte
    ├── metrics.2025-01-02T10-00-00Z-00000
    └── metrics.interim

Logs sammeln

# Copy from remote host
scp user@mongohost:/var/log/mongodb/mongod.log* ./collected-data/logs/

Assert-Zähler sammeln

Führen Sie diesen Befehl auf dem MongoDB-Host aus (erfordert mongosh-Zugriff):

mongosh --quiet --eval 'JSON.stringify({
  timestamp: new Date().toISOString(),
  hostname: db.hostInfo().system.hostname,
  asserts: db.serverStatus().asserts,
  uptime: db.serverStatus().uptime
})' > asserts-$(date +%Y%m%d-%H%M%S).json

Kopieren Sie die resultierende JSON-Datei nach ./collected-data/assert-counts/.

Tipp: Führen Sie diesen Befehl mehrmals aus (z. B. stündlich), um eine Basislinie zu erstellen und Spitzen zu erkennen.

FTDC-Dateien sammeln

FTDC-Dateien befinden sich unter:

  • mongod: <storage.dbPath>/diagnostic.data/ (üblich /var/lib/mongodb/diagnostic.data/)
  • mongos: Abgeleitet von systemLog.path (z. B. /var/log/mongodb/mongos.diagnostic.data/)
# Copy FTDC files (may require sudo)
sudo cp /var/lib/mongodb/diagnostic.data/metrics.* ./collected-data/ftdc-files/

Schritt 2: Analyse ausführen

# Auto-discovery mode - analyzes all available data
./mongobleed-detector.sh --data-dir ./collected-data/

# With custom thresholds
./mongobleed-detector.sh --data-dir ./collected-data/ \
    -t 1440 \              # 24-hour lookback
    -c 50 \                # Lower connection threshold
    --spike-threshold 50   # Lower spike threshold

Legacy-Modus (nur Logs)

Aus Gründen der Rückwärtskompatibilität können Sie Logs auch direkt analysieren:

# Scan default paths
./mongobleed-detector.sh

# Scan specific log files
./mongobleed-detector.sh -p /path/to/logs/*.json

# Forensic mode (analyze multiple hosts)
./mongobleed-detector.sh --forensic-dir /evidence/

Modus 2: Remote-Erfassung

Sammelt automatisch Daten von mehreren Hosts und analysiert sie:

# Create hosts file
cat > hosts.txt << EOF
mongo-prod-01.example.com
mongo-prod-02.example.com
mongo-staging.example.com
EOF

# Collect and analyze
./mongobleed-remote.py --hosts-file hosts.txt --user admin --output-dir ./collected-data/

Optionen des Remote-Scanners

# Use specific SSH key
./mongobleed-remote.py --hosts-file hosts.txt --user admin --key ~/.ssh/mongodb_key

# Parallel execution
./mongobleed-remote.py --hosts-file hosts.txt --user admin --parallel 10
Tool herunterladen