Veröffentlicht am 21. August 2019
Ermöglicht die Umgehung der Authentifizierung und Datenlecks
Diese Woche entdeckte ein anonymer Forscher ein Problem mit der SphinxSearch-Anwendung, die mit MySQL-Datenbanken verwendet wird, und meldete es:
"TL;DR: SphinxSearch wird mit einer unsicheren Standardkonfiguration geliefert, die einen Listener auf Port 9306 öffnet. Keine Authentifizierung erforderlich. Verbindungen mit einem mysql-Client sind möglich."
Der vollständige Bericht ist hier verfügbar.
Suche nach betroffenen SphinxSearch-Anwendungen in Censys
Was könnten wir also in unseren globalen Internetdaten finden, um festzustellen, wie viele Menschen von diesem Problem betroffen sind?
TL;DR: 7.576 MySQL-Datenbanken verwenden eine Standardeinstellung in der SphinxSearch-Anwendung, die eine Umgehung der Authentifizierung und Datenlecks ermöglicht
Beim Durchsuchen unseres leichtgewichtigen Banner-Datensatzes über Google BigQuery stellten wir eine Verbindung zu Port 9306 her, der ausschließlich für SphinxSearch verwendet wird, und wandelten diese Daten in Klartext um, sodass wir nach Zeichenfolgen suchen konnten, die auf eine SphinxSearch-Verbindung hinweisen. Beachten Sie, dass Port 9306 die SphinxSearch-Anwendung und die native API hostet.
Wir fanden außerdem heraus, dass die meisten der betroffenen Geräte in Russland gehostet wurden, gefolgt von den Vereinigten Staaten.
Unternehmenskunden können die folgende BigQuery-Suche verwenden, um exponierte Anwendungen zu finden:
SELECT * FROM (
SELECT ip, SAFE_CONVERT_BYTES_TO_STRING(svcs.banner) as banner
FROM `censys-pipeline.ipv4_banners.20190819`, UNNEST(services) AS svcs
WHERE svcs.port_number = 9306
AND SAFE_CONVERT_BYTES_TO_STRING(svcs.banner) NOT LIKE 'HTTP/1.%')
WHERE (banner LIKE '%-id64-%'
OR banner LIKE '%-release%'
OR banner LIKE '%commit%'
OR banner LIKE '%mysql_%')
AND banner NOT LIKE '%mysql_native_password%'
AND banner NOT LIKE '%mysqladmin%
Wie man betroffene Sphinx-Anwendungen sichert
Glücklicherweise hat der Forscher auch eine Lösung gefunden und zeigt den Lesern, wie sie die problematische Standardeinstellung ändern können:
"Gehen Sie einfach in Ihre SphinxSearch-Konfiguration und bearbeiten Sie die listen-Variable so, dass sie nur localhost enthält oder setzen Sie eine (Host-)Firewall wie iptables vor Ihre Installation."
Im Originalbeitrag sind auch einige hilfreiche Screenshots enthalten, die die Sicherheitslücke und die Behebung beschreiben.
Folgen Sie uns unbedingt auf Twitter @censysio, um weitere Ergebnisse wie diese zu sehen. Wir würden uns auch freuen zu hören, wie Sie unsere Daten nutzen. Vergessen Sie also nicht, uns zu markieren, wenn Sie über Ihre Forschung und Ergebnisse berichten!