WordPress ist das mit Abstand erfolgreichste Content-Management-System der Welt – über 40 Prozent aller Websites laufen damit. Diese Verbreitung ist Segen und Fluch zugleich: Für Angreifer lohnt es sich wie bei keinem anderen System, Schwachstellen automatisiert auszunutzen. Wer eine Sicherheitslücke in einem populären Plugin findet, kann damit auf einen Schlag hunderttausende Websites angreifen – vollautomatisch, rund um die Uhr, ohne dass ein Mensch am anderen Ende sitzt. Die unbequeme Wahrheit lautet deshalb: Gehackt werden nicht „die anderen“. Jede WordPress-Installation ist ein potenzielles Ziel, unabhängig davon, wie klein oder unbedeutend die Seite erscheinen mag. Den Angreifern geht es in den seltensten Fällen um Ihr Unternehmen – es geht um Ihre Infrastruktur: Ihren Server als Spam-Schleuder, Ihre Besucher als Ziel für Betrugsseiten, Ihre Domain-Reputation als Tarnung.
Wir haben vor Kurzem für einen Kunden eine kompromittierte WordPress-Website analysiert und bereinigt. Anhand dieses – selbstverständlich anonymisierten – Falls möchten wir zeigen, wie ein solcher Angriff in der Praxis aussieht, warum er oft monatelang unbemerkt bleibt und was im Ernstfall Schritt für Schritt zu tun ist.
Der Fall: Eine Website, die für ihren Betreiber völlig normal aussah
Das Heimtückische an modernen Website-Infektionen ist ihre Unsichtbarkeit. Die Zeiten, in denen Hacker Startseiten mit Totenköpfen verunstalteten, sind lange vorbei – heute geht es um Geld, und Geld verdient man nur, solange die Infektion unentdeckt bleibt. Genau so war es auch in unserem Fall: Die Website des Kunden funktionierte scheinbar tadellos. Wer die Adresse direkt eintippte, sah die ganz normale Unternehmensseite. Der Betreiber selbst hätte beim besten Willen nichts Verdächtiges bemerken können.
Der Angriff arbeitete mit einer Technik, die sich Cloaking nennt – zu Deutsch etwa „Verhüllung“. Der eingeschleuste Schadcode prüfte bei jedem Seitenaufruf, wer da gerade zu Besuch kam. Kam der Besucher über eine Google-Suche? Nutzte er ein Mobilgerät? War es womöglich der eingeloggte Administrator oder ein Suchmaschinen-Crawler? Je nach Antwort verhielt sich die Seite unterschiedlich: Dem Seitenbetreiber und den Google-Bots wurde die saubere Seite präsentiert, ausgewählten echten Besuchern dagegen wurde zusätzliches JavaScript untergeschoben, das sie auf dubiose Drittseiten umleiten konnte – typischerweise Fake-Gewinnspiele, zwielichtige Werbenetzwerke oder Phishing-Seiten.
Diese Selektivität hat einen doppelten Zweck. Erstens bleibt die Infektion vor dem Betreiber verborgen, der seine Seite ja regelmäßig selbst aufruft. Zweitens erschwert sie die Diagnose: Selbst wenn ein Kunde anruft und von seltsamen Weiterleitungen berichtet, kann der Betreiber das Problem oft nicht nachvollziehen – bei ihm sieht ja alles normal aus. Man beginnt, an ein Problem beim Kunden zu glauben, an einen Virus auf dessen Rechner, an ein Missverständnis.
Aufgedeckt wurde die Infektion schließlich durch externe Prüfung: Ein Scan mit dem Sicherheitsdienst Sucuri SiteCheck – einem etablierten Werkzeug, das Websites von außen auf bekannte Schadcode-Muster untersucht – bestätigte den Verdacht eindeutig. In den ausgelieferten Seitencode war fremdes, verschleiertes JavaScript injiziert worden. Damit war klar: Das war kein Einzelfall-Phantom, sondern eine handfeste Kompromittierung.
Wie kommt der Schadcode überhaupt auf die Seite?
Um zu verstehen, wie man sich schützt, muss man verstehen, wie diese Angriffe funktionieren. In der überwältigenden Mehrheit der Fälle ist das Einfallstor eine von drei Schwachstellen.
An erster Stelle stehen veraltete Plugins und Themes. Das WordPress-Ökosystem lebt von zehntausenden Erweiterungen, die von Entwicklern sehr unterschiedlicher Sorgfalt gepflegt werden. Wird in einem verbreiteten Plugin eine Sicherheitslücke bekannt, beginnt ein Wettlauf: Die Entwickler veröffentlichen ein Update, und gleichzeitig beginnen automatisierte Angriffswellen, gezielt nach Websites zu suchen, die dieses Update noch nicht eingespielt haben. Dieser Wettlauf entscheidet sich oft innerhalb von Stunden. Wer seine Plugins nur alle paar Monate aktualisiert, hat in diesem Rennen keine Chance.
An zweiter Stelle stehen schwache oder wiederverwendete Zugangsdaten. Automatisierte Skripte probieren rund um die Uhr Benutzername-Passwort-Kombinationen an WordPress-Loginseiten durch – gefüttert aus riesigen Datenbanken geleakter Zugangsdaten früherer Datenpannen. Wer für seinen WordPress-Admin dasselbe Passwort verwendet wie für einen Online-Dienst, der irgendwann gehackt wurde, öffnet die Tür freiwillig.
An dritter Stelle: kompromittierte Nachbarschaft. Liegen auf einem Hosting-Account mehrere Websites, kann eine infizierte Seite die anderen anstecken, wenn die Installationen nicht sauber voneinander getrennt sind. Eine vergessene Alt-Installation – der Relaunch von 2019, der noch in einem Unterverzeichnis liegt – reicht aus, um das gesamte Konto zu kompromittieren.
Woran Sie eine gehackte Website erkennen
Weil moderne Infektionen auf Tarnung setzen, kommen die Warnsignale meist von außen. Nehmen Sie folgende Anzeichen ernst: Google markiert Ihre Seite in den Suchergebnissen mit dem Hinweis, sie sei möglicherweise gehackt, oder der Browser zeigt Besuchern eine rote Warnseite. Kunden oder Geschäftspartner berichten von merkwürdigen Weiterleitungen, Pop-ups oder Virenwarnungen beim Besuch Ihrer Seite – auch wenn Sie selbst nichts sehen. Ihr Hosting-Anbieter meldet ungewöhnlich hohe Serverlast oder massenhaften E-Mail-Versand von Ihrem Konto. In den Suchergebnissen zu Ihrer Website tauchen plötzlich Treffer auf, die nichts mit Ihrem Unternehmen zu tun haben – etwa Angebote für Medikamente oder Glücksspiel, ein klassisches Zeichen für sogenannte SEO-Spam-Injektionen. Im WordPress-Backend finden sich Administrator-Konten, die niemand angelegt hat. Oder die Google Search Console – die Sie für Ihre Domain unbedingt eingerichtet haben sollten – schickt eine Sicherheitswarnung.
Jedes einzelne dieser Signale rechtfertigt eine sofortige Überprüfung. Ein erster kostenloser Schritt ist ein externer Scan, etwa mit Sucuri SiteCheck oder der Google-Safe-Browsing-Statusabfrage. Aber Achtung: Ein unauffälliger externer Scan ist keine Entwarnung – er sieht nur, was die Seite nach außen ausliefert, nicht, was auf dem Server liegt.
Der Ernstfall: Schritt für Schritt zur sauberen Seite
Wenn sich der Verdacht bestätigt, kommt es auf ein methodisches Vorgehen an. Der größte Fehler ist blinder Aktionismus – etwa das sofortige Löschen verdächtiger Dateien, bevor man verstanden hat, was passiert ist.
Der erste Schritt ist deshalb: dokumentieren und sichern. Fertigen Sie Screenshots der Scan-Ergebnisse an, sichern Sie die Server-Logdateien und erstellen Sie eine vollständige Kopie des infizierten Zustands, bevor Sie irgendetwas verändern. Das klingt kontraintuitiv – warum sollte man den Schadcode aufheben? Aber ohne diese forensische Grundlage lässt sich später weder das Einfallstor identifizieren noch der Umfang des Schadens beurteilen. Und beides brauchen Sie zwingend, denn eine Bereinigung ohne Ursachenanalyse führt zuverlässig zur Neuinfektion binnen Tagen.
Zweitens: alle Zugänge tauschen. Sämtliche Passwörter müssen erneuert werden – der WordPress-Admin und alle weiteren Benutzerkonten, die FTP- und SSH-Zugänge, das Datenbank-Passwort, der Zugang zum Hosting-Panel. Gehen Sie davon aus, dass der Angreifer alles kennt, was auf dem Server gespeichert war. Prüfen Sie außerdem die Benutzerliste in WordPress auf unbekannte Konten und entfernen Sie diese.
Drittens: den Schadcode vollständig finden und entfernen. Hier liegt die eigentliche Facharbeit. Injizierter Code versteckt sich typischerweise an mehreren Stellen gleichzeitig: in den Dateien des aktiven Themes, in Plugin-Dateien, in den WordPress-Kerndateien und nicht selten auch in der Datenbank selbst. Zusätzlich hinterlegen Angreifer fast immer sogenannte Webshells – kleine, unscheinbare Skriptdateien mit harmlosen Namen, die ihnen auch nach einer oberflächlichen Bereinigung wieder Zugriff verschaffen. Ein bewährter Ansatz ist der systematische Abgleich aller Dateien mit den Originalversionen aus den offiziellen Quellen: WordPress-Kern, Themes und Plugins werden in den exakt gleichen Versionen frisch heruntergeladen und Datei für Datei verglichen. Alles, was abweicht oder zusätzlich vorhanden ist, kommt auf den Prüfstand.
Viertens: das Einfallstor schließen. Aus der Analyse der Logdateien und der Zeitstempel der veränderten Dateien lässt sich meist rekonstruieren, wie der Angreifer hereinkam. Dieses Loch muss gestopft werden – das verwundbare Plugin aktualisiert oder entfernt, die Alt-Installation gelöscht, der kompromittierte Zugang stillgelegt. Bei dieser Gelegenheit gehört alles auf den aktuellen Stand: WordPress-Kern, sämtliche Plugins, Themes und die PHP-Version des Servers. Nicht genutzte Plugins und Themes werden nicht deaktiviert, sondern gelöscht – auch inaktiver Code kann verwundbar sein.
Fünftens: die Alternative Wiederherstellung prüfen. Manchmal ist der schnellste Weg zur sauberen Seite die Wiederherstellung aus einem Backup, das nachweislich vor der Infektion erstellt wurde. Das setzt zweierlei voraus: Es existieren ausreichend alte, versionierte Sicherungen, und der Infektionszeitpunkt lässt sich verlässlich bestimmen. Genau daran scheitert es oft – wer nur die letzten sieben Tage sichert, aber seit sechs Wochen infiziert ist, hat nur infizierte Backups. Auch nach einer Wiederherstellung gilt: Einfallstor schließen und alle Passwörter tauschen, sonst wiederholt sich die Geschichte.
Sechstens: Nachkontrolle und Rehabilitation. Nach der Bereinigung folgen erneute Scans, die Überprüfung der Google Search Console und – falls Google die Seite markiert hatte – der Antrag auf erneute Überprüfung, damit die Warnhinweise verschwinden. Je nachdem, welche Daten auf der Website verarbeitet wurden, stellt sich außerdem die datenschutzrechtliche Frage: Wurden möglicherweise personenbezogene Daten kompromittiert – etwa Kundendaten aus einem Shop oder Formulareinsendungen –, kann eine Meldepflicht an die Datenschutzbehörde nach Art. 33 DSGVO bestehen, unter Umständen binnen 72 Stunden. Dieser Aspekt wird bei Website-Hacks regelmäßig übersehen.
Die eigentliche Lehre: Vorsorge kostet einen Bruchteil der Bereinigung
Rechnen wir ehrlich: Eine professionelle Bereinigung samt Ursachenanalyse bedeutet mehrere Stunden bis Tage konzentrierter Facharbeit. Dazu kommen die indirekten Kosten – die Zeit, in der die Seite offline oder von Google markiert war, der Vertrauensschaden bei Kunden, die auf Betrugsseiten umgeleitet wurden, und im schlimmsten Fall Rankingverluste, deren Aufholung Monate dauert.
Dem gegenüber steht die Vorsorge, die im Kern aus vier unspektakulären Bausteinen besteht: zeitnahe Updates von Kern, Plugins und Themes; starke, einzigartige Passwörter plus Zwei-Faktor-Authentifizierung für alle Admin-Zugänge; tägliche, versionierte Backups mit ausreichender Aufbewahrungsdauer; und ein laufendes Monitoring, das Veränderungen und Schadcode-Muster erkennt, bevor Google es tut. Nichts davon ist Raketentechnik – es muss nur konsequent und dauerhaft passieren. Genau daran scheitert es im Alltag der meisten Unternehmen, weil niemand zuständig ist. Ein Wartungsvertrag, der diese Aufgaben an Profis delegiert, kostet einen Bruchteil eines einzigen Sicherheitsvorfalls.
Fazit
Der beschriebene Fall ging gut aus: Die Infektion wurde vollständig entfernt, das Einfallstor geschlossen, die Seite läuft heute überwacht und aktuell gehalten. Aber er zeigt exemplarisch, wie professionell und unsichtbar moderne Website-Angriffe arbeiten – und dass „bei uns sieht eh alles normal aus“ keine Sicherheitsstrategie ist.
Ihre Website verhält sich merkwürdig – oder Sie möchten es gar nicht erst so weit kommen lassen? Mit unserem Website-Wartungsservice halten wir Ihr WordPress aktuell, überwachen es laufend auf Schadcode und sichern es täglich. Und wenn der Ernstfall bereits eingetreten ist: Wir analysieren und bereinigen Ihre Seite gründlich, inklusive Ursachenanalyse. Kontaktieren Sie uns – im Notfall auch kurzfristig.


