Kritische Sicherheitslücke im WordPress Plugin GDPR Compliance

Aktuell wird eine als sehr kritisch eingestufte Sicherheitslücke im WP GDPR Compliance Plugin ausgenutzt. Da dieses Plugin aufgrund der DSGVO auf über 100.000 WordPress Websites genutzt wird sind sehr viele Websites betroffen.

Die Sicherheitslücke erlaubt es Angreifern Werte in die _options Tabelle zu schreiben. 

Szenario 1 - Ihre Website leitet auf eine andere Domain weiter

In der options Tabelle wurde wurde der wert in der spalte option_value verändert.
1. Suchen Sie in der Spalte option_name nach dem Wert siteurl. In der Spalte option_value daneben sollte https://www.ihredomain.de oder https://ihredomain.de stehen. Je nachdem wie Ihre URL im regelfall lautet.
2. Suchen Sie in der Spalte option_name nach dem Wert home. In der spalte option_value daneben sollte der Link zu Ihrer Startseite stehen. Meistens ist dieser derselbe wie in der Zeile siteurl.
3. Prüfen Sie ob die admin_email die richtige ist.

Das weiterleitungsproblem ist erstmal behoben. Sie sollten aber vorsichtshalber diese Schritte ausführen um Ihre WordPress Installation abzusichern.

Szenario 2 - Es gibt neue Admins

Bei der aktuellen Angriffswelle wird folgendes gemacht. Es wird die Benutzerregistrierung aktiviert, ein neuer Benutzer angelegt und dieser der Admin Gruppe hinzugefügt. In den uns bekannten Fällen wird der Admin User t2trollherten oder  t3trollherten mit der Mailadresse trollherten@mail.com erstellt.

Die Sicherheitslücke wurde mit der Version 1.4.3 behoben. Da diese Sicherheitslücke so gravierend ist und aus einer so fahrlässigen Programmierung des entsprechenden Codes resultiert, empfehlen wir, das Plugin ganz zu löschen und auf alternativen wie zum Beispiel das Plugin Borlabs Cookie zu nutzen.

Unsere Kunden nutzen dieses Plugin automatisch. Es ist kein Handlungsbedarf erforderlich.

Ich bin betroffen! Was soll ich machen?

  1. Logge dich in deine WP Site als Admin ein und überprüfe ob ein neuer unbekannter Admin vorhanden ist. Wenn ja, lösche ihn jetzt noch nicht!

  2. Loggen Sie sich mit phpMyAdmin in die Datenbank ein und erstellen Sie erstmal ein Backup der Datenbank. Wechseln Sie jetzt in die User Tabelle.
    Notieren Sie sich die ID des unbekannten Admins.


    In diesem Beispiel hat der Böse User die ID 5

  3. Den unbekannten Admin können Sie nun in der Userverwaltung von WordPress löschen.
  4. Um zu prüfen ob mehr Schaden gestiftet wurde, sollten Sie die Access Logs analysieren

    Worauf sollten Sie hierbei achten?

    POST Requests mit dem Statuscode 2xx sind erfolgreiche Anfragen an den Webserver. Diese sind normalerweise nicht schlimm.
    Wenn Sie jedoch Requests in den Logs an PHP Dateien aus dem Ordner /wp-content/uploads/2018/11/irgendeinePHPdatei.php?xyz=… 200 finden, sollten Sie aufmerksam werden. Hier sollten im Regelfall keine ausführbaren PHP Dateien rumliegen.
    Prüfe im besonderen den Zeitraum um die Erstellung des Adminaccounts trollherten 

  5. Die Datenbanktabelle _posts auf Injections prüfen.
    Exportieren Sie die Tabelle einfach mit einem Tool wie phpmyadmin in eine SQL Datei und öffnen Sie diese mit einem Editor Ihrer Wahl. Ich bevorzuge den Editor Notepad++.
    Durchsuche die Datei nach <script

    Prüfe ob der der Author dieses Eintrags in der Spalte post_author mit der ID die Sie vorhin notiert haben übereinstimmt. Wenn Sie solche Einträge finden sollten, wäre es Sinnvoll auf ein Backup vor dem Erstellungsdatum des falschen Admins zurückzugreifen.