Wie du selbst deine gehackte WordPress-Webseite reparierst

Zuletzt aktualisiert am 24 März, 2022

Geschrieben in: Allgemein/WordPress

0 Kommentare

Wie du selbst deine gehackte WordPress-Webseite reparierst

Du hast viel Arbeit in deine Webseite gesteckt, viele Texte geschrieben, Kunden geworben und deine Besucher mit den Inhalten begeistert. Und dann der Supergau: deine WordPress-Webseite wurde gehackt und du weißt nicht, was du tun sollst. Ein Tipp vorweg: Nicht in Panik geraten! Nichts Unüberlegtes tun!

Du hast zwei Möglichkeiten. Die eine ist, du bereinigt den Schaden selbst. Dafür gibt es hier unsere Anleitung, die du zur Abarbeitung der notwendigen Schritte nutzen kannst. Wenn dir etwas unklar ist oder dir unsere Beschreibung zu kompliziert erscheint, dann sprich uns einfach an. Wir freuen uns auf deine Hinweise.

Möchtest du den Hack nicht selbst entfernen, dann kannst du natürlich auch einen Webmaster, eine Agentur oder eben auch uns beauftragen.

Woran du erkennst, dass deine Webseite gehackt wurde.

Es gibt verschiedene Anzeichen, woran du erkennst, dass deine Webseite von einem Angriff betroffen ist. Einige beunruhigende Anzeichen sind folgende:

  • Du hast von deinem Hosting-Provider eine sogenannte Abuse-Mail über die Sperrung deines Accounts oder deiner Webseite erhalten.
  • Eine einfache Google-Suche zeigt eine Warnung unter dem Namen deiner Webseite.
  • Ein plötzlicher Rückgang der Webseiten-Aufrufe deutet ebenfalls darauf hin, dass die Seite von Google oder anderen Suchmaschinen auf eine Sperrliste gesetzt wurde.

Möglicherweise verhält sich deine Webseite auch seltsam. Unter anderem gibt es diese Anzeichen:

  • Deine Seite wird umgeleitet. Zumeist landest du dann bei zwielichtigen Angeboten, wie Werbeseiten, illegitimen Casino-Spielen, rechtsextremen Inhalten oder Pornographie.
  • Du kannst dich nicht mehr anmelden, weil Hacker die Einstellungen (Benutznamen und/oder Passwörter) geändert haben.
  • Unbekannte Pop-ups und illegitime Werbung erscheint auf deiner Webseite.
  • Du entdeckst verdächtige Aktivitäten in den Logdateien.
  • Fremde Inhalte erscheinen auf deiner Webseite (Pharma-Werbung usw.)
  • Spam-E-Mails werden von deiner Domain aus verbreitet.
  • Deine Webseite reagiert nur sehr langsam oder ist reaktionsunfähig.
  • es kann auch vorkommen, dass sich Besucher deiner Webseite bei dir melden und von seltsamen Beobachtungen berichten.

Wenn Google bereits Kenntnis vom Hack auf deiner Webseite bekommen hat, dann erscheint eine solche Warnmeldung:

Google Warnmeldung Schadcode oder Phishing auf Website
Google Warnmeldung

Wartungsmodus für WordPress

Eine gehackte Seite kann weiteren Schaden anrichten. Nicht nur für dich und dein Business, sondern auch für alle Besucher deiner Webseite kann dies böse Auswirkungen haben. Beim Aufruf deiner Seite kann es passieren, dass Schadsoftware auf die Rechner deiner Besucher nachgeladen wird. Aber auch harmlos erscheinende Änderungen, können dem Ansehen deines Business schaden. Hinzu kommt, dass deine Webseite möglicherweise aus dem Google-Index entfernt wird, sollte die Infektion bekannt werden.

Bei vielen Hosting-Providern kann im Control-Panel ein sogenannter Wartungsmodus geschaltet werden. Ist diese Funktion nicht vorhanden, kannst du deine Seite auch manuell offline nehmen.

Mit .maintenance Datei

Du kannst WordPress in den Wartungsmodus versetzen, indem du im Root-Verzeichnis deiner WordPress Installation eine Datei mit dem Namen .maintenance erstellst – achte auf den Punkt am Anfang! In diese Datei fügst du dann noch folgende Zeile Code ein:

<?php $upgrading = time(); ?>

Bist du mit deinen Arbeiten fertig und hast deine Webseite erfolgreich bereinigt, kannst du die .maintenance Datei wieder löschen.

Mit der functions.php

Eine weitere Möglichkeit dein WordPress für Besucher zu deaktivieren gibt die nachfolgende PHP Funktion:

function wartungsmodus() {
	if(!current_user_can('edit_themes') || !is_user_logged_in()) { 
		wp_die('
			<h1>Wir aktualisieren unsere Webseite</h1>
			<p>Tortuga is gleich wieder für dich da!</p>
		');
	}
} 
  
add_action('get_header', 'wartungsmodus');

Du kannst die Funktion natürlich um HTTP Statuscodes und weitere User Restriktionen erweitern. Für den Grundgedanken eines „Wartungsmodus“, der deine Webseite für Besucher deaktiviert und eine kleine Meldung zeigt, genügt aber dieses kleine Script.

Mit einem Plugin

WordPress wäre nicht WordPress, wenn es für so etwas nicht auch ein Plugin geben würde. Ein recht populäres Beispiel ist das Plugin Maintenance.

Aktivierung einer Wartungsseite mit dem Plugin Maintenance
Plugin Maintenance – Aktivierung einer Wartungsseite

Das Plugin bietet zudem noch Möglichkeiten die Wartungsseite individuell zu gestalten und auch einen SEO freundlichen 503-Header zu setzen.

Hinweis

Ist dein WordPress bereits zu stark beschädigt, kann es sein, dass das Plugin nicht funktioniert.

Rechner prüfen

An dieser Stelle beginnt nun die Suche nach der Malware, dem Trojaner oder dem Virus. Um auszuschließen, dass die Ursache des Problems nicht der eigene PC ist, mit dem die Webseite regelmäßig bearbeitet wird, sollte dieser mit einer Antivirensoftware überprüft werden. Gleiches gilt auch für alle anderen Endgeräte, mit denen deine Seite gestaltet oder administriert wird. Werden Schaddateien, Viren oder Trojaner gefunden, dann ist das ein erster Anhaltspunkt, dass Login-Daten mitgelesen wurden.

Backup für Beweissicherung und Analyse

Sichere deine derzeit infizierte WordPress-Webseite. Der Schritt ist für die Beweissicherung dienlich, aber auch Grundlage für die Analyse des Hacks. Hierbei solltest du auch an die Datenbank denken, denn auch darin können Eingriffe vorgenommen worden sein.

Website-Dateien per FTP herunterladen

Um die Webseite herunterzuladen, kannst du ein FTP-Programm, wie z.B. FileZilla, nutzen. Das geht meist schneller, als die vom Hoster im Control-Panel integrierten Dateimanager. Im Control-Panel findest du auch deine FTP-Zugangsdaten bzw. kannst diese dort einrichten.

Ist die Sicherung der Webseite auf deinen lokalen Rechner übertragen, dann erstelle am besten gleich eine Kopie davon, mit der du anschließend arbeiten kannst. Auf diesem Weg geht dir nichts verloren.

Datenbank sichern (MySQL Datenbank Dump)

Um eine Datenbank Sicherung zu erstellen, kannst du das Programm phpMyAdmin nutzen. Die meisten Hoster bieten diese grafische Verwaltungssoftware für Datenbanken direkt im Control-Panel an.

Falls das nicht der Fall sein sollte, kannst du dich auch über SSH bei deiner WordPress-Webseite anmelden und den folgenden Befehl ausführen:

mysqldump -p -h hostname -u username database > wp_backup.sql

Dadurch wird die Datenbank in einer Datei mit dem Namen wp_backup.zip gespeichert.

Logdateien

Für eine detaillierte Analyse des Angriffs benötigst du auch die Logdateien des Webservers. Du findest diese meist in einem Verzeichnis mit dem Namen /logs. Wenn es einen solchen nicht gibt, stellt sie dein Hosting-Provider ggf. im Control-Panel zur Verfügung.

Analyse und Malware-Check

Nachdem du jetzt erfolgreich ein Backup erstellt hast, solltest du herausfinden, was die Angreifer getan haben. An den Zeitstempeln der einzelnen Dateien siehst du schon recht gut, ob dort vor kurzem Änderungen erfolgten oder ob fremde Dateien hochgeladen wurden.

FileZilla Dateimanager Zeitstempel Anzeigeoptionen
Dateimanager in Filezilla – Zeitstempel

Erkennst du hierbei Auffälligkeiten (und bist zusätzlich in PHP geübt), dann kannst du die jeweiligen Dateien mit einem Editor öffnen und den Schadcode entfernen. Aber Vorsicht: Jede WordPress-Datei enthält eine Reihe unterschiedlicher Funktionen. Es kann daher für einen unerfahrenen Nutzer mitunter schwierig sein, zwischen bösartigen und legitimen Code zu unterscheiden.

Da es kein Patentrezept für alle infizierten Dateien gibt, werden wir in diesem Blog zukünftig weitere Artikel über häufige Malware-Infektionen und deren Beseitigung veröffentlichen.

Dateien, die nicht zu deiner Webseite gehören, solltest du löschen. Es ist natürlich auch ratsam, auch alle anderen – eher unauffälligen – Dateien einmal zu öffnen und den Quellcode auf verdächtige Inhalte gegenzuprüfen. Des Weiteren hilft auch ein Blick in die Log-Dateien, um verdächtige POST-Einträge und damit veränderte Dateien aufzuspüren.

Überprüfe und bereinige auch die Datei sitemap.xml. Diese findet sich in der Regel in deinem Root-Verzeichnis. Öffne diese und lösche verdächtige Links oder Spam-Einträge.

Plugins und Themes neu installieren

Unter Umständen ist es einfacher, infizierte Plugins direkt aus dem Verzeichnis wp-content/plugins/ zu löschen. Auf diese Weise können auch infizierte Themes aus dem Verzeichnis wp-content/themes/ entfernt werden. Lösche nicht das Verzeichnis selbst, sondern den Inhalt darin.

FileZilla Dateimanager Directory View
Filezilla – Ordnerstruktur wp-content

Diese Plugins und Themes kannst du später wieder auf dem herkömmlichen Weg – direkt im WordPress Backend – neu installieren.

Wichtig!

Plugins und Themes aus unbekannten und unsicheren Quellen solltest du nicht installieren. Nutze den offiziellen WordPress Plugin Store. Dort kannst du auch nachlesen, wie oft die angebotenen Erweiterungen in der Regel aktualisiert werden und welche Rezensionen von anderen Nutzern abgegeben wurden.

Datenbank checken

Mitunter greifen Angreifer auch auf die Datenbank der WordPress-Installation zu und verändern diese. Wenn das passiert ist, muss zwingend gehandelt werden. Eine WordPress-Datenbank besteht aus mehreren Tabellen. Meist greifen Kriminelle auf die Posts-Tabelle zu und legen dort ihre eigenen Inhalte ab. Daher sollte das auch die erste Anlaufstation zur Überprüfung sein.

Die Datenbank kann durch die Ausführung von SQL-Abfragen bereinigt werden. Dazu musst du Zugang zur MySQL-Konsole oder zu PhpMyAdmin haben. Und du solltest dich etwas mit Regex auskennen. Wenn beispielsweise immer die gleichen bösartigen Einträge in der Tabelle wp_posts in der Spalte post_content hinzugefügt wurden und mit <bösartiger code> enden, dann kannst du diese mit folgendem Befehl löschen:

UPDATE wp_posts SET post_content = REGEXP_REPLACE(post_content, '<bösartiger code>.*', '');

In diesem Fall muss der Inhalt in den eckigen Klammern <bösartiger Code> mit dem tatsächlich zu entfernenden Code ersetzt werden.

Befindet sich der Eintrag <bösartiger Code> irgendwo in der Mitte des Beitrags, wird eine komplexere Regex benötigt.

In ähnlicher Weise musst du auch den Tabellennamen „wp_posts“ durch andere betroffene Tabellen für die Entfernung von schädlichen Einträgen ändern.

Gehackte Version mit Backup ersetzen

Wenn dir die manuelle Säuberung der einzelnen WordPress-Dateien zu umfangreich ist und du ein Backup besitzt, dass vor dem Hack erstellt wurde, dann kannst du die geschädigte Version deiner Webseite einfach ersetzen. Achte aber trotzdem darauf, dass keine Fremd-Dateien auf dem Webspace verbleiben.

Dateien auf den Webspace übertragen

WordPress aktualisieren

Wenn du deine Webseite bereinigt und erfolgreich auf deinen Webspace übertragen hast, solltest du im Administrationsbereich von WordPress prüfen, ob Updates der WordPress-Kerndateien und der einzelnen Plugins angeboten werden und diese auch sofort einspielen. Hier gilt: aktueller Stand, weniger Angriffsfläche!

Altlasten entsorgen

Schaue auch bitte nach, ob du weitere Themes oder Plugins installierst hast, du du gar nicht mehr benötigst und deshalb im WordPress-Backend deaktiviert sind. Diese sollten umgehend gelöscht werden, denn auch über deaktivierte Komponenten können Angriffe erfolgen. Hast du auf deinem Webspace noch weitere WordPress-Installationen, die überhaupt nicht mehr verwendet werden, dann solltest du diese inklusive deren Datenbanken ebenfalls entfernen. Solche alten und eventuell nicht aktualisierten Plugins und Themes sind extrem gefährlich und meist auch Einfallstor von Angriffen.

Unbekannte Benutzer löschen

Ob die Angreifer weitere Benutzer angelegt haben, kannst du in der Administrationsoberfläche von WordPress einsehen. Unbekannte Benutzer kannst du hier einfach entfernen (“Benutzer“ → “Alle Benutzer“ und besonders auch die mit “Administrator“-Rechten).

Benutzerverwaltung in WordPress
Benutzerverwaltung im WordPress Backend

Passwörter ändern

Nachdem die Webseite wieder läuft, bleibt immer noch ein mulmiges Gefühl und die Frage, wie die Angreifer denn eigentlich den Zugang zu WordPress bekommen haben. Die Ursache dahinter kann viele Gründe haben. Angefangen bei einem zu leichten FTP Passwort, was am Ende nichts mit deinem WordPress selbst zu tun hat, bis hin zu einem angreifbaren Plugin.

Ändere deshalb alle Passwörter, um den Zugang für Fremde zu unterbinden. Dazu gehören auch die Passwörter für dein WordPress Backend, deinen Hosting-Account, der Datenbank und andere Konten (wie z.B. FTP).

Hinweis

Wenn du deine Datenbank-Zugangsdaten änderst, musst du sie auch in der Datei wp-config.php ändern!

Wenn auch andere Nutzer dein WordPress verwalten oder Blogbeiträge schreiben, dann bitte sie, ihre Passwörter ebenfalls zu ändern.

Die Passwörter für die WordPress-Nutzer können direkt im WordPress Backend geändert werden. Die anderen Passwörter (FTP, SSH, Hosting-Account) findest du im ControlPanel deines Anbieters.

Tipp

Verwende immer sichere Passwörter mit einem Mix aus Groß- und Kleinbuchstaben, sowie Zahlen und Sonderzeichen.

Du kannst dich auch für eine neue Authentifizierung aller bestehenden Benutzerkonten entscheiden. Dadurch wird jeder Benutzer automatisch von deiner WordPress-Webseite abgemeldet und muss sich erneut autorisieren.

Wordpress Passwörter zurücksetzen
Passwörter zurücksetzen

Sperrlisten prüfen

Wenn du (und deine Besucher) beim Aufruf deiner Webseite eine Warnmeldung angezeigt bekommen, dann hat Google deine Seite als infektiös (oder gefährlich) eingestuft. Aber auch wenn du keine Warnmeldung bekommst, solltest du mögliche Einträge auf Sperr- und sogenannten Blocklisten prüfen.

Die Überprüfung kannst du mit kostenlosen Diagnosetools durchführen. Eine Möglichkeit ist MX Toolbox.

Hast du das in Erfahrung gebracht, kommt der schwierigere Teil. Viele Anbieter solcher Listen löschen die Einträge nicht automatisch, wenn das Problem beseitigt wurde, sondern erwarten einen Antrag des Domain- bzw. Webseiten-Inhabers.

Schlussbemerkung

Wenn du keine Zeit hast und deine Webseite nur einfach schnell säubern lassen möchtest, dann kann die Beauftragung eines Experten der richtige Weg sein. Eine manipulierte Website repariert sich nicht selbst, sondern die Probleme werden mit der Zeit nur noch schlimmer. Je schneller du reagierst, umso sicherer wird deine WordPress-Installation. Sprich gern mit uns!

Schreibe einen Kommentar

Vielen Dank, dass du dich entschieden hast, einen Kommentar zu verfassen. Bitte denk daran, dass alle Kommentare gemäß unserer Kommentarpolitik moderiert werden und deine E-Mail Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Keywords im Namensfeld. Wir freuen uns auf eine gute Konversation.