Vor einiger Zeit war es unter Sicherheitsforschern sehr „in Mode“, falsch konfigurierte AWS-Cloud-Speicher mit verschiedenen Arten vertraulicher Informationen zu finden. Zu dieser Zeit habe ich sogar einen kleinen Hinweis veröffentlicht, wie der offene Cloud-Speicher von Amazon S3 entdeckt wird.
Die Zeit vergeht jedoch und der Schwerpunkt der Forschung hat sich auf die Suche nach ungesicherten und exponierten gemeinfreien Datenbanken verlagert. Mehr als die Hälfte der bekannten Fälle von großen Datenlecks im letzten Jahr sind Lecks aus offenen Datenbanken.

Heute werden wir versuchen herauszufinden, wie solche Datenbanken von Sicherheitsforschern entdeckt werden ...
Erforderlicher Haftungsausschluss: Dieser Artikel behandelt keine rechtlichen und ethischen Fragen im Zusammenhang mit der Suche und Identifizierung öffentlich zugänglicher Datenbanken und wirft diese nicht auf. Alle folgenden Informationen sollten ausschließlich als pädagogisch betrachtet werden.
Ich werde Amerika nicht „entdecken“, wenn ich sage, dass die wichtigsten Tools für die Suche in offenen Datenbanken die spezialisierten Suchmaschinen Shodan.io, BinaryEdge.io und Censys.io sind. Ich mache nur eine Notiz, dass dies keine kostenlosen Dienste sind und Sie für den Zugriff auf die vollständigen Suchergebnisse bezahlen müssen (im Fall von Shodan sind es 59 USD / Monat, BinaryEdge - 50 USD / Monat und für Censys - 99 USD / Monat). Monat für die Mindestgrundpakete). Kostenlose Versionen von Suchmaschinen beschränken die Anzahl der Ergebnisse bei der Ausgabe erheblich.
Zusätzlich zu der klassischen Google-ähnlichen Sucherfahrung mit der Suchfunktion bieten diese Suchmaschinen die Möglichkeit, über die API eine Verbindung zu ihnen herzustellen. Der glückliche Besitzer eines kostenpflichtigen Abonnements erhält einen API-Schlüssel. Dies ermöglicht es, die Aufgabe, den Haufen von Suchmüll zu beseitigen, erheblich zu erleichtern. Ich habe am Ende dieses Artikels eine Liste nützlicher Skripte und Suchautomatisierungsprogramme bereitgestellt, die API-Schlüssel verwenden.
Schauen wir uns das Beispiel der Shodan-Suchmaschine an: So finden Sie offene MongoDB- und Elasticsearch-Datenbanken.
Die einfachste und offensichtlichste Anfrage, die einen Versuch erfordert, ist "MongoDB":

Aus einem Screenshot oben können wir ersehen, dass diese Anforderung alle indizierten MongoDB-Server (auf Standardport 27017) zurückgegeben hat. Darüber hinaus sind die meisten von ihnen (die ersten drei im Screenshot) geschlossene Datenbanken, für die Kontoanmeldeinformationen erforderlich sind. Es ist nicht genau das, woran wir interessiert sind. Genauer gesagt ist es überhaupt nicht interessant.
Lassen Sie uns die Abfrage mit den Suchfiltern "all:" mongodb server information "all: "metrics" "etwas komplizieren:

Die Ergebnisse sehen viel besser aus. Alle gefundenen Datenbanken waren zu dem Zeitpunkt frei verfügbar, als die Suchmaschine sie indizierte. Es ist sehr wahrscheinlich, dass wir mit einem beliebigen Manager für MongoDB (z. B. NoSQL Manager für MongoDB oder Studio 3T für MongoDB) eine Verbindung zu den angegebenen IP-Adressen herstellen können.
Um nicht authentifizierte MongoDB-Instanzen zu finden, die auch als Dateispeicherserver fungieren, können Sie versuchen, die Abfrage "port: 27017 -all:" teilweise "all:" fs.files "" zu verwenden.
Man kann die Suche auf jedes Land beschränken. Nehmen wir an, Sie suchen nach den offenen MongoDBs in China: (fragen Sie "all:" mongodb server information "all: "metrics" country: "cn" "ab):

Um nach offenen Elasticsearch-Datenbanken zu suchen, verwenden Sie bequem die Abfrage "port:" 9200 "all:" elastische Indizes ":

Um den Suchergebnissen komplexere Filter (Einschränkungen für die Größe der Datenbank, das Datum des Servers im Index usw.) aufzuerlegen, können spezielle Skripte und Programme verwendet werden. Dazu benötigt man kostenpflichtigen Zugriff und einen API-Schlüssel, wie ich oben geschrieben habe.
Hier ist eine kleine Liste von Links, die nützlich sein könnten:
- cli.shodan.io ist die offizielle Shodan-Konsole.
- github.com/woj-ciech/LeakLooker ist ein Python-Programm zum Durchsuchen offener Datenbanken (MongoDB, CouchDB, Elasticsearch usw.).
- lampyre.io ist eine sehr leistungsstarke (und immer noch sehr fehlerhafte !) grafische Oberfläche zum Suchen und Visualisieren, was Sie finden. Es verfügt über integrierte Vorlagen für die MongoDB-Suche und vieles mehr. Es ist in der Beta-Test mit allen Konsequenzen, die impliziert ...