Abo
  • IT-Karriere:

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. Stiftung Hannoversche Kinderheilanstalt, Hannover
  2. ekom21 - KGRZ Hessen, Kassel, Gießen

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
Top-Angebote
  1. 79,98€ (Bestpreis!)
  2. Code: PINATA3 (unter anderem Galaxy S10 für 599,90€ oder Nintendo Swtich für 269,99€)
  3. (u. a. Cyberpunk 2077, FIFA 20, Doom Eternal CE)

TheUnichi 29. Jan 2019

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

phade 28. Jan 2019

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

RichardEb 28. Jan 2019

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

zilti 28. Jan 2019

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

KOTRET 28. Jan 2019

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


Folgen Sie uns
       


Sony Xperia 1 - Test

Das Xperia 1 eignet sich dank seines breiten OLED-Displays hervorragend zum Filmeschauen. Im Test zeigt Sonys neues Smartphone aber noch weitere Stärken.

Sony Xperia 1 - Test Video aufrufen
Timex Data Link im Retro-Test: Bill Gates' Astronauten-Smartwatch
Timex Data Link im Retro-Test
Bill Gates' Astronauten-Smartwatch

Mit der Data Link haben Timex und Microsoft bereits vor 25 Jahren die erste richtige Smartwatch vorgestellt. Sie hat es sogar bis in den Weltraum geschafft. Das Highlight ist die drahtlose Datenübertragung per flackerndem Röhrenmonitor - was wir natürlich ausprobieren mussten.
Ein Test von Tobias Költzsch

  1. Smart Watch Swatch fordert wegen kopierter Zifferblätter von Samsung Geld
  2. Wearable EU warnt vor deutscher Kinder-Smartwatch
  3. Sportuhr Fossil stellt Smartwatch mit Snapdragon 3100 vor

Ocean Discovery X Prize: Autonome Fraunhofer-Roboter erforschen die Tiefsee
Ocean Discovery X Prize
Autonome Fraunhofer-Roboter erforschen die Tiefsee

Öffentliche Vergaberichtlinien und agile Arbeitsweise: Die Teilnahme am Ocean Discovery X Prize war nicht einfach für die Forscher des Fraunhofer Instituts IOSB. Deren autonome Tauchroboter zur Tiefseekartierung schafften es unter die besten fünf weltweit.
Ein Bericht von Werner Pluta

  1. JAB Code Bunter Barcode gegen Fälschungen

Ada und Spark: Mehr Sicherheit durch bessere Programmiersprachen
Ada und Spark
Mehr Sicherheit durch bessere Programmiersprachen

Viele Sicherheitslücken in Software sind auf Programmierfehler zurückzuführen. Diese Fehler lassen sich aber vermeiden - und zwar unter anderem durch die Wahl einer guten Programmiersprache. Ada und Spark gehören dazu, leider sind sie immer noch wenig bekannt.
Von Johannes Kanig

  1. Das andere How-to Deutsch lernen für Programmierer
  2. Programmiersprachen, Pakete, IDEs So steigen Entwickler in Machine Learning ein

    •  /