WordPress-Webseite gehackt? Seltsamer Code mit eval

Verdächtiger getarnter Code in Webseite entdeckt.

Heute kam eine Warnmeldung des Virenscanners beim Besuch einer unserer Webseiten. Eine verdächtige URL wurde aufgerufen. Ich bin der Sache natürlich gleich nachgegangen und habe in den Netzwerk-Tools des Browsers nachgeschaut, was so aufgerufen wird. Hier ist mir die Domain “cdn.specialtaskevents.com” aufgefallen.

Das Script und Code

Doch hoher kam das Script? Fündig wurde ich an anderer Stelle. Hier wurde jetzt zumindest eine Zeilennummer mitgegeben.

In Zeile 138 wurde ich dann fündig. Hier war ein Java-Script, welches so erstmal nicht anderweitig zuordbar ist. Ist ja bei WordPress und der Fülle an Plugins immer nicht so einfach.

Das Script ist verdächtig! Es wird eine Variable deklariert, welche einen Base64 kodierten String enthält. Hier war ChatGPT recht hilfreich und konvertierte die Funktion zurück.

Was wir hier sehen ist ein weiterer kodierter String, welcher eine URL enthält. Diese wird dann als weiteres Script der Webseite beigefügt, ausgeführt und anschließend wieder entfernt.

Die URL zeigte auf folgenden Server:

The decoded content of the inner Base64 string is a URL: https://near.flyspecialline.com/hnkKKF.

Ich habe das Script hier auch gleich mal heruntergeladen. Es ist noch stärker “verschlüsselt” und deutlich länger. ChatGPT war hier auch nicht mehr in der Lage das Script zu entschlüsseln.

Allerdings gab es online eine Möglichkeit, das Script halbwegs zu entschlüsseln. Auch hier erstmal eine ähnliche Vorgehensweise. Ein weiteres Script wird nachgeladen, diesmal von “cdn.specialtaskevents.com”.

Auch hier findet sich wieder ein längliches Script, welches am Ende ein paar interessante Dinge enthält. So wird auf WordPress-Cookies geschaut und entsprechend Code ausgeführt.

In dem Script ist jeweils eine weite URL eingebaut, welches das gleiche Script erneut enthält. Meine Vermutung wäre hier, dass das Script im Falle eines Serverfehlers das Script von einem alternativen Server lädt.

Leider ist es mir nicht gelungen, das Script vollständig zu entschlüsseln, aber würde mich nicht wundern, wenn hier die Session gekapert wird um sich Zugriff auf die WordPress-Instanz zu verschaffen.

WordPress bereinigen

Kommen wir nun zur Bereinigung. Diese gestaltete sich zum Glück erstmal einfach. Das Script wurde in die “wp-blog-header.php” eingebunden und war damit zumindest leicht zu entfernen. Das Script habe ich direkt über FTP entfernt, bzw. ohne Login und nicht online.

Update: Code auch in der functions.php

Noch ein kleines Update. Nachdem ich gestern noch die Serveradressen über Google gesucht habe, bin ich auf einen Foreneintrag gestoßen, welcher das gleiche Problem/Hack beschreibt.

Dieser verweist darauf, dass in der “functions.php” ebenfalls Code eingefügt wird. Dies hat nicht alle WordPress-Seiten betroffen. Den Code habe ich nur in einer Webseite gefunden. Ich vermute, dass diese Webseite am Ende auch das Einfallstor war.

Der Eintrag im Forum beschreibt auch noch, dass ein neuer Benutzer mit Admin-Rechten angelegt wird. Dies konnte ich nicht nachvollziehen bzw. scheint bei uns nicht aufgetreten zu sein.

Passwörter ändern und Sessions schließen

Nachdem dies erledigt war, habe ich mich eingeloggt. Vorher prüfen, ob das Script noch im Cache ist (Netzwerktools) und ggf. den Cache leeren. In der Kontoverwaltung habe ich dann das Kennwort geändert und auch alle Sessions abgemeldet.

Und nun?

Wie das Script hinein gelang, ist bedauerlicherweise noch unklar und muss beobachtet werden. Da dies nur auf einem Webspace auftrat, gehe ich davon aus, dass hier ggf. ein unsicheres Plugin dafür verantwortlich ist.

Die nächsten Tage steht in jedem Fall eine regelmäßige Überprüfung an.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert