Abo
  • Services:

Datenbank: Lange bekannte MySQL-Lücke führt zu Angriffen

Das MySQL-Protokoll erlaubt es Servern, Daten des Clients auszulesen. Offenbar nutzte die kriminelle Gruppe Magecart dies zuletzt, um mit dem PHP-Datenbankfrontend Adminer Systeme anzugreifen. Auch PhpMyAdmin ist verwundbar.

Artikel veröffentlicht am , Hanno Böck
Eine uralte MySQL-Sicherheitslücke wurde nie geschlossen - jetzt nutzen Kriminelle sie aus, um Kreditkartendaten zu stehlen.
Eine uralte MySQL-Sicherheitslücke wurde nie geschlossen - jetzt nutzen Kriminelle sie aus, um Kreditkartendaten zu stehlen. (Bild: Petr Kratochvil / Wikimedia Commons/CC0 1.0)

Eine uralte Sicherheitslücke in MySQL sorgt für Ärger. Der niederländische IT-Sicherheitsspezialist Willem de Groot berichtete vor kurzem, dass eine Gruppe von Malwareautoren, die als Magecart bekannt sei, ungeschützte Instanzen der Software Adminer und diese MySQL-Lücke genutzt habe, um Server anzugreifen. Die Magecart-Gruppe hat sich darauf spezialisiert, Kreditkartendaten zu stehlen. Der Name ist eine Anspielung auf die verbreitete Shop-Software Magento.

Stellenmarkt
  1. Zentrum für Sonnenenergie- und Wasserstoff-Forschung Baden-Württemberg (ZSW), Stuttgart
  2. DIEBOLD NIXDORF, Paderborn

MySQL hat eine Funktion, bei der Daten vom System des Clients in eine Datenbank mit dem Befehl LOAD DATA LOCAL importiert werden können. Das Problem dabei: Diese Funktion kann nicht nur der Client auslösen, sondern auch der Server. Das bedeutet, dass ein bösartiger MySQL-Server beliebige Daten eines Clients auslesen kann. Der MySQL-Fork MariaDB ist von dem Problem ebenfalls betroffen.

Kreditkarten-Malware über offene Adminer-Instanzen verbreitet

Die Software Adminer ist ein in PHP geschriebenes Datenbankfrontend. Es wird als eine große PHP-Datei ausgeliefert. Die Angreifer suchten nach offen erreichbaren Instanzen von Adminer, vermutlich probierten sie einfach aus, ob sie die entsprechende Datei auf Webservern finden konnten. Auf der Login-Seite des Tools kann man den Server angeben, mit dem Adminer sich verbinden soll.

Somit kann ein Angreifer dort einen eigenen, präparierten MySQL-Server angeben, der anschließend Daten des Systems ausliest. Befindet sich dort eine Webseite, die selbst PHP und MySQL nutzt, kann man deren Konfigurationsdatei auslesen und sich anschließend in deren Datenbank einloggen.

Adminer hat in der Version 4.6.3 die Unterstützung für LOAD DATA LOCAL abgeschaltet, die wurde bereits im Juni 2018 veröffentlicht. Direkt betroffen sind also nur offen erreichbare Adminer-Instanzen, die seitdem nicht mehr aktualisiert wurden.

PhpMyAdmin ebenfalls verwundbar

Doch das Problem betrifft nicht nur Adminer. Golem.de fand heraus, dass auch das viel populärere Datenbank-Frontend PhpMyAdmin von dem Problem betroffen ist. Allerdings erlaubt PhpMyAdmin in den Standardeinstellungen keine Verbindungen zu anderen MySQL-Servern, daher sind die meisten Instanzen nicht direkt betroffen. PhpMyAdmin hat das Problem in der Verison 4.8.5 behoben.

Bei PhpMyAdmin kam hinzu, dass die Entwickler das Problem eigentlich schon auf dem Schirm hatten und versuchten, die entsprechende Option zu deaktivieren. Doch ein Bug in PHP führte dazu, dass diese Abschaltung von LOAD DATA LOCAL nicht funktionierte.

Anzunehmen ist, dass noch mehr Applikationen ähnliche Probleme haben. Angreifbar sind potenziell alle Anwendungen, bei denen es in irgendeiner Weise möglich ist, eine Verbindung zu einem vom Angreifer kontrollierten MySQL-Server aufzubauen. Ebenfalls für Angriffe genutzt werden können offene Installer von Webanwendungen.

Ein Pseudo-MySQL-Server, der den Angriff durchführt, ist nicht schwer aufzusetzen. Eine freie Python-Implementierung findet man auf Github, das Tool Bettercap hat ebenfalls einen entsprechenden Angriff implementiert.

Problem schon lange bekannt

Bleibt die Frage, warum ein so altes Problem heute noch Ärger macht. Letztendlich handelt es sich um eine Schwachstelle im MySQL-Protokoll. Schon lange sind die Sicherheitsprobleme etwa in der MySQL-Dokumentation erläutert. Beim Kompilieren von MySQL kann man die entsprechende Funktion generell abschalten, standardmäßig ist sie aber aktiviert.

Generell wäre es kein Problem, die entsprechende Funktionalität in sicherer Weise bereitzustellen. So könnte man weiterhin das Auslesen von Dateien des Clients erlauben, aber nur dann, wenn der Client selbst dies initiiert hat.



Anzeige
Spiele-Angebote
  1. 32,99€
  2. (-77%) 6,99€
  3. (u. a. Life is Strange Complete Season 3,99€, Deus Ex: Mankind Divided 4,49€)
  4. (-61%) 23,50€

TheUnichi 29. Jan 2019 / Themenstart

Also fragst du mich quasi, wieso man sein System weniger potenziellen Gefahren aussetzen...

phade 28. Jan 2019 / Themenstart

Oder den PHPMyAdmin gleich noch so installieren, dass er seine config überschreiben oder...

RichardEb 28. Jan 2019 / Themenstart

Also ein SQL-Web-Admin mit htaccess davor ist also eine größere Angriffsfläche als eine...

zilti 28. Jan 2019 / Themenstart

Das darf es auch, aber dann ist es halt scheisse.

KOTRET 28. Jan 2019 / Themenstart

Posts alá "mit wäre das nicht passiert" hatten noch nie einen Nutzwert. Jede DB-Engine...

Kommentieren


Folgen Sie uns
       


LG Watch W7 - Fazit

LG kombiniert bei seiner Watch W7 ein Display mit analogen Zeigern - eigentlich eine gute Idee, Nutzer müssen dafür aber auf zahlreiche Funktionen verzichten.

LG Watch W7 - Fazit Video aufrufen
Asana-Gründer im Gespräch: Die Konkurrenz wird es schwer haben, zu uns aufzuschließen
Asana-Gründer im Gespräch
"Die Konkurrenz wird es schwer haben, zu uns aufzuschließen"

Asana ist aktuell recht erfolgreich im Bereich Business-Software - zahlreiche große Unternehmen arbeiten mit der Organisationssuite. Für Mitgründer Justin Rosenstein geht es aber nicht nur ums Geld, sondern auch um die Unternehmenskultur - nicht nur bei Asana selbst.
Ein Interview von Tobias Költzsch


    Android-Smartphone: 10 Jahre in die Vergangenheit in 5 Tagen
    Android-Smartphone
    10 Jahre in die Vergangenheit in 5 Tagen

    Android ist erst zehn Jahre alt, doch die ersten Geräte damit sind schon Technikgeschichte. Wir haben uns mit einem Nexus One in die Zeit zurückversetzt, als Mobiltelefone noch Handys hießen und Nachrichten noch Bällchen zum Leuchten brachten.
    Ein Erfahrungsbericht von Martin Wolf

    1. Android Q Google will den Zurück-Button abschaffen
    2. Sicherheitspatches Android lässt sich per PNG-Datei übernehmen
    3. Google Auf dem Weg zu reinen 64-Bit-Android-Apps

    Enterprise Resource Planning: Drei Gründe für das Scheitern von SAP-Projekten
    Enterprise Resource Planning
    Drei Gründe für das Scheitern von SAP-Projekten

    Projekte mit der Software von SAP? Da verdrehen viele IT-Experten die Augen. Prominente Beispiele von Lidl und Haribo aus dem vergangenen Jahr scheinen diese These zu bestätigen: Gerade SAP-Projekte laufen selten in time, in budget und in quality. Dafür gibt es Gründe - und Gegenmaßnahmen.
    Von Markus Kammermeier


        •  /