Notfall · Bereinigung 349 € Festpreis · 30 Tage Garantie

WordPress Malware entfernen: Vollständige Bereinigung statt Symptombehandlung

Ein Sicherheits-Plugin hat 47 infizierte Dateien gefunden, Sie haben auf „bereinigen“ geklickt, zwei Wochen später ist alles wieder da. Das ist der normale Verlauf, wenn nur der sichtbare Schadcode entfernt wird und die Hintertür bleibt. Ich bereinige anders: Dateien, Datenbank, Uploads, Benutzer, geplante Aufgaben, und ich schließe den Weg, über den der Code reingekommen ist. Festpreis 349 € netto, 30 Tage Garantie.

Welche Malware auf WordPress-Seiten landet

Japanese Keyword Hack: Google zeigt für Ihre Domain tausende Seiten mit japanischen Texten und Markenartikeln. Die Seiten existieren nur für Google, Sie sehen sie nicht. Der Angreifer nutzt Ihre Domain-Reputation für seine Shops.

Pharma-Hack: Dasselbe Prinzip mit Medikamenten. In den Suchergebnissen steht statt Ihres Titels „Viagra online kaufen“.

Redirect-Hack: Besucher werden auf Spam-, Glücksspiel- oder Betrugsseiten umgeleitet, oft nur beim Klick aus Google und nur auf dem Handy.

Backdoors: Kleine PHP-Dateien mit harmlosen Namen in Uploads-Ordnern oder im Theme, über die der Angreifer jederzeit zurückkommt. Sie sind der Grund, warum Plugin-Scans nicht reichen.

Spam-Versand: Über Ihren Server werden tausende Mails verschickt. Ihre Domain landet auf Sperrlisten, Ihre eigenen Mails im Spam.

Cryptominer und Phishing-Seiten: Der Server rechnet für andere oder hostet gefälschte Bank-Login-Seiten in einem Unterordner. Der Hoster sperrt dann meist den Account.

SEO-Spam in der Datenbank: Versteckte Links in Beiträgen und Widgets, unsichtbar für Sie, sichtbar für Google.

Warum Plugin-Scanner nicht reichen

Scanner vergleichen Dateien mit bekannten Mustern. Sie finden den Schadcode, den tausende andere Seiten auch haben. Sie finden nicht: die verschleierte Backdoor mit eigenem Namen, den fremden Administrator, den Eintrag in der Datenbank, der bei jedem Seitenaufruf neuen Code nachlädt, die geplante Aufgabe, die alle sechs Stunden die Infektion erneuert, und die Lücke im Plugin, durch die alles begann. Deshalb ist nach dem Scan oft Ruhe, und zwei Wochen später geht es von vorn los.

Mein Vorgehen in sechs Schritten

  1. Sichern und analysieren: Vollständige Kopie des aktuellen Zustands. Prüfung von Dateien, Datenbank, Uploads, Benutzern, Cron-Aufgaben, Server-Logs. Ich stelle fest, wann und wie der Angreifer reingekommen ist.
  2. Kern, Plugins und Theme ersetzen: Alle Programmdateien werden durch saubere Originale in derselben Version ersetzt. Was nicht aus einer sauberen Quelle stammt, wird manuell geprüft.
  3. Uploads und Datenbank bereinigen: PHP-Dateien in Bild-Ordnern, eingeschleuste Seiten, versteckte Links, Nachlade-Code in Optionen und Widgets, fremde Benutzer.
  4. Lücke schließen: Das verantwortliche Plugin aktualisieren oder ersetzen, alle Passwörter und Sicherheitsschlüssel erneuern, Dateirechte setzen, PHP-Ausführung in Uploads sperren, Zwei-Faktor-Anmeldung einrichten.
  5. Google und Hoster: Antrag auf Überprüfung in der Search Console, Entfernung der eingeschleusten Seiten aus dem Index, Klärung der Sperre mit dem Hoster, Prüfung von Sperrlisten für Mail.
  6. Bericht und Nachsorge: Schriftlicher Bericht mit Befund, Maßnahmen und Empfehlungen. 30 Tage lang beobachte ich die Seite; kommt die Infektion über dieselbe Lücke zurück, arbeite ich kostenlos nach.

Preis

349 € netto, Festpreis, unabhängig von der Dauer. WooCommerce-Shops und Multisite-Installationen 549 €. Bezahlt wird nach der Bereinigung, wenn die Seite nachweislich sauber ist. Die meisten Bereinigungen sind innerhalb von 24 bis 48 Stunden nach Zugang abgeschlossen.

Kostenlos bei Jahresvertrag Plus oder Betreuung. Wer nach der Bereinigung dafür sorgt, dass es nicht wieder passiert, zahlt die Bereinigung nicht. Wartungspakete ansehen

Was Sie bekommen

  • Eine saubere, funktionierende Seite mit allen Inhalten
  • Einen Bericht, den Sie auch Ihrem Datenschutzbeauftragten oder Ihrer Versicherung vorlegen können
  • Geschlossene Lücke, neue Zugänge, Zwei-Faktor-Anmeldung
  • Antrag bei Google, Klärung mit dem Hoster
  • 30 Tage Nachsorge

Woran ich erkenne, wo die Malware sitzt

Malware versteckt sich an sechs Stellen. Bei der Bereinigung gehe ich alle durch, weil der Angreifer meist mehr als eine nutzt:

Ort Typisches Bild Warum Scanner es übersehen
Kerndateien von WordPress veränderte index.php, wp-config.php, wp-settings.php Scanner prüfen oft nur Plugins und Themes
Plugins und Themes zusätzliche Datei mit harmlosem Namen, angehängter Code am Ende einer echten Datei verschleierter Code, jede Infektion sieht anders aus
Uploads-Ordner PHP-Dateien zwischen Bildern, oft als .jpg.php oder in tiefen Unterordnern Uploads gelten als Daten, nicht als Code
Datenbank Code in wp_options, in Widgets, in Beiträgen, in Nutzerdaten Scanner lesen Dateien, keine Datenbankfelder
Geplante Aufgaben Cron-Eintrag, der alle paar Stunden neuen Code nachlädt unsichtbar im Backend, nur per Datenbank oder WP-CLI zu sehen
Benutzer zusätzlicher Administrator mit unauffälligem Namen, oft per E-Mail-Adresse getarnt ist kein Schadcode, sondern ein Zugang

Dazu kommt die .htaccess, in der Angreifer Weiterleitungen und Ausnahmen für ihre Dateien eintragen, und bei manchen Hostern die php.ini oder .user.ini, über die Code bei jedem Aufruf eingebunden wird.

Sonderfälle

Der Hoster-Scan meldet Malware, aber ich finde nichts. Manche Scanner schlagen bei legitimen Plugins an, etwa bei Caching- oder Backup-Plugins mit komprimiertem Code. Ich prüfe die gemeldeten Dateien einzeln gegen die Originale des Herstellers. Falschmeldungen erkläre ich dem Hoster schriftlich, damit die Sperre aufgehoben wird.

Die Infektion kommt alle paar Stunden zurück. Dann läuft ein Cron-Job oder ein externer Aufruf, der den Code nachlädt. Bereinigen ohne den Auslöser zu finden, ist verlorene Zeit. Ich suche zuerst den Auslöser.

Gekauftes Theme aus fremder Quelle. Kopien bezahlter Themes bringen die Hintertür oft im Theme selbst mit, verschleiert in einer Funktionsdatei. Bereinigen heißt hier: das Theme durch das Original vom Hersteller ersetzen, mit gültiger Lizenz.

Cryptominer. Der Server ist langsam, der Hoster meldet hohe Last, im Code steht nichts Auffälliges. Der Miner läuft als Prozess, nicht als Datei. Ich beende ihn, finde die Datei, die ihn startet, und schließe den Weg.

Phishing-Seiten im Unterordner. Auf Ihrem Webspace liegt eine gefälschte Bank- oder Paketdienst-Seite, die Sie nie sehen, weil sie unter /wp-content/uploads/2019/.tmp/ liegt. Der Hoster sperrt deshalb sofort. Ich entferne die Seiten, dokumentiere den Fund für den Hoster und schließe den Upload-Ordner für PHP.

SEO-Spam nur für Google. Die Seite sieht für Sie normal aus, aber Google zeigt japanische Produkttitel. Der Code liefert den Spam nur an Suchmaschinen aus. Ich prüfe die Seite deshalb immer auch als Googlebot, nicht nur im Browser.

Häufige Fragen

Muss die Seite währenddessen offline sein?

Nicht zwingend. Bei aktiver Weiterleitung auf Betrugsseiten empfehlen ich de Wartungsmodus für die Dauer der Bereinigung, meist wenige Stunden.

Können Sie sagen, ob Daten gestohlen wurden?

Ich kann aus Logs und Befund einschätzen, ob der Angreifer Zugriff auf die Datenbank hatte. Ein Beweis, dass nichts abgeflossen ist, ist technisch selten möglich. Der Bericht hilft bei der Einschätzung der Meldepflicht nach DSGVO.

Der Scanner sagt, die Seite ist sauber. Warum kommt die Weiterleitung trotzdem?

Weil der Code in der Datenbank oder in einer Datei mit unauffälligem Namen liegt, die der Scanner nicht als Schadcode erkennt. Genau dafür ist die manuelle Prüfung da.

Kann die Malware auf meinen Rechner übergreifen?

Die Malware auf der Website läuft auf dem Server, nicht auf Ihrem Rechner. Umgekehrt ist es häufiger: Ein infizierter Rechner mit gespeicherten FTP-Zugängen war der Weg in die Website. Deshalb Passwörter von einem vertrauenswürdigen Gerät ändern.

Arbeiten Sie mit Sucuri oder Wordfence zusammen?

Ich nutze Werkzeuge wie diese für die Analyse, verlassen mir aber nicht auf sie. Die Bereinigung ist Handarbeit.

Notfall melden

Notfall melden

Drei Angaben, keine Registrierung. Sie bekommen sofort eine Eingangsbestätigung mit den Sofortmaßnahmen und werktags innerhalb von 24 Stunden meine Diagnose mit Festpreis-Angebot.

Kai RauchIch lese jede Nachricht selbst und antworte werktags innerhalb von 24 Stunden. Kai Rauch

Antwort werktags innerhalb von 24 Stunden. Keine Registrierung, keine Weitergabe der Daten. Wie ich mit Ihren Angaben umgehe, steht in der Datenschutzerklärung.

Sofortige Eingangsbestätigung mit Sofortmaßnahmen, werktags innerhalb von 24 Stunden Diagnose und Bestätigung des Festpreises.