Ihre Website wurde gehackt, jemand hat sie bereinigt, und ein paar Tage oder Wochen sah alles gut aus. Dann tauchten dieselbe Weiterleitung, dieselben Spam-Seiten oder verdächtigen Dateien wieder auf.
Das ist eine der frustrierendsten Situationen für Websitebetreiber. Es kann sich anfühlen, als sei die Bereinigung sinnlos gewesen oder als sei der Angreifer nicht zu stoppen.
Meist bedeutet Malware, die immer wieder zurückkommt, dass die Bereinigung die sichtbaren Symptome entfernt hat, aber nicht die Ursache. Irgendetwas ermöglicht dem Angreifer weiterhin den Zugang, oder etwas, das auf dem Server zurückgeblieben ist, erzeugt die Infektion neu.
Die gute Nachricht: Eine erneute Infektion hat meist einen erkennbaren Grund. Sobald dieser Grund gefunden und beseitigt ist, endet der Kreislauf in der Regel.
Dieser Leitfaden erklärt die häufigsten Gründe, warum Malware zurückkehrt, welche Prüfungen Sie sicher durchführen können, was Sie vermeiden sollten und wann Sie spezialisierte Hilfe anfordern sollten.
Was bedeutet es, wenn Malware immer wieder zurückkehrt?
Eine WordPress-Infektion besteht meist aus drei Teilen:
- dem Einfallstor, der Schwachstelle, über die der Angreifer hineingekommen ist
- der Persistenz, also allem, was ihm die Rückkehr ermöglicht oder den Code am Leben hält
- der Schadwirkung, dem sichtbaren Schaden wie Spam-Seiten, Weiterleitungen oder eingeschleusten Skripten
Viele Bereinigungen konzentrieren sich auf die Schadwirkung, weil Besucher, Kunden und Google sie sehen. Wird sie entfernt, sieht die Website wieder normal aus. Bleiben aber das Einfallstor oder der Persistenzmechanismus bestehen, kehrt die Schadwirkung zurück, manchmal innerhalb von Stunden.
Die richtige Frage lautet also nicht „Wie entfernen wir die Malware noch einmal?“, sondern „Was hat die letzte Bereinigung zurückgelassen?“.
Warum kommt die Malware zurück?
Oft gibt es mehrere Gründe gleichzeitig.
Das Einfallstor wurde nie geschlossen
Wenn der Angreifer über eine Schwachstelle hineingekommen ist, kann diese noch vorhanden sein. Häufige Beispiele:
- ein anfälliges Plugin oder Theme, das nicht aktualisiert wurde oder nicht mehr gepflegt wird
- ein „genulltes“ oder raubkopiertes Plugin oder Theme aus einer inoffiziellen Quelle, das von Anfang an Schadcode enthalten kann
- gestohlene Zugangsdaten, etwa ein Passwort für WordPress, Hosting, SFTP oder die Datenbank, das nicht geändert wurde
- ein aufgegebenes Plugin, das deaktiviert, aber noch auf dem Server vorhanden ist, wo seine Dateien weiterhin erreichbar sind
- eine alte Kopie der Website in einem Unterordner, mit veralteter und anfälliger Software
Ein Plugin zu deaktivieren ist nicht dasselbe, wie es zu entfernen. In vielen Fällen lassen sich seine Dateien weiterhin direkt aufrufen.
Hintertüren wurden zurückgelassen
Angreifer verlassen sich selten auf einen einzigen Zugang. Nach der ersten Kompromittierung installieren sie oft Hintertüren: kleine Code-Stücke, mit denen sie jederzeit Befehle ausführen oder Dateien hochladen können.
Hintertüren können:
- in Dateien mit harmlos klingenden Namen versteckt sein
- in legitime Plugin- oder Theme-Dateien eingefügt sein
- im Upload-Ordner liegen, der eigentlich nur Medien enthalten sollte
- im Ordner
mu-pluginsliegen, der automatisch geladen wird und nicht in der normalen Plugin-Liste erscheint - in der Datenbank gespeichert sein, zum Beispiel in einer Option oder einem Widget
Eine Bereinigung, die die sichtbare Malware entfernt, aber eine Hintertür übersieht, lässt die Tür offen.
Andere Websites im selben Hosting-Konto sind infiziert
Wenn sich mehrere Websites ein Hosting-Konto teilen, kann eine Infektion in einer von ihnen oft die anderen erreichen. Wird nur die Website mit den Symptomen bereinigt, bleibt die Quelle unberührt.
Das kommt sehr häufig bei alten Testseiten, vergessenen Microsites oder einer früheren Version der Website vor, die „für alle Fälle“ aufbewahrt wurde.
Geplante Aufgaben erzeugen die Infektion neu
WordPress hat ein eigenes Planungssystem namens WP-Cron, und Server haben eigene geplante Aufgaben (Cronjobs). Ein Angreifer kann eine Aufgabe hinzufügen, die regelmäßig Schadcode herunterlädt oder neu schreibt.
Wird die Aufgabe nicht entfernt, kann die Malware in regelmäßigen Abständen wieder auftauchen, was oft ein nützlicher Hinweis ist.
Ein kompromittiertes Konto ist noch aktiv
Der Angreifer hat möglicherweise noch:
- ein Administratorkonto in WordPress, vielleicht mit einem unauffälligen Namen
- eine aktive Anmeldesitzung, die nie beendet wurde
- Zugang zum Hosting-Control-Panel, zu SFTP oder zur Datenbank
- Zugang zu einem E-Mail-Konto, über das Passwörter zurückgesetzt werden
- die Inhaberschaft der Property in der Google Search Console
Wurde einer dieser Punkte übersehen, kann sich der Angreifer einfach wieder anmelden. Mehr dazu lesen Sie unter was bei einem unbekannten Administrator zu tun ist.
Ein infiziertes Backup wurde wiederhergestellt
Ein Backup wiederherzustellen ist eine übliche Reaktion auf einen Hack. Wurde das Backup aber erstellt, nachdem die Kompromittierung begonnen hatte, enthält es dieselbe Malware oder Hintertür.
Infektionen können wochenlang unauffällig bleiben, bevor sichtbare Symptome auftreten. Ein Backup von „bevor wir das Problem bemerkt haben“ ist also nicht unbedingt sauber.
Welche ersten Prüfungen sind sicher?
Mit diesen Prüfungen sammeln Sie Informationen, ohne etwas zu verändern.
Das Muster festhalten
Notieren Sie:
- wann die Malware zuerst aufgetaucht ist
- wann und von wem sie bereinigt wurde
- wann sie zurückgekehrt ist
- ob sie in derselben oder in einer anderen Form zurückgekehrt ist
- ob sie in regelmäßigen Abständen zurückzukehren scheint
Ein regelmäßiges Muster deutet auf eine geplante Aufgabe hin. Eine schnelle Rückkehr nach einer Bereinigung deutet auf eine Hintertür oder ein aktives Konto hin. Eine Rückkehr nach langer Zeit deutet auf ein Einfallstor hin, das erneut genutzt wurde.
Fragen, was die vorherige Bereinigung umfasst hat
Wenn ein Hosting-Anbieter, eine Agentur oder ein Sicherheitsdienst die Website bereinigt hat, fragen Sie:
- was entfernt wurde
- ob ermittelt wurde, wie der Angreifer hineingekommen ist
- ob andere Websites im selben Konto geprüft wurden
- ob Passwörter und Sicherheitsschlüssel geändert wurden
- ob geplante Aufgaben und Benutzerkonten geprüft wurden
Lücken in den Antworten weisen oft auf das Problem hin.
Benutzer und Plugins im Dashboard prüfen
Sehen Sie sich in WordPress Users → All Users (auf Deutsch: Benutzer → Alle Benutzer) an und filtern Sie nach Administrator. Achten Sie auf Konten, die Sie nicht kennen.
Sehen Sie sich dann Plugins → Installed Plugins (Plugins → Installierte Plugins) an. Notieren Sie Plugins, die Sie nicht kennen, Plugins, die lange nicht aktualisiert wurden, und Plugins, die ohne gültige Lizenz von außerhalb des offiziellen Verzeichnisses installiert wurden.
Löschen Sie noch nichts. Halten Sie fest, was Sie sehen.
Den Hosting-Anbieter fragen
Ihr Hosting-Anbieter kann Ihnen möglicherweise sagen:
- ob weiterhin Malware erkannt wird
- welche anderen Websites das Konto teilen
- ob es geplante Aufgaben auf Serverebene gibt
- ob es verdächtige Anmeldungen am Control Panel oder per SFTP gab
- ob Server-Logs für den Zeitraum des Angriffs verfügbar sind
Was können Sie jetzt sicher tun?
Einige Schritte senken das Risiko, ohne Beweise zu vernichten:
- das Passwort Ihres eigenen WordPress-Kontos und Ihres Hosting-Kontos ändern, mit jeweils einzigartigen Passwörtern
- die Zwei-Faktor-Authentifizierung aktivieren, wo verfügbar
- prüfen, ob das E-Mail-Konto für WordPress und Hosting sicher ist
- keine Backups mehr wiederherstellen, bis klar ist, welches sauber ist
- Werbung pausieren, die Traffic auf die Website lenkt, falls Besucher weitergeleitet werden
Alle Passwörter zu ändern, ist am wirksamsten, nachdem das Einfallstor gefunden wurde. Andernfalls können die neuen Passwörter auf demselben Weg offengelegt werden.
Was sollten Sie vermeiden?
Vermeiden Sie:
- dieselbe Bereinigung zu wiederholen und auf ein anderes Ergebnis zu hoffen
- wahllos Dateien zu löschen
- verdächtige Plugins nur zu deaktivieren, statt sie zu entfernen
- das neueste Backup ohne Prüfung wiederherzustellen
- eine Website zu bereinigen, während andere im selben Konto unberührt bleiben
- mehrere Sicherheits-Plugins gleichzeitig zu installieren
- unbekannte Administratoren „bis später“ bestehen zu lassen
- „genullte“ oder raubkopierte Plugins und Themes zu verwenden
Wie durchbrechen Sie den Kreislauf?
Eine vollständige Reaktion umfasst in der Regel:
- eine Kopie der aktuellen Dateien, der Datenbank und der Logs sichern
- das Einfallstor finden, anhand von Logs, Dateidaten und bekannten Schwachstellen
- WordPress-Kern, Plugins und Themes durch frische Kopien aus offiziellen Quellen ersetzen
- die übrigen Dateien, Uploads und die Datenbank nach Hintertüren durchsuchen
- jede Website im Hosting-Konto prüfen
- unbekannte Konten und schädliche geplante Aufgaben entfernen
- alle Passwörter und die WordPress-Sicherheitsschlüssel ändern
- nicht genutzte Plugins, Themes und alte Kopien der Website entfernen
- die Website nach der Bereinigung überwachen, um zu bestätigen, dass die Infektion nicht zurückgekehrt ist
Schritt 9 ist wichtig. Eine Bereinigung ist erst dann bestätigt, wenn die Website über längere Zeit sauber bleibt.
Wann sollten Sie Unterstützung anfordern?
Holen Sie Hilfe, wenn:
- die Malware mindestens einmal zurückgekehrt ist
- Sie nicht wissen, wie der Angreifer hineingekommen ist
- sich mehrere Websites dasselbe Hosting-Konto teilen
- die Website Zahlungen, Abonnements oder personenbezogene Daten verarbeitet
- Google oder Ihr Hosting-Anbieter die Website markiert hat
- Sie kein Backup haben, dem Sie vertrauen
Eine wiederkehrende Infektion ist ein Zeichen dafür, dass etwas Bestimmtes übersehen wurde. Um es zu finden, braucht es oft Zugang zu Logs und Erfahrung mit den Mustern, die Angreifer verwenden.
Wie D4Hub helfen kann
D4Hub kann:
- prüfen, was die vorherige Bereinigung abgedeckt hat und was nicht
- das Einfallstor anhand von Logs, Dateianalyse und bekannten Schwachstellen ermitteln
- in Dateien, Uploads,
mu-pluginsund der Datenbank nach Hintertüren suchen - jede Website im Hosting-Konto prüfen
- geplante Aufgaben in WordPress und auf dem Server prüfen
- unbekannte Konten entfernen und aktive Sitzungen beenden
- Kern, Plugins und Themes durch saubere Kopien ersetzen
- ein sauberes Backup finden oder die Website aus geprüften Quellen neu aufbauen
- Monitoring und Wartung einrichten, um das Risiko einer erneuten Infektion zu senken
- die Überprüfung bei Google begleiten, falls die Website markiert wurde
Sie können in jeder Phase um Unterstützung bitten, auch nach einer Bereinigung, die nicht gehalten hat.
Support-Ticket eröffnenFür technisch versierte Nutzer: finden, was die Bereinigung übersehen hat
Diese Prüfungen richten sich an Personen, die mit SSH, SFTP und WP-CLI vertraut sind.
Erstellen Sie vor dem Start ein vollständiges Backup der aktuellen Dateien und der Datenbank und bewahren Sie es getrennt von der Live-Website auf. Auch eine infizierte Kopie ist ein nützliches Beweisstück. Die folgenden Befehle lesen nur Informationen aus. Löschen Sie nichts, bevor Sie verstanden haben, was es ist.
Die Dateien des WordPress-Kerns prüfen
wp core verify-checksumsDamit werden die Kerndateien mit der offiziellen Version verglichen. Gemeldet werden veränderte Dateien und Dateien, die nicht in die Kernordner gehören. Jede Warnung zu wp-admin oder wp-includes verdient Aufmerksamkeit.
Die Plugin-Dateien prüfen
wp plugin verify-checksums --allDas funktioniert nur für Plugins aus dem Verzeichnis von WordPress.org. Premium- und individuelle Plugins werden als nicht prüfbar gemeldet, was für sich allein kein Zeichen einer Infektion ist. Vergleichen Sie diese mit einer frischen Kopie, die Sie beim Anbieter herunterladen.
Nach PHP-Dateien im Upload-Ordner suchen
Der Upload-Ordner sollte Medien enthalten, keinen Code:
find wp-content/uploads -type f -name "*.php"Einige Plugins legen dort harmlose PHP-Dateien an, etwa eine leere index.php. Öffnen Sie daher jedes Ergebnis und prüfen Sie es, bevor Sie handeln. Prüfen Sie auch den Ordner mu-plugins:
ls -la wp-content/mu-plugins/Geplante Ereignisse in WordPress prüfen
wp cron event listAchten Sie auf Hook-Namen, die Sie nicht kennen, besonders auf solche, die zu keinem installierten Plugin passen. Notieren Sie sie, bevor Sie etwas entfernen.
Wenn Sie Shell-Zugang haben, prüfen Sie auch die eigenen geplanten Aufgaben des Servers für Ihren Benutzer:
crontab -lViele Hosting-Control-Panels zeigen Cronjobs auch in einem eigenen Bereich an. Achten Sie auf Befehle, die Dateien herunterladen oder PHP von ungewöhnlichen Orten ausführen.
Administratoren auflisten
wp user list --role=administrator --fields=ID,user_login,user_email,user_registeredPrüfen Sie jedes Konto. Ein kürzliches Registrierungsdatum bei einem unbekannten Konto ist ein starkes Warnsignal. Prüfen Sie bei Multisite auch die Super-Admins mit wp super-admin list.
Nach kürzlich geänderten Dateien suchen
find . -type f -name "*.php" -mtime -14Passen Sie -14 an die Anzahl der Tage seit der letzten Bereinigung an. Dateien, die nach der Bereinigung geändert wurden, ohne dass Sie Updates vorgenommen haben, sollten Sie genauer untersuchen.
Andere Ordner im Hosting-Konto prüfen
Wechseln Sie vom Website-Ordner eine Ebene nach oben und lassen Sie sich den Inhalt anzeigen. Achten Sie auf:
- andere WordPress-Installationen, auch alte Websites oder Testseiten
- Ordner namens
old,backup,test,devoder ähnlich - Archivdateien wie
.zip- oder.sql-Backups, die auf dem Server liegen geblieben sind
Jede WordPress-Installation im Konto braucht dieselben Prüfungen. Eine vergessene Installation ist eine häufige Quelle erneuter Infektionen.
Wenn die Ergebnisse verwirrend sind oder Sie etwas finden, das Sie nicht erklären können, hören Sie auf. D4Hub kann die Ergebnisse mit Ihnen durchgehen oder die Untersuchung übernehmen.
Häufige Fragen
Warum hat der Scan meines Hosting-Anbieters gemeldet, die Website sei sauber?
Automatische Scans suchen nach bekannten Mustern. Hintertüren können verschleiert, in legitimen Dateien versteckt oder in der Datenbank gespeichert sein, wo viele Scanner nicht suchen. Ein sauberer Scan ist nützlich, beweist aber nicht, dass jede Hintertür beseitigt ist.
Reicht eine Neuinstallation von WordPress?
Eine Neuinstallation des Kerns ersetzt nur die Kerndateien. Schadcode kann weiterhin in Plugins, Themes, Uploads, der Datenbank, anderen Websites im Konto oder in Serveraufgaben stecken.
Kann ein deaktiviertes Plugin trotzdem gefährlich sein?
Ja. Wenn seine Dateien auf dem Server bleiben, kann eine Schwachstelle darin weiterhin ausnutzbar sein. Plugins, die Sie nicht nutzen, sollten gelöscht und nicht nur deaktiviert werden.
Sollte ich zu einem anderen Hosting-Anbieter wechseln?
Ein Umzug der Website entfernt keine Malware, und eine infizierte Website bleibt auch auf einem neuen Server infiziert. Ein Anbieterwechsel kann aus anderen Gründen sinnvoll sein, aber erst, nachdem die Website bereinigt wurde.
Wie lange sollte ich die Website nach der Bereinigung überwachen?
Mindestens einige Wochen, mit Blick auf neue Dateien, neue Benutzer und ungewöhnliches Verhalten. Manche Hintertüren werden nur gelegentlich genutzt, daher beweist eine kurze ruhige Phase nicht, dass die Website sauber ist.
Sind „genullte“ Themes und Plugins wirklich ein Risiko?
Ja. Sie stammen aus inoffiziellen Quellen, erhalten keine Sicherheitsupdates und können bereits Schadcode enthalten. Sie durch lizenzierte Kopien zu ersetzen, gehört zu jeder ernsthaften Bereinigung.
Kann D4Hub helfen, wenn bereits ein anderes Unternehmen die Website bereinigt hat?
Ja. Teilen Sie mit, was Sie über die vorherige Bereinigung wissen. D4Hub kann prüfen, was übersehen wurde, das Einfallstor finden und helfen, den Kreislauf zu durchbrechen.