So reparieren Sie Ihre gehackte WordPress-Seite

Wurde Ihre Website gehackt?

  • Weinen Sie? Haben Sie Geld verloren?
  • Sind Dinge kaputt oder Spam und Junk-Links über­all auf Ihrer Website platziert?
  • Sind Sie total gestresst und möch­ten sich die Haare ausreißen?
  • Wissen Sie nicht, wo Sie anfan­gen sollen?

Keine Sorge, ich zei­ge Ihnen, wie Sie alles sorg­fäl­tig wie­der zusam­men­set­zen (hof­fent­lich), ohne Daten zu ver­lie­ren UND wie Sie Ihre Website sichern, damit so etwas nicht noch ein­mal passiert.

HINWEISE:

  • Einige Schritte kön­nen nur durch­ge­führt wer­den, wenn Sie Zugriff auf den Server haben.
  • Wenn Sie kei­nen Zugang zum Server haben, müs­sen Sie Ihren Webhost dar­um bit­ten, oder Sie über­sprin­gen den Schritt.
  • Wenn alles fehl­schlägt, beauf­tra­gen Sie bit­te einen Entwickler, der weiß, was er tut.
  • Eine typi­sche Reparatur kann 500 Euro kos­ten, oder kos­ten­los sein, wenn Sie eine Hack-Garantie bei Ihrem Webhost oder Sicherheitsdienst/Plugin haben.

SCHRITT 1 – die Website abschalten

Sie kön­nen die Website auch ein­fach abschal­ten. Benennen Sie das Website-Verzeichnis um. Oder eine Wartungsmeldung ein­fü­gen. Das bleibt ganz Ihnen über­las­sen. Wenn Ihre Website ande­re in die Irre geführt hat, hat Ihr Hoster Ihre Website viel­leicht schon heruntergenommen.

Das ist viel pro­fes­sio­nel­ler, damit Ihre Marke nicht in Verruf gerät. Einige von Ihnen wer­den viel­leicht argu­men­tie­ren, dass Sie "Umsätze ver­lie­ren"… aber ich sage Ihnen, wenn Kunden sehen, dass Ihre Website gehackt wur­de, wer­den sie Ihnen nicht mehr ihr Geld und ihre Kreditkartendaten geben (selbst nach­dem Sie sie repa­riert haben).

SCHRITT 2 – Prüfen Sie wichtige Website-Dateien

Normalerweise ist die­ser Teil für einen Entwickler ganz offen­sicht­lich. Sie sehen sich das Verzeichnis Ihrer Website an und wis­sen bereits, wel­che Dateien dort nicht sein soll­ten. (Denn Sie wis­sen, wel­che Dateien dort hin­ge­hö­ren und wel­che nicht.)

Aber für alle ande­ren… fol­gen Sie die­sen Schritten:

  • .htac­cess prüfen
  • wp-config.php prü­fen
  • index.php prü­fen

Löschen Sie jeden selt­sa­men Mist (Hackcode), den Sie dort sehen.

Die am ein­fachs­ten zu erken­nen­den Hacks befin­den sich ganz oben und unten im Code. Die schwie­rigs­ten befin­den sich manch­mal in der Mitte der Datei. (Ja, es ist eine tota­le PITA, wenn Sie Hackcode tief in einer lan­gen Datei ver­gra­ben haben).

  • Manchmal sieht er aus wie eine Anfrage an eine Domäne, die Sie noch nie gese­hen haben.
  • Manchmal ist er verschlüsselt/verschleiert und sieht aus wie /r0X/b4a/1xz9/ (nur 800 Mal länger).
  • Andere Beispiele für schlech­ten Code – Wordfence

Und wenn Sie nicht wis­sen, was dort sein soll­te oder nicht, ver­glei­chen Sie es ein­fach mit Ihren Backups. (Und wenn Sie kein Backup haben, dann soll­ten Sie sich ein­fach im Spiegel anse­hen und mit dem Finger wackeln.)

Sie soll­ten auch auf Aufrufe von Nicht-WordPress-Dateien achten.

Diese sind schwer zu erken­nen, wenn man kein Entwickler ist. Zum Beispiel… schau­en wir uns die index.php an:

  • Hier sehen wir nor­ma­ler­wei­se etwas wie require DIR . '/wp-blog-header.php';
  • Aber wenn Sie auch dar­un­ter require DIR . '/wp-blogheader.php'; – dann wis­sen Sie, dass Sie die­se Datei über­prü­fen soll­ten und sehen, zu wel­chem ande­ren Mist sie führt. (Und dann löschen Sie sie alle.) Ja… es ist, als ob man ein Rattennest von gehack­ten Dateien aus­fin­dig macht.

SCHRITT 3 – Theme-Dateien überprüfen

Der nächs­te offen­sicht­li­che Ort, um nach Hacks zu suchen, ist Ihr Theme. Gehen Sie in Ihr Theme-Verzeichnis und über­prü­fen Sie die übli­chen Stellen:

  • index.php
  • functions.php
  • header.php (oder wie auch immer die Header-Vorlagendateien heißen)
  • Seitenvorlagendateien (Seiten, Beiträge, CPT, usw.)

Wenn Sie selt­sa­me Dinge an selt­sa­men Orten sehen, ent­fer­nen Sie sie. Sie wis­sen nicht, was selt­sam ist? Vergleichen Sie mit Ihrem Backup!

SCHRITT 4 – Überprüfen Sie die Adresse der Website in der Datenbank

Setzen Sie die Url Ihrer Website zurück (falls sie geän­dert wurde).

  • Wenn Ihre Website die Benutzer woan­ders hin­lei­tet, gehen Sie in die Datenbank (mit phpMyAdmin) und schau­en Sie in die Tabelle wp_options (das "wp" könn­te ein ande­res Präfix sein).
  • Suchen Sie dann nach den Zeilen siteurl und home und ändern Sie sie zurück auf Ihre Domain, falls sie auf etwas ande­res geän­dert wurden.
  • Sie kön­nen auch in wp-con­fig nach­se­hen, ob dort ein fest kodier­ter Aufruf der Site-Url vor­han­den ist.

SCHRITT 5 – nicht autorisierte Benutzer entfernen

Inzwischen soll­ten Sie so viel repa­riert haben, dass Sie sich wie­der bei Ihrer Website anmel­den kön­nen. Jetzt ist es an der Zeit, alle Konten zu löschen, die der Hacker mög­li­cher­wei­se ange­legt hat.

  • Gehen Sie zu Ihrem Webhosting und löschen Sie alle E‑Mail- oder FTP-Konten, die Sie nicht kennen.
  • Prüfen Sie, ob es in WordPress neue "Admin"-Benutzer gibt, und löschen Sie die, die es nicht geben sollte.
  • Eine wei­te­re gän­gi­ge Taktik von Hackern ist es, ein nor­ma­les Benutzer-/Kundenkonto zum "Administrator" zu machen und viel­leicht sogar des­sen E‑Mail/Passwort zu ändern.

Wenn das Passwort Ihres eige­nen Administratorkontos geän­dert wur­de (und Sie nicht rein­kom­men), kön­nen Sie über die Datenbank Zugang zum WordPress-Administrator erhal­ten.

SCHRITT 6 – Scannen nach schädlichen Dateien

Lassen Sie einen Malware-Scanner lau­fen, um Zeit zu spa­ren und auch Dinge zu fin­den, die Sie viel­leicht über­se­hen haben.

  • Loggen Sie sich ein und instal­lie­ren Sie Wordfence (die kos­ten­lo­se Option ist in Ordnung) und füh­ren Sie dann den Malware-Scanner aus.
  • Er wird alle schäd­li­chen und poten­zi­ell schäd­li­chen Dateien für Sie finden.
  • Einige Empfehlungen sind leicht zu behe­ben. Bei ande­ren müs­sen Sie manu­ell scan­nen und ent­schei­den, ob es sich um Hacks han­delt oder nicht.

Was sind "schäd­li­che Dateien"?

  • Ausgehende Weiterleitungen zu ande­ren Websites (in der Regel kom­mer­zi­el­le, por­no­gra­fi­sche oder Glücksspiel-Links).
  • Ausgehende DDOS auf ande­ren Websites/Servern (kann eine IP sein).
  • Hintertüren (Code, der es Hackern ermög­licht, auf Ihren Server zu gelan­gen und Dateien hochzuladen).
  • Skripte für den Datenbankzugriff (Adminer.php) – damit kön­nen sie Ihre Datenbankdaten ändern oder steh­len. Das Adminer-Skript funk­tio­niert genau wie phpMyAdmin, aber Sie kön­nen es von Ihrer Domain.… auf­ru­fen, z. B. ihre-seite.de/adminer.php.

Nochmals… wenn Sie nicht wis­sen, was dazu­ge­hört oder nicht, ver­glei­chen Sie ein­fach mit Ihrem Backup!

SCHRITT 7 – Finden Sie die Schwachstelle

Hahaha… Sie dach­ten, Sie wären fer­tig, was?! (Geben Sie es zu!) Sie waren gera­de bereit, raus­zu­ge­hen und zu spie­len. Nein, Kollege. Hier müs­sen Sie die Arbeit des Profis machen…

…Zeit, um her­aus­zu­fin­den, wie der Hacker rein­ge­kom­men ist.

Und wenn Sie das nicht tun, kom­men sie wahr­schein­lich wie­der rein und Sie müs­sen die gan­ze Zeit für die Reparaturen auf­wen­den. Vielleicht sogar noch mehr, denn die­ses Mal wer­den sie sich noch mehr anstren­gen, um ihre Hacks bes­ser zu ver­ste­cken (und noch mehr Hintertüren zu schaf­fen, um sich wie­der Zugang zu verschaffen).

Woher die PROS wis­sen, wie der Hacker ein­ge­drun­gen ist…

Einfach Intuition. Lol, ich weiß, das ist nicht hilf­reich, aber es ist wahr. Ich kann mir eine Website anse­hen und sofort erra­ten, wie der Hacker rein­ge­kom­men ist. Ich wünsch­te, ich hät­te etwas Wissenschaftlicheres zu sagen. Von den 101 Stellen, an denen man suchen kann, wis­sen Profis instink­tiv, wo sie zuerst suchen müs­sen, und sie fin­den die Lücke (Schwachstelle) frü­her. Das ist der Wert der Beauftragung eines Profis.

Was aber, wenn Sie kein Profi sind?

Hier sind die mög­li­chen Zugriffe die das Hacking ermög­li­chen können:

  • WordPress-Kern – vor allem, wenn er nicht regel­mä­ßig aktua­li­siert wird
  • Theme – vor allem, wenn es ein schlecht codier­tes Theme ist, nicht aktualisiert/gewartet wird oder spe­zi­el­le Funktionen hat.
  • Plugin – alles, was nicht gut kodiert oder nicht aktua­li­siert ist. Am häu­figs­ten sind Plugins, die Frontend-Eingaben in der Datenbank spei­chern… im Grunde alles, was ein Formular hat oder Benutzereingaben erlaubt. Auch alles, was exter­ne Verbindungen her­stellt oder akzep­tiert (wie Plugins, die sich mit dem Heimserver ver­bin­den oder API-Zeugs machen).
  • Schlechte Webhosting-Konfigurationen – Schwächen in der htac­cess- oder Webserver-Konfiguration. Veraltetes PHP, MySQL.

Ein wirk­lich guter Ort zum Überprüfen ist Ihre Website error.log in Ihrem Website-Verzeichnis. Normalerweise geben gehack­te Themes oder Plugins Fehlermeldungen aus, da ihr Code ver­än­dert wur­de. Und wenn Sie vie­le Fehlermeldungen von einem bestimm­ten Plugin sehen, dann wis­sen Sie, dass es wahr­schein­lich gehackt wurde.

Nach geän­der­ten Dateien suchen

Von Ihrem Server-CLI aus (wenn Sie Zugang haben) kön­nen Sie eini­ge Linux-Befehle ausführen:

  • find /home/user -type f -ctime -7 – sucht alle Dateien im Verzeichnis /home/user, die inner­halb von 7 Tagen oder weni­ger geän­dert wur­den. (Ändern Sie das +-Zeichen, wenn Sie nach Änderungen suchen wol­len, die älter sind… nor­ma­ler­wei­se unüblich.)
  • Ändern Sie die -7 so, wie lan­ge es her ist, dass Sie gehackt wur­den. Im Idealfall haben Sie es inner­halb von 24 Stunden oder weni­ger bemerkt. Wenn der Hack etwa 30 Tage zurück­liegt… nun… dann möge Gott Ihnen hel­fen (ver­su­chen Sie es und Sie wer­den sehen, was ich meine).

Sie soll­ten auch grep -r "string" /home/user ver­wen­den – durch­sucht das Verzeichnis /home/user nach allen Dateien mit dem Namen "string"… aber anstel­le von "string", erset­zen Sie es durch den fol­gen­den base64-Code.

  • base64_decode
  • gzinflate(base64_decode
  • eval(gzinflate(base64_decode
  • eval(base64_decode
  • Ich mag auch die­sen Befehl: grep -E '[A-Za-z0-9+/]{4}*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)'

Das Schwierigste am Schließen von Sicherheitslücken…

ist, dass Sie die ursprüng­li­che schlie­ßen müs­sen (die, durch die der Hacker her­ein­ge­kom­men ist)… sowie die neu­en, die der Hacker geschaf­fen hat (um sich selbst wie­der hin­ein­zu­las­sen, nach­dem Sie die ursprüng­li­che geschlos­sen haben). Vielleicht sind sie durch ein Plugin ein­ge­drun­gen, aber jetzt haben sie Hintertüren in alle Verzeichnisse ein­ge­baut (WordPress-Core, Theme, ande­re Plugins, Uploads) und es fühlt sich an, als ob man über­all unge­schützt wäre.

Oftmals ist es ein Katz-und-Maus-Spiel zwi­schen Administrator und Hacker. Der eine schließt und der ande­re öff­net. Manchmal denkt man, dass man alle erwischt hat, 3 Wochen lang ist die Luft rein… und dann *BOOM* wird die Website wie­der gehackt (weil der XXXXXX gewar­tet hat, bis man nicht mehr hinsieht).

  • Viele Profis fin­den her­aus, wie der Hacker immer wie­der ein­drin­gen kann, indem sie die Zugriffsprotokolle über­prü­fen und sehen, auf wel­che Dateien sie zugrei­fen. Das Problem dabei ist, dass Zugriffsprotokolle in der Regel sehr schnell rotiert (gelöscht) wer­den, und wenn man sie nicht recht­zei­tig über­prüft, gehen wert­vol­le Informationen ver­lo­ren, die zei­gen, wie der Hacker ins System gelangt ist.
  • Sie kön­nen auch die Prozessliste Ihres Servers über­wa­chen, aber dies zeigt nur Prozesse an, die gera­de aus­ge­führt wer­den. Wenn der Hacker sie außer­halb der Geschäftszeiten oder wenn Sie nicht auf­pas­sen, aus­führt, kön­nen Sie das nicht sehen. Die Überwachung der Prozessliste eig­net sich nur für lau­fen­de Brute-Force-Angriffe, nicht für das Auffinden von Einbruchsstellen.

Schließen der Sicherheitslücke

Wenn Sie die Schwachstelle gefun­den haben, ist es in der Regel am ein­fachs­ten, das Theme oder Plugin, das die Schwachstelle ver­ur­sacht hat, ein­fach zu ent­fer­nen. Versuchen Sie nicht ein­mal, den Code zu repa­rie­ren. BESEITIGEN SIE ES EINFACH!

SCHRITT 8 – Ändern Sie alle Ihre Passwörter

Inzwischen sind die Hacks besei­tigt, die Sicherheitslücken geschlos­sen und die neu­en Administratorkonten gelöscht. Jetzt müs­sen Sie nur noch alle Ihre Passwörter ändern. (Und es tut mir so leid… aber auch Nicht-WordPress-Passwörter!)

  • WordPress-Administrator-Benutzer – alle von ihnen!
  • E‑Mail-Konten – alle, von denen Sie glau­ben, dass sie kom­pro­mit­tiert wur­den oder eines der Administrator-Passwörter verwenden.
  • Datenbank-Benutzer
  • Webhosting-Anmeldung
  • FTP-Konten – alle
  • Persönliche E‑Mail-/Social-/PayPal-Konten – alle Konten wie Gmail, Facebook, PayPal, die die­sel­be E‑Mail ver­wen­den, auf die in Ihrem Administrator-Benutzerkonto ver­wie­sen wird, und/oder das­sel­be Passwort verwenden.
  • Server-Root-Login und VPS-Login – eben­falls, wenn sie die­sel­be E‑Mail-Adresse und das­sel­be Passwort verwenden.

Dies hat zwar nichts mit Passwörtern zu tun, aber Sie soll­ten auch die Bereiche Ihrer Website über­prü­fen, die ange­ben, an wel­che PayPal-E-Mail-Adresse die Zahlung erfol­gen soll. Sehr oft ver­wei­sen Hacker auf ihr eige­nes PayPal-E-Mail-Konto und Sie müs­sen es zurückverfolgen.

SCHRITT 9 – Sichern Sie Ihre WordPress-Website

Absicherung von WordPress-Anwendungen

  • XML-RPC-Protokoll – wenn Sie es nicht ver­wen­den. Blockieren Sie es.
  • wp-login.php – Sie soll­ten die­se Anwendung gegen Brute-Force-Angriffe schützen.
  • Regelmäßige Updates – hal­ten Sie Ihren WordPress-Kern, Ihre Themes und Plugins auf dem neu­es­ten Stand. Aktualisieren Sie alles, was Sie instal­liert haben, nicht nur die, die Sie benutzen!
  • Überprüfen Sie Ihre Themes/Plugins – instal­lie­ren Sie nichts, das wie Mist gecodet wur­de, oder gehackte/gefälschte Plugins, die Sie von einer "bil­li­gen Plugin-Seite" erhal­ten haben. Verwenden Sie nichts, was von Low-Level-Programmierern pro­gram­miert wurde.
  • Installieren Sie Sicherheitsplugins – Sicherheitsplugins sind nicht not­wen­dig, wenn Ihr Server gut gesi­chert ist, aber sie kön­nen bei bestimm­ten Funktionen hel­fen und Sie war­nen, wenn es ein poten­zi­el­les Problem gibt. Ich mag Wordfence für gele­gent­li­che Malware-Scans und Login-Benachrichtigungen, aber Sie kön­nen auch etwas ande­res ver­wen­den, wenn Sie möchten.
  • Seien Sie vor­sich­tig mit allen Formularen, die Sie auf Ihrer Website ver­wen­den. Jeder Ort, an dem Informationen in Ihre Website ein­ge­ge­ben wer­den kön­nen, kann Sie für einen Injektionsangriff anfäl­lig machen.
  • Verhindern Sie die Ausführung von PHP in Ihrem Uploads-Verzeichnis.
  • Vielleicht möch­ten Sie sogar ein Sicherheits-Plugin wie Wordfence oder Sucuri lau­fen las­sen, das Sie jedes Mal benach­rich­tigt, wenn sich ein Benutzer mit Administratorrechten anmel­det und/oder Änderungen an der Website vor­nimmt. Sie kön­nen es 2 Monate lang lau­fen las­sen und dann deak­ti­vie­ren, wenn alles in Ordnung ist. (Oder las­sen Sie es für immer ein­ge­schal­tet, wenn Sie möchten.)

Sie kön­nen nach Anleitungen goo­geln, wie Sie die­se Tipps zur Absicherung auf Anwendungsebene umsetzen.

SCHRITT 10 – Was haben wir gelernt?

Denn wenn Sie nicht ler­nen, wer­den Sie wie­der dar­un­ter leiden.

  • Halten Sie alles auf dem neu­es­ten Stand – WordPress-Kern, Theme, Plugins … und Server-Betriebssystem, Software, Module.
  • Verwenden Sie siche­re Passwörter – muss ich das noch erklären?
  • Verwenden Sie nicht das­sel­be Passwort für alles – ver­wen­den Sie nicht das­sel­be Passwort für Datenbank, WordPress-Admin, Server-Root, E‑Mail, Facebook, Bankkonto, PayPal. Wenn sie sonst eines bekom­men, kom­men sie auch in alle anderen!
  • Entfernen Sie unbe­nutz­te Plugins – ent­fer­nen Sie alles, was Sie nicht benut­zen. Das ver­rin­gert die Wahrscheinlichkeit von Schwachstellen und bie­tet weni­ger Verstecke für Hacks.
  • Machen Sie Backups – es ist oft ein­fa­cher, eine Website wie­der­her­zu­stel­len, als einen Hack zu berei­ni­gen. Selbst wenn Sie die Seite berei­ni­gen wol­len, ist es mit einem Backup ein­fa­cher, Unregelmäßigkeiten zu finden.
  • Halten Sie einen Entwickler und einen Systemadministrator bereit – Sicherheit ist wirk­lich kein Thema für Heimwerker. Sie soll­ten Experten zur Verfügung haben, die Ihre Einrichtung über­prü­fen, bevor es zu Problemen kommt, und die dann auch auf­räu­men, wenn Sie gehackt werden.
  • Sicherheits-Plugins sind nicht nar­ren­si­cher – ich bin mir sicher, dass vie­le von Ihnen scho­ckiert waren, als sie trotz eines akti­vier­ten Sicherheits-Plugins gehackt wur­den. Hahaha!

Die Reparatur von Hackerangriffen ist eine schmerz­haf­te und zeit­auf­wän­di­ge Aufgabe, wenn sie kor­rekt aus­ge­führt wer­den soll. Wie Sie sicher schon gemerkt haben, kann man an vie­len Stellen spa­ren. Und die ein­zi­ge Möglichkeit, dies rich­tig zu machen, ist, es selbst zu tun oder jeman­den zu beauf­tra­gen, der erfah­ren ist und sich wirk­lich um Ihre Website kümmert.

 

Über Ferkan Saglamsoy

Über Ferkan Saglamsoy

Ein Allrounder – Web-Strategie, Blogging, Sys-Admin, Tech-Unternehmer, Designer, Kreativkopf, Marketingspezialist. Über 10 Jahre WordPress Design, Entwicklung, Hosting, Geschwindigkeitsoptimierung, Produktberater, Marketing, Monetarisierung. Das alles mache ich.

Über Ferkan Saglamsoy

Über Ferkan Saglamsoy

Ein Allrounder – Web-Strategie, Blogging, Sys-Admin, Tech-Unternehmer, Designer, Kreativkopf, Marketingspezialist. Über 10 Jahre WordPress Design, Entwicklung, Hosting, Geschwindigkeitsoptimierung, Produktberater, Marketing, Monetarisierung. Das alles mache ich.

Schreiben Sie einen Kommentar