Website wird immer wieder gehackt: die Backdoor finden
Wenn Sie die Website bereits bereinigt haben und sie einen Tag oder eine Woche später wieder infiziert ist, ist die Ursache fast immer dieselbe: Sie haben das Symptom entfernt, aber nicht das Einfallstor geschlossen. Es blieb eine Backdoor zurück, ein verstecktes Skript, über das die Infektion automatisch zurückkommt. Solange sie lebt, ist Bereinigen sinnlos: Der Code wird auf demselben Weg erneut hochgeladen. Unten: was eine Backdoor ist, wo sie steckt, wie Sie sie finden und wie Sie das Einfallstor schließen, damit die Seite nicht mehr gehackt wird.
Warum die Seite immer wieder gehackt wird
Ein wiederholter Hack ist kein Pech, sondern ein Muster. Die Ursache ist immer, dass die vorige Bereinigung unvollständig war:
- Die sichtbare Infektion (eine Weiterleitung, Spam-Seiten) wurde entfernt, aber nicht der Mechanismus, der sie erzeugt.
- Eine Backdoor blieb zurück: eine Datei oder ein Codeschnipsel, der dem Angreifer Zugang am Passwort vorbei gibt.
- Die beim ersten Mal genutzte Schwachstelle wurde nie geschlossen, also können sie erneut hinein.
Die Infektion entfernen und das Einfallstor schließen sind zwei verschiedene Aufgaben. Ohne die zweite wird die Seite auf demselben Weg erneut gehackt, oft am selben Tag.
Prüfen Sie Ihre Website jetzt sofort
Das Werkzeug öffnet Ihre Website von außen, so wie eine Suchmaschine und ein mobiler Besucher sie sehen. Eine aktive Infektion, eine Weiterleitung und Cloaking werden sofort sichtbar, ebenso eine veraltete CMS-Version, die meist das Einfallstor ist. Ein Zugang zur Website ist nicht nötig.
Was eine Backdoor ist und wo sie steckt
Eine Backdoor ist ein verstecktes Einfallstor, das nach einem Hack zurückbleibt. Sie ist schwer zu finden, weil sie sich tarnt. Die typischen Stellen:
- Eine Web-Shell: eine separate .php-Datei mit zufälligem Namen im Ordner uploads, media oder cache.
- Ein Einschub in einer legitimen Datei: eine einzelne Zeile in
index.php,functions.phpoder einer Template-Datei, oft übereval(base64_decode(...)). - Eine getarnte Bilddatei: eine .php, die als Bild oder Icon verkleidet ist.
- In der Datenbank: Code in Template-Parametern oder Einträgen, der beim Laden der Seite ausgeführt wird.
- Ein Cron-Job: stellt gelöschte Dateien planmäßig wieder her.
- Ein fremder Administrator im CMS oder ein neuer Inhaber in der Search Console.
Wie Sie die Backdoor finden
Die Reihenfolge, die das versteckte Einfallstor wirklich findet:
- Vergleichen Sie die Dateien mit einer sicher sauberen Kopie des CMS: alles Zusätzliche ist verdächtig.
- Sortieren Sie die Dateien nach Änderungsdatum: infizierte wurden meist zur selben Zeit geändert.
- Suchen Sie im Code nach verdächtigen Funktionen:
eval,base64_decode,gzinflate,assert,preg_replacemit dem e-Modifikator. - Prüfen Sie Ordner, in denen kein .php sein sollte: uploads, images, media.
- Prüfen Sie Cron-Jobs und die Liste der CMS-Administratoren.
- Prüfen Sie in der Datenbank die Template-Parameter und Service-Einträge auf fremden Code.
Warum der Hosting-Virenscanner sie nicht findet
Eine sehr häufige Falle: Der Hoster meldet „alles sauber", während die Seite weiter gehackt wird. Dafür gibt es zwei Gründe. Erstens sucht der Virenscanner Dateien nach bekannten Signaturen, während die Backdoor entweder verschleiert (verschlüsselt) ist oder wie legitimer Code aussieht. Zweitens sitzt ein Teil des Mechanismus in der Datenbank oder in einem Cron-Job, nicht in den Dateien. Die Dateien sind dabei wirklich sauber, und der Scanner meldet das ehrlich.
„Der Hoster sagt, alles sei in Ordnung" heißt also nicht, dass die Backdoor weg ist. Man muss auch verschleierten Code, die Datenbank und Cron prüfen, nicht nur Signaturen in den Dateien.
Wie Sie das Einfallstor dauerhaft schließen
Damit die Seite nicht mehr gehackt wird, reicht das Entfernen der Backdoor nicht. Sie müssen die Tür selbst schließen:
- Finden Sie das Einfallstor in den Server-Logs: über welche Erweiterung oder Schwachstelle man hereinkam.
- Aktualisieren Sie CMS und alle Erweiterungen auf unterstützte Versionen, entfernen Sie ungenutzte.
- Ändern Sie alle Passwörter und Schlüssel: Admin, FTP und SSH, Datenbank, Hosting-Panel, geheime CMS-Schlüssel.
- Stellen Sie sicher, dass keine weiteren Backdoors oder Cron-Jobs übrig sind.
- Beschränken Sie den Zugang zum Adminbereich, aktivieren Sie einen Basisschutz und richten Sie saubere Backups ein.
Wenn die Seite auf Joomla oder WordPress läuft
Joomla. Besonders gefährdet ist Joomla 3: ohne Sicherheitsupdates seit dem 17. August 2023. Man kommt über Erweiterungen (JCE, SP Page Builder) oder das Helix3-Framework hinein und versteckt die Backdoor im media-Ordner oder in den Template-Parametern in der Datenbank. Ohne Umstieg auf Version 5 oder 6 wird die Seite erneut infiziert.
WordPress. Prüfen Sie den Ordner wp-content (das Verzeichnis mu-plugins, den uploads-Ordner auf .php), die Datei wp-config.php, die functions.php des aktiven Themes und die Tabelle wp_options. Der Weg hinein bleibt meist ein vernachlässigtes oder verwundbares Plugin.
Wann Sie einen Fachmann rufen
Es lohnt sich, keine Zeit zu verlieren, wenn:
- Sie die Seite bereits zwei oder mehr Mal bereinigt haben und die Infektion zurückkommt;
- die Backdoor nicht zu finden ist, während die Seite weiter gehackt wird;
- der Code verschleiert ist oder in der Datenbank sitzt und der Hosting-Virenscanner schweigt;
- der Hoster das Konto wegen Schadsoftware gesperrt hat;
- kein funktionierendes sauberes Backup vorhanden ist.
Ich finde und entferne Backdoors auf jedem CMS und schließe das Einfallstor, damit die Seite nicht mehr gehackt wird, statt nur das Symptom zu bereinigen. Die Diagnose ist kostenlos. Ich arbeite mit Website-Betreibern aus der Ukraine, aus Polen und mit Russischsprachigen in der EU. Mit in Russland registrierten juristischen Personen arbeite ich nicht: Das ist eine Beschränkung der EU-Sanktionen.
Details und AnfrageHäufige Fragen
Ich habe die Malware entfernt und einen Tag später war sie zurück. Warum?
Weil eine Backdoor oder ein Cron-Job zurückblieb, der den Code erneut hochlädt, und die genutzte Schwachstelle nie geschlossen wurde. Die Infektion entfernen und das Einfallstor schließen sind verschiedene Aufgaben. Ohne die zweite wird die Seite auf demselben Weg erneut infiziert.
Was ist eine Backdoor mit einfachen Worten?
Es ist eine versteckte Tür, die nach einem Hack zurückbleibt. Durch sie kommt der Angreifer am Passwort vorbei herein und infiziert die Seite erneut. Eine Backdoor tarnt sich als gewöhnliche Datei oder versteckt sich in der Datenbank, deshalb ist sie von Hand schwer zu finden.
Der Hosting-Virenscanner findet nichts. Heißt das, es gibt keine Backdoor?
Nein. Der Scanner sucht nach Signaturen, während eine Backdoor meist verschleiert ist oder wie legitimer Code aussieht, und ein Teil des Mechanismus kann in der Datenbank oder in Cron liegen. Ein stiller Scanner beweist nicht, dass die Seite sauber ist.
Kann ich einfach auf ein Backup zurücksetzen?
Nur wenn das Backup sicher sauber ist und Sie das Infektionsdatum kennen. Oft wurde die Backdoor Wochen vor dem bemerkten Hack hochgeladen, das Backup enthält sie also bereits. Und ein Rücksetzen schließt die Schwachstelle nicht, deshalb wird die Seite erneut infiziert.
Wie finde ich heraus, worüber man in die Seite kam?
Über die Server-Logs: Sie zeigen, welche Anfrage und welche Datei dem Auftauchen der Infektion vorausging. Meist ist es eine verwundbare Erweiterung oder ein veraltetes CMS. Ohne dieses Einfallstor zu schließen, wird die Seite weiter gehackt.