Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
MongoBleed-exploit — MongoBleed (CVE-2025-14847) Lab & PoC : un ambiente didattico completo per riprodurre la critica perdita di memoria non autenticata in MongoDB. Include un container Docker vulnerabile con seeding multi-database (PII, chiavi API) e un exploit in Python per dimostrare l'estrazione dei dati. Ideale per la ricerca sulla sicurezza informatica e la sensibilizzazione. Analisi 1-day. | Kitploit
Strumenti/GitHubGitHub/eljoamy/mongobleed-exploit
Memory ForensicsAnalisi delle VulnerabilitàExploitCTFPenetration TestingApprendimento e FormazioneSicurezza dei DatabaseLab e Pratica

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

MongoBleed (CVE-2025-14847) Lab & PoC : un ambiente didattico completo per riprodurre la critica perdita di memoria non autenticata in MongoDB. Include un container Docker vulnerabile con seeding multi-database (PII, chiavi API) e un exploit in Python per dimostrare l'estrazione dei dati. Ideale per la ricerca sulla sicurezza informatica e la sensibilizzazione. Analisi 1-day.

GitHub
eljoamy/mongobleed-exploit

MongoBleed-exploit

Vedi Repository
27 mesi faNon ancora revisionato
Condividi

CVE-2025-14847: Laboratorio MongoBleed

Python      MongoDB      Docker

Indice dei Contenuti

  1. Introduzione
  2. Dettagli della Vulnerabilità
    • Come Funziona
  3. Impatto
  4. Architettura del Laboratorio
  5. Prerequisiti
  6. Installazione e Utilizzo
    • 1. Avvia l'Ambiente
    • 2. Installa le Dipendenze
    • 3. Verifica la Configurazione del Laboratorio (Opzionale)
    • 4. Esegui l'Exploit
  7. Guida allo Sfruttamento
  8. Mitigazione
  9. Licenza
  10. Avvertenze
  11. Riferimenti
  12. Autore

Introduzione

Questo laboratorio è progettato per riprodurre e analizzare MongoBleed (CVE-2025-14847), una vulnerabilità critica in MongoDB. Questa falla consente ad attaccanti non autenticati di leggere dati sensibili dalla memoria del server a causa di una gestione impropria dei messaggi compressi.

L'ambiente include un'istanza MongoDB vulnerabile popolata con dati sensibili fittizi (PII, chiavi API, registri finanziari) per dimostrare la gravità della perdita di dati.

Dettagli della Vulnerabilità

ID CVE: CVE-2025-14847
Nome: MongoBleed
Componente: Wire Protocol (OP_COMPRESSED)
Versioni Vulnerabili: MongoDB 6.0.x < 6.0.27, 7.0.x < 7.0.28, 8.0.x < 8.0.17 (e altre) URL: Clicca qui -> NVD CVE-2025-14847

Come Funziona

La vulnerabilità risiede nel modo in cui MongoDB gestisce i messaggi OP_COMPRESSED utilizzando l'algoritmo di compressione zlib.

  1. Disallineamento delle Dimensioni: Un attaccante invia un messaggio compresso in cui il campo uncompressed_size nell'header viene intenzionalmente impostato a un valore molto più grande della dimensione effettiva dei dati decompressi.
  2. Allocazione della Memoria: Il server alloca un buffer di memoria basato su questo uncompressed_size gonfiato.
  3. Scrittura Parziale: Il decompressore zlib scrive il payload effettivo (piccolo) all'inizio di questo buffer. Il resto del buffer rimane non inizializzato, contenente dati residui da operazioni precedenti (artefatti RAM).
  4. La Perdita di Dati: Quando il server tenta di analizzare questo buffer come documento BSON, legge oltre i dati validi nella memoria non inizializzata. Se il parser incontra un errore (cosa probabile), può restituire i dati "difettosi" nel messaggio di errore al client.

Impatto

  • Accesso Non Autenticato: L'attacco non richiede credenziali valide.
  • Divulgazione di Informazioni: Gli attaccanti possono estrarre qualsiasi cosa presente nella memoria del processo MongoDB, inclusi:
    • Credenziali di autenticazione (password in chiaro o hash).
    • Dati da altri database/collezioni.
    • Configurazione del server e variabili d'ambiente.
    • Token di sessione attivi.

Architettura del Laboratorio

Il laboratorio è composto da:

  • Servizio Vulnerabile: MongoDB 6.0.10 (container Docker).
  • Autenticazione: Abilitata (admin / secretpassword).
  • Popolamento dei Dati: Uno script di inizializzazione (init-mongo.js) che popola 3 database distinti per simulare un ambiente SaaS reale di infrastruttura cloud:
    • dbmongotesting: Dati di infrastruttura principali.
      • compute_instances: Metadati sensibili (script User Data, chiavi API).
      • deployment_secrets: Obiettivi ad alto valore (token K8s, chiavi CI/CD, webhook Slack).
    • identity_provider: Gestione delle identità utente.
      • users: Credenziali utente, hash delle password (Argon2) e codici di backup MFA (divulgati in chiaro).
    • system_audit: Log e monitoraggio.
      • query_logs: Contiene query storiche, alcune con credenziali divulgate (es. chiavi AWS).
  • Exploit: Uno script Python (exploit.py) che implementa l'attacco al protocollo reverse-engineered.

Prerequisiti

  • Docker
  • Docker Compose
  • Python 3

Installazione e Utilizzo

1. Avvia l'Ambiente

Avvia il container vulnerabile. Questo creerà automaticamente i database e li popolerà con i dati.

root@kitploit:~
docker-compose up -d

Attendi circa 10-15 secondi per l'inizializzazione del database e il caricamento dei dati.

Nota: Se hai già eseguito questo laboratorio in precedenza, assicurati di resettare il volume per caricare la struttura dati più recente:

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

2. Installa le Dipendenze

Puoi installare le dipendenze richieste usando pip con il legacy requirements.txt o con il moderno pyproject.toml.

Opzione A: Usando requirements.txt (Standard)

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

Opzione B: Usando pyproject.toml (Moderno) Questo installerà il progetto e le sue dipendenze nell'ambiente corrente.

root@kitploit:~
pip install .

3. Verifica la Configurazione del Laboratorio (Opzionale)

Abbiamo fornito uno script di verifica per assicurarsi che il database sia raggiungibile e che i dati siano stati popolati correttamente.

root@kitploit:~
python verify_lab.py

Questo script usa le credenziali di amministratore per verificare l'esistenza di database come sensitive_db, legacy_crm, ecc.

4. Esegui l'Exploit

Esegui lo script Python per attaccare il server. Non sono richieste credenziali per questo passaggio, dimostrando la natura non autenticata della vulnerabilità.

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

Guida allo Sfruttamento

Lo script esegue i seguenti passaggi:

  1. Costruisce un payload BSON malevolo.
  2. Lo comprime e lo avvolge in un header OP_COMPRESSED con una dimensione falsificata e gonfiata.
  3. Lo invia al server di destinazione.
  4. Ascolta le risposte di errore.
  5. Stampa qualsiasi testo leggibile trovato nella risposta del server (che proviene dalla perdita di memoria).

Output Atteso: Dovresti vedere un output che indica perdite trovate a vari offset, seguito da un riepilogo dei segreti rilevati.

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

Mitigazione

Per correggere questa vulnerabilità negli ambienti di produzione:

  1. Aggiornamento: Aggiorna MongoDB a una versione patchata (es. 6.0.27+, 7.0.28+, 8.0.17+).
  2. Restrizioni di Rete: Assicurati che le porte MongoDB (27017) non siano esposte a internet pubblico.

Licenza

Questo progetto è concesso in licenza sotto la MIT License. Consulta il file LICENSE per i dettagli.

Avvertenze

Questo materiale è esclusivamente per scopi educativi e di ricerca. Non utilizzare questo exploit su sistemi che non possiedi o per cui non hai un'autorizzazione esplicita al test. L'autore non è responsabile di qualsiasi uso improprio di queste informazioni o di questo strumento.

Riferimenti

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

Autore

ElJoamy
Joseph Meneses (ElJoamy)

Sviluppatore Backend e AI · Ingegnere della Sicurezza Informatica · DBA · Penetration Tester

Scarica lo strumento