Es fängt oft harmlos an. Ein Kunde schreibt dir, dass er auf deiner Website plötzlich bei einem Onlinecasino gelandet ist. Dein Hoster schickt eine Mail, dass dein Paket wegen Spamversands gesperrt wurde. Oder unter deinem Suchergebnis steht bei Google der Satz „Diese Website wurde möglicherweise gehackt.“ Spätestens dann ist klar: Jemand hat sich Zugang zu deinem WordPress verschafft. Das ist ärgerlich, aber kein Weltuntergang. Entscheidend ist jetzt die richtige Reihenfolge. Wer in Panik alles löscht und irgendein altes Backup einspielt, hat das Problem oft eine Woche später wieder. Diese Notfallcheckliste führt dich durch die ersten Stunden, durch die Bereinigung und durch die Zeit danach.
Woran erkennst du, dass WordPress gehackt wurde?
Nicht jeder Hack fällt sofort auf. Viele Angreifer legen sogar Wert darauf, dass du nichts merkst. Sie nutzen deinen Server lieber in aller Ruhe für Spam, für Weiterleitungen oder um ihre eigenen Seiten bei Google nach oben zu bringen. Diese Anzeichen solltest du ernst nehmen:
- Weiterleitungen auf fremde Seiten: Besucher landen auf Seiten mit Glücksspiel, Dating oder gefälschten Shops. Oft passiert das nur auf dem Smartphone oder nur dann, wenn jemand über Google kommt.
- Warnungen von Google oder vom Browser: Chrome zeigt statt deiner Website eine rote Warnseite, in den Suchergebnissen steht „Diese Website wurde möglicherweise gehackt.“ oder die Search Console meldet ein Sicherheitsproblem.
- Fremde Seiten im Index: Eine Suche nach
site:deinedomain.debringt Seiten mit japanischen Schriftzeichen, Potenzmitteln oder billigen Markenartikeln zum Vorschein, die du nie angelegt hast. Fachleute sprechen vom Japanese Keyword Hack oder vom Pharma Hack. - Unbekannte Benutzer: In der Benutzerliste steht ein Administrator, den niemand kennt. Manchmal ist er dort sogar ausgeblendet und nur in der Datenbank zu sehen.
- Post vom Hoster: Dein Hoster meldet Spamversand oder eine ungewöhnlich hohe Serverlast oder hat dein Paket schon gesperrt.
- Seltsame Dateien und Änderungen: Dateien mit kryptischen Namen, fremder Code am Anfang der
index.php, Plugins, die du nie installiert hast, oder ein Login, bei dem dein Passwort plötzlich nicht mehr funktioniert.
Ein Punkt verunsichert viele: Du selbst siehst oft gar nichts. Gut gemachte Schadsoftware erkennt angemeldete Administratoren an ihrem Cookie und zeigt ihnen die ganz normale Website. Öffne deine Seite zum Testen deshalb in einem privaten Fenster, am besten auf dem Smartphone im Mobilfunknetz. Ruf sie einmal direkt auf und einmal über die Suche bei Google.
WordPress gehackt: Was tun in der ersten Stunde?
In der ersten Stunde musst du den Schadcode noch nicht finden. Es geht darum, den Schaden zu begrenzen und dabei keine Spuren zu vernichten. Arbeite diese Punkte der Reihe nach ab:
- Atme durch und lösch noch nichts. Der Reflex, sofort alles zu löschen oder blind ein Backup einzuspielen, ist verständlich. Damit vernichtest du aber genau die Spuren, die dir später verraten, wie die Angreifer hereingekommen sind.
- Dokumentier, was du siehst. Mach Screenshots von Weiterleitungen und Warnungen, notier die Uhrzeiten und heb die Mails von Hoster und Google auf. Das hilft dir bei der Suche nach der Ursache und später bei einer möglichen Meldung an die Datenschutzbehörde.
- Sichere den infizierten Zustand. Lade alle Dateien und einen Export der Datenbank herunter und leg beides getrennt ab, deutlich als infiziert beschriftet. Diese Kopie spielst du nie wieder ein. Sie dient nur als Beweis und zum Vergleich.
- Nimm die Website vom Netz. Das ist vor allem dann Pflicht, wenn Besucher auf Betrugsseiten umgeleitet werden oder dein Shop Zahlungsdaten verarbeitet. Ein Wartungsplugin hilft hier wenig, denn es läuft im gehackten WordPress selbst. Sperr die Website lieber auf Ebene des Servers und lass nur deine eigene IP durch. Läuft deine Website auf Apache, reichen dafür drei Zeilen ganz oben in der
.htaccess:
Ersetze die Adresse durch deine eigene IP. Der Statuscode 503 sagt Google, dass die Seite nur vorübergehend nicht erreichbar ist. Für kurze Zeit schadet das deinem Ranking nicht. Nutzt dein Server nginx oder bist du unsicher, hilft dir dein Hoster.RewriteEngine On RewriteCond %{REMOTE_ADDR} !^203\.0\.113\.10$ RewriteRule ^ - [R=503,L] - Ändere die wichtigsten Zugänge. Vergib neue Passwörter für das Kundenkonto beim Hoster, für SFTP oder SSH und für die Datenbank. Mach das von einem Gerät, dem du vertraust. Wurden die Zugangsdaten auf deinem eigenen Rechner abgegriffen, etwa durch einen Trojaner, der die in FileZilla gespeicherten Passwörter ausliest, bringen neue Passwörter nichts, solange der Rechner infiziert ist. Ändere auch dein eigenes Passwort in WordPress. Die übrigen Benutzer und die Sicherheitsschlüssel kommen nach der Bereinigung dran, denn solange noch eine Hintertür offen ist, kann der Angreifer neue Passwörter einfach mitlesen.
- Informier deinen Hoster. Viele Hoster haben ein eigenes Sicherheitsteam, Malwarescanner und vor allem die Zugriffsprotokolle des Servers. Frag gezielt nach den Logs der letzten Wochen und nach Backups. Manche Hoster bewahren sie länger auf, als du denkst.
- Sag Bescheid, wer es wissen muss. Als Agentur informierst du deinen Kunden. Haben noch andere Personen Zugänge zur Website, gehören sie ebenfalls dazu. Und sobald personenbezogene Daten betroffen sein könnten, läuft eine gesetzliche Frist. Mehr dazu weiter unten.
Wie kommen Hacker in WordPress? So findest du das Einfallstor
Diesen Schritt überspringen viele, und genau deshalb werden so viele Websites zweimal gehackt. Findest du die Lücke nicht, räumst du auf, und ein paar Tage später kommt der Angreifer durch dieselbe Tür wieder herein. Oft nicht einmal gezielt, sondern weil ein Bot das Netz automatisch nach genau dieser Lücke absucht.
Die häufigsten Einfallstore sind:
- Veraltete Plugins und Themes: Das ist mit Abstand der häufigste Weg. Laut den Jahresberichten von Patchstack steckt der allergrößte Teil der bekannten Sicherheitslücken rund um WordPress in Plugins, ein kleiner Teil in Themes und kaum etwas in WordPress selbst. Besonders heikel sind Plugins, die niemand mehr pflegt oder die aus dem Pluginverzeichnis von WordPress.org entfernt wurden.
- Nulled Plugins und Themes: Raubkopien von Premiumplugins aus dubiosen Downloadportalen. Sie kosten nichts, enthalten aber erstaunlich oft eine eingebaute Hintertür.
- Schwache oder geklaute Passwörter: Bots probieren rund um die Uhr Kombinationen aus Benutzernamen und Passwörtern durch. Wer dasselbe Passwort auch bei anderen Diensten nutzt, ist nach dem nächsten Datenleck dran.
- Nachbarn im selben Hostingpaket: Liegt im selben Paket noch eine alte Testinstallation, ein vergessener Shop oder die Website von 2016 in einem Unterordner, kann der Angreifer von dort aus alle anderen Websites im Paket erreichen.
- Infizierte Rechner: Schadsoftware auf dem PC eines Admins kann gespeicherte Zugangsdaten auslesen und an die Angreifer schicken.
So kommst du der Ursache auf die Spur:
- Gleich deine Plugins und Themes mit einer Datenbank für Sicherheitslücken ab, etwa Wordfence Intelligence, Patchstack oder WPScan. Entscheidend ist, ob für genau deine installierte Version eine Lücke bekannt ist.
- Schau dir die Zugriffsprotokolle des Servers an. Verdächtig sind Anfragen per POST an Dateien, die es in WordPress gar nicht gibt, oder an Dateien im Ordner
wp-content/uploads. Die Zeitpunkte verraten dir oft, wann alles angefangen hat. - Prüf, wann verdächtige Dateien angelegt wurden. Das Datum ist ein Anhaltspunkt, aber kein Beweis, denn Angreifer fälschen Zeitstempel gerne.
Wie entfernst du Malware aus WordPress?
Jetzt geht es ans Aufräumen. Dafür gibt es zwei Wege.
Ein sauberes Backup einspielen geht am schnellsten. Das funktioniert aber nur, wenn du sicher weißt, dass das Backup älter ist als der Einbruch. Das ist schwieriger, als es klingt. Zwischen dem eigentlichen Einbruch und den ersten sichtbaren Folgen liegen oft Wochen, manchmal Monate, weil Angreifer zuerst eine Hintertür anlegen und sie erst später nutzen. Außerdem verlierst du alle Inhalte, Bestellungen und Kommentare seit dem Backup, und die Lücke ist danach immer noch offen. Gehst du diesen Weg, aktualisierst du direkt nach dem Einspielen alle Plugins und Themes und arbeitest trotzdem die Punkte unten durch.
Die Website von Hand bereinigen dauert länger, ist aber gründlicher. Am sichersten arbeitest du dabei in einer Kopie und nicht auf der laufenden Website. So gehst du vor:
- Ersetze WordPress komplett. Lösch die Ordner
wp-adminundwp-includesund ersetze sie durch frische Kopien von WordPress.org in derselben Version. Dasselbe gilt für die Dateien im Hauptverzeichnis, mit Ausnahme derwp-config.php. Ob danach alles stimmt, prüfst du über die Kommandozeile von WordPress:
Der Befehl vergleicht jede Datei mit den offiziellen Prüfsummen von WordPress.org und meldet auch Dateien, die dort gar nicht hingehören.wp core verify-checksums - Installier Plugins und Themes neu. Lösch jedes Plugin und jedes Theme und installier es frisch aus einer vertrauenswürdigen Quelle. Was du nicht nutzt, kommt gar nicht erst zurück. Für Plugins aus dem offiziellen Verzeichnis gibt es ebenfalls eine Prüfung:
Premiumplugins kann der Befehl nicht prüfen, weil WordPress.org für sie keine Prüfsummen hat. Die lädst du direkt beim Anbieter neu herunter.wp plugin verify-checksums --all - Durchsuch den Ordner uploads. Dort gehören Bilder, PDFs und andere Medien hin, aber kein PHP. Mit diesem Befehl findest du Dateien, die da nicht hingehören:
Eine Ausnahme sind leere Dateien namensfind wp-content/uploads -type f -name "*.php"index.php, die manche Plugins anlegen, damit niemand den Inhalt eines Ordners auflisten kann. Alles andere schaust du dir genau an. - Prüf alles, was du nicht neu installieren kannst. Dazu gehören die
wp-config.php, die.htaccess(dort verstecken sich gerne Weiterleitungen, die nur für Besucher von Google oder vom Smartphone gelten), dein eigenes Theme mit seinerfunctions.phpund der Ordnerwp-content/mu-plugins. Was dort liegt, lädt WordPress automatisch, und im Dashboard lässt es sich nicht deaktivieren. Typisch für Schadcode sind Funktionen wieeval,base64_decodeodergzinflatezusammen mit langen, unlesbaren Zeichenketten. Für eine erste Suche reicht dieser Befehl:
Ein Treffer ist noch kein Beweis, denn auch seriöse Plugins nutzen manche dieser Funktionen. Er zeigt dir aber, wo du genauer hinschauen solltest.grep -rlE "eval\(|base64_decode\(|gzinflate\(|str_rot13\(" wp-content/ - Räum die Datenbank auf. Schadcode steckt nicht nur in Dateien. Lass dir zuerst alle Administratoren anzeigen:
Die beiden Optionen am Ende sorgen dafür, dass WordPress dabei weder Plugins noch Theme lädt und so auch keinen Schadcode ausführt, der vielleicht noch darin steckt. Lösch jedes Konto, das du nicht zuordnen kannst. Prüf außerdem in der Tabellewp user list --role=administrator --skip-plugins --skip-themeswp_options, obsiteurlundhomenoch auf deine Domain zeigen. Eingeschleuste Skripte in Beiträgen und Seiten findest du so:
Nutzt deine Installation ein anderes Präfix alsSELECT ID, post_title, post_type FROM wp_posts WHERE post_content LIKE '%<script%';wp_, passt du die Tabellennamen an. Widgets liegen übrigens ebenfalls inwp_optionsund verdienen einen Blick. - Kontrollier die geplanten Aufgaben. Angreifer hinterlegen gerne Cronjobs, die den Schadcode regelmäßig neu anlegen. Schau sowohl in die Cronjobs von WordPress als auch in die Cronjobs im Kundenmenü deines Hosters.
Scanner wie Wordfence oder der kostenlose Sucuri SiteCheck finden viele bekannte Schadprogramme und sind eine gute Ergänzung. Verlass dich aber nicht allein darauf. Ein externer Scanner sieht nur, was im Browser ankommt, und auch ein Plugin findet nur, was es schon kennt. Neue oder gut versteckte Hintertüren rutschen durch.
Wie sicherst du WordPress nach einem Hack ab?
Die Website ist sauber? Dann kommt der Teil, der darüber entscheidet, ob sie es auch bleibt.
- Alle Passwörter neu: für jeden Benutzer in WordPress, für die Datenbank (den neuen Wert trägst du danach in der
wp-config.phpein), für SFTP und für das Kundenkonto beim Hoster. Denk auch an Zugangsschlüssel für externe Dienste, die in Plugins hinterlegt sind, etwa für den Mailversand oder für Zahlungsanbieter. - Neue Sicherheitsschlüssel: Ersetze die Salts in der
wp-config.phpdurch neue Werte aus dem offiziellen Generator von WordPress.org. Damit werden alle bestehenden Logins ungültig, auch solche, die ein Angreifer vielleicht noch als Cookie besitzt. - Die Lücke schließen: Aktualisiere WordPress, alle Plugins und alle Themes. Ersetze Plugins, die nicht mehr gepflegt werden. Wie du das dauerhaft im Griff behältst, liest du in unserem Ratgeber WordPress Plugins aktuell und sicher halten.
- Logins absichern: Richte für alle Administratoren einen zweiten Faktor beim Login ein (was 2FA ist und wie es funktioniert) und reduzier die Zahl der Administratoren auf das Nötigste.
- Dateieditor abschalten: Mit dieser Zeile in der
wp-config.phpkann niemand mehr über das Dashboard Code in Plugins und Themes ändern:
Weitere Einstellungen findest du in unseren Anleitungen wp-config.php absichern und Dateiberechtigungen in WordPress richtig setzen.define( 'DISALLOW_FILE_EDIT', true ); - Firewall davor: Eine Web Application Firewall fängt viele Angriffe auf bekannte Lücken ab, bevor sie WordPress überhaupt erreichen.
- Backups, die wirklich funktionieren: automatisch, täglich, außerhalb des Servers gespeichert und mindestens 30 Tage zurückreichend. Und einmal testweise zurückgespielt, bevor du sie im Ernstfall brauchst.
Behalte die Website danach ein paar Wochen genau im Blick. Taucht der Schadcode nach einigen Tagen wieder auf, hast du eine Hintertür übersehen oder die Lücke ist noch offen. Einen Überblick über alle Schutzmaßnahmen findest du in unserer Sicherheitscheckliste für WordPress.
„Diese Website wurde möglicherweise gehackt“: Wie wirst du die Warnung bei Google los?
Google entfernt die Warnung nicht von selbst, sobald du aufgeräumt hast. Du musst aktiv werden:
- Melde dich in der Google Search Console an. Hast du deine Website dort noch nicht eingerichtet, holst du das jetzt nach.
- Öffne unter „Sicherheit und manuelle Maßnahmen“ den Bericht „Sicherheitsprobleme“. Dort siehst du, was Google gefunden hat, oft mit einigen betroffenen Adressen als Beispiel.
- Schau in den Einstellungen nach, wer als Nutzer oder Inhaber eingetragen ist. Angreifer tragen sich dort manchmal selbst ein, um ihre Spamseiten schneller in den Index zu bringen. Entferne fremde Einträge und die zugehörige Datei zur Bestätigung im Hauptverzeichnis deiner Website.
- Klick auf „Überprüfung beantragen“ und beschreib kurz, was du gefunden und behoben hast. Laut Google dauert die Prüfung bei Malware meist einige Tage, bei Phishing etwa einen Tag und bei gehackten Spamseiten manchmal mehrere Wochen.
Die Spamseiten selbst sollten nach der Bereinigung den Statuscode 404 oder 410 liefern. Dann verschwinden sie nach und nach aus dem Index. Wenn es eilt, hilft das Tool zum Entfernen von URLs in der Search Console. Reiche danach deine echte Sitemap neu ein. Hat dein Server Spam verschickt, prüf außerdem, ob deine IP auf einer Blacklist für Mails gelandet ist. Beim Austragen hilft dir dein Hoster.
Musst du einen Hack nach der DSGVO melden?
Das hängt davon ab, ob personenbezogene Daten betroffen sein könnten. Bei einem Onlineshop, einem Mitgliederbereich oder gespeicherten Anfragen aus dem Kontaktformular ist das schnell der Fall. Selbst die Benutzertabelle von WordPress enthält Namen und Mailadressen.
Nach Art. 33 DSGVO musst du eine solche Datenpanne innerhalb von 72 Stunden der zuständigen Aufsichtsbehörde melden. Die Frist beginnt, sobald du davon weißt. Die Meldung entfällt nur, wenn voraussichtlich kein Risiko für die betroffenen Personen besteht. Ist das Risiko hoch, etwa weil Zahlungsdaten oder Passwörter abgeflossen sein könnten, musst du nach Art. 34 DSGVO auch die Betroffenen selbst informieren.
Auch wenn du am Ende nicht meldest: Den Vorfall und deine Entscheidung musst du dokumentieren, so steht es in Art. 33 Abs. 5. Die meisten Aufsichtsbehörden bieten für die Meldung ein Onlineformular an. Gibt es bei dir einen Datenschutzbeauftragten, gehört er sofort mit ins Boot. Dieser Abschnitt ersetzt keine Rechtsberatung.
Wann lohnt sich ein Profi für die Bereinigung?
Vieles aus dieser Checkliste schaffst du selbst, wenn du dich mit Dateien, Datenbank und Server auskennst. In manchen Fällen ist professionelle Hilfe trotzdem die bessere Wahl:
- Dein Shop verarbeitet Zahlungsdaten, und es gibt den Verdacht, dass Kartendaten abgegriffen wurden.
- Die Website wird nach jeder Bereinigung erneut infiziert.
- Es gibt kein brauchbares Backup, und die Kommandozeile ist nicht deine Welt.
- Es geht um die Website eines Kunden, und du musst später genau belegen können, was passiert ist.
Erste Anlaufstelle ist oft dein Hoster. Viele bieten eine Bereinigung als kostenpflichtigen Service an. Daneben gibt es spezialisierte Dienste, etwa von Wordfence oder Sucuri. Frag vorher, ob die Suche nach dem Einfallstor im Preis enthalten ist. Den Schadcode nur zu entfernen hilft dir bloß bis zum nächsten Angriff.
Wie InspectWP dir nach einem Hack hilft
Gleich vorweg: InspectWP ist kein Malwarescanner und ersetzt keine Bereinigung. Der Report hilft dir aber an zwei Stellen, die in der Hektik oft untergehen: beim Finden der wahrscheinlichen Lücke und bei der Kontrolle danach.
Schon der kostenlose Report listet die Plugins und Themes, die er auf deiner Website erkennt, und markiert solche, die aus dem Pluginverzeichnis von WordPress.org entfernt wurden oder seit über einem Jahr kein Update bekommen haben. Er zeigt dir, ob du eine veraltete Version von WordPress einsetzt und ob von außen Dateien erreichbar sind, die dort nichts zu suchen haben, etwa eine öffentliche debug.log, Backups der Datenbank oder eine Datei namens .env. Außerdem prüft er, ob dein Login gegen das massenhafte Ausprobieren von Passwörtern geschützt ist und ob sich Benutzernamen von außen auslesen lassen.
In den Tarifen Premium und Agency siehst du zusätzlich die installierten Versionen deiner Plugins und bekannte Sicherheitslücken dafür. So findest du die wahrscheinlichste Ursache oft in wenigen Minuten. Mit dem InspectWP WordPress Connector erfährst du außerdem, ob Dateien von WordPress selbst verändert wurden (der Connector vergleicht sie mit den Prüfsummen von WordPress.org), wie viele Administratoren es gibt und ob wichtige Ordner beschreibbar sind.
Nach der Bereinigung lohnen sich automatische Reports. InspectWP prüft deine Website dann regelmäßig und benachrichtigt dich auf Wunsch per Mail. Im Vergleich zweier Reports siehst du auf einen Blick, was sich verändert hat, zum Beispiel ein neues Plugin, das angeblich niemand installiert hat. Einen ersten kostenlosen Report bekommst du in wenigen Minuten.