{"id":6532,"date":"2025-03-31T11:59:37","date_gmt":"2025-03-31T09:59:37","guid":{"rendered":"https:\/\/ekiwi.de\/?p=6532"},"modified":"2025-03-31T20:09:02","modified_gmt":"2025-03-31T18:09:02","slug":"gehackte-webseite-wordpress-von-chinesen-uebernommen","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/","title":{"rendered":"Gehackte Webseite! WordPress von Chinesen \u00fcbernommen?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Chinesische_Zeichen_beim_Aufruf_der_Webseite\" >Chinesische Zeichen beim Aufruf der Webseite<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#WordPress_und_die_Probleme\" >WordPress und die Probleme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Backup_einspielen\" >Backup einspielen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Beginn_der_Fehlersuche\" >Beginn der Fehlersuche<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Seltsame_Benutzer\" >Seltsame Benutzer<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Scan_der_Dateien_und_veraltete_Plugins\" >Scan der Dateien und veraltete Plugins<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Ersetzen_von_Plugins\" >Ersetzen von Plugins<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/ekiwi.de\/index.php\/6532\/gehackte-webseite-wordpress-von-chinesen-uebernommen\/#Fazit\" >Fazit<\/a><\/li><\/ul><\/nav><\/div>\n<p>Chinesische Zeichen beim Aufruf der Webseite.<\/p>\n<p><!--more--><\/p>\n<p>Aktuell bin ich dabei unsere Webseiten von Hosteurope zu All-Inkl umzuziehen. <a href=\"https:\/\/andydunkel.net\/2025\/03\/24\/hosteurope-migriert-e-mail-konten-zu-microsoft-outlook-und-webhosting-zu-cpanel\/\" target=\"_blank\" rel=\"noopener noreferrer\">Aus Gr\u00fcnden<\/a>.<\/p>\n<p>Normal ist das kein Thema, Datenbank sichern und einspielen. Dateien r\u00fcberziehen und anschlie\u00dfend die Domain umziehen. Mit etwas Gl\u00fcck geht alles mehr oder weniger nur mit kurzen Unterbrechungen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Chinesische_Zeichen_beim_Aufruf_der_Webseite\"><\/span>Chinesische Zeichen beim Aufruf der Webseite<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Allerdings kam beim Aufruf der Webseite nur eine &#8222;Fehlermeldung&#8220; und dazu noch jede Menge chinesische Zeichen. Gut, vielleicht irgendwas im Cache, da der Pfad der ausgeben wurde noch vom alten Webspace war. Vielleicht das Cache-Plugin dachte ich noch und versuchte den Admin-Bereich aufzurufen. Gleiches Ergebnis.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_1.png\" alt=\"\" width=\"747\" height=\"395\" class=\"alignnone size-full wp-image-6533\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_1.png 747w, \/wp-content\/uploads\/2025\/03\/hack_1-300x159.png 300w\" sizes=\"auto, (max-width: 747px) 100vw, 747px\" \/><\/p>\n<p>So langsam schwante mir der Verdacht, dass doch mehr dahinter steckt. Am Ende packte ich die Sachen noch in Deepl und lie\u00df es \u00fcbersetzen. Zwar nur Kauderwelsch, aber doch keine Zufallsdaten.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_2.webp\" alt=\"\" width=\"1000\" height=\"397\" class=\"alignnone size-full wp-image-6535\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_2.webp 1000w, \/wp-content\/uploads\/2025\/03\/hack_2-300x119.webp 300w, \/wp-content\/uploads\/2025\/03\/hack_2-768x305.webp 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Kurzum, wir wurden wohl gehackt.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"WordPress_und_die_Probleme\"><\/span>WordPress und die Probleme<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress ist ein zweischneidiges Schwert, einerseits l\u00e4sst sich damit sehr leicht eine Webseite aufsetzen, birgt aber immer die Gefahr gehackt zu werden. Sicherheitsl\u00fccken sind selten in WordPress, bzw. gibt es dann schnelle Updates. Aber die zahlreichen Plugins \u00f6ffnen weitere T\u00fcren, weil man hier am Ende auch gar nicht mitbekommt, wenn ein Plugin nicht mehr weiterentwickelt wird.<\/p>\n<p>Dazu kommt, dass wohl inzwischen 50% der Webseiten im Netz mit WordPress laufen, was WordPress damit zu einem schicken Ziel f\u00fcr Bots und Hacker macht.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Backup_einspielen\"><\/span>Backup einspielen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Als erste Ma\u00dfnahme habe ich ein Bier aufgemacht. Hast ja ein Backup dachte ich mir, zwar vom Januar, aber seit dem waren nicht so viele \u00c4nderungen. Trotzdem Notiz an mich \u00f6fter Backups machen und auch l\u00e4nger aufbewahren.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_3.webp\" alt=\"\" width=\"400\" height=\"533\" class=\"alignnone size-full wp-image-6537\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_3.webp 400w, \/wp-content\/uploads\/2025\/03\/hack_3-225x300.webp 225w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>Dummerweise war das Backup auch bereits infiziert, gleiches Ergebnis. Der Hack lag damit also schon l\u00e4nger zur\u00fcck.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Beginn_der_Fehlersuche\"><\/span>Beginn der Fehlersuche<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Also blieb nichts anderes \u00fcbrig, als die Dateien manuell zu durchsuchen. Gar nicht so einfach, WordPress besteht aus einem Wust an Dateien. Ich habe mich f\u00fcrs klassische Divide und Conquer entschieden. D.h. vom ersten Aufruf ausstehend &#8222;die&#8220; Statements in den Code einzuf\u00fcgen, um zu schauen, an welcher Stelle die Sache abbricht und nur noch Unsinn ausgibt.<\/p>\n<p>Irgendwann habe ich die Stelle gefunden, es wurde eine &#8222;db.php&#8220; ge\u00f6ffnet. Diese lag im Ordner &#8222;wp-content&#8220; und geh\u00f6rt da normal auch nicht hin. Dazu kam, dass diese versteckt war und \u00fcber FTP gar nicht angezeigt wurde. Erst \u00fcber SSH kam die Datei zum Vorschein. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_4.png\" alt=\"\" width=\"568\" height=\"74\" class=\"alignnone size-full wp-image-6539\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_4.png 568w, \/wp-content\/uploads\/2025\/03\/hack_4-300x39.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/p>\n<p>Selbst \u00fcber SSH war diese nicht lesbar. \u00dcber die Backup-Funktion konnte ich diese dann aber auslesen. Darin war kein PHP-Code enthalten, sondern der erste Teil der fehlerhaften Ausgabe, die Pfadangabe. Dies w\u00fcrde auch erkl\u00e4ren, warum auf unserem alten Webspace alles noch lief, auf dem neuen dann aber kaputt ging.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_5.png\" alt=\"\" width=\"869\" height=\"163\" class=\"alignnone size-full wp-image-6541\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_5.png 869w, \/wp-content\/uploads\/2025\/03\/hack_5-300x56.png 300w, \/wp-content\/uploads\/2025\/03\/hack_5-768x144.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><\/p>\n<p>Nach dem L\u00f6schen der Datei lief der Blog erstmal wieder und ich bin immerhin in das Admin-Men\u00fc gekommen. <\/p>\n<h3><span class=\"ez-toc-section\" id=\"Seltsame_Benutzer\"><\/span>Seltsame Benutzer<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Hier ging die Fehlersuche nat\u00fcrlich weiter. Gibt es ggf. weitere Benutzer die angelegt worden sind? Es gab ein paar verd\u00e4chtige Nutzer von WooCommerce, besonders verd\u00e4chtig war der chinesische Benutzer. Diese habe ich dann entfernt. Inzwischen haben wir auch die M\u00f6glichkeit entfernt, f\u00fcr Nutzer w\u00e4hrend der Bestellung ein Konto anzulegen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_6.png\" alt=\"\" width=\"679\" height=\"158\" class=\"alignnone size-full wp-image-6543\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_6.png 679w, \/wp-content\/uploads\/2025\/03\/hack_6-300x70.png 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Scan_der_Dateien_und_veraltete_Plugins\"><\/span>Scan der Dateien und veraltete Plugins<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Obwohl die Seite nun funktionierte, wollte ich dennoch alles genauer \u00fcberpr\u00fcfen. Es gibt einige Security-Plugins f\u00fcr WordPress, ich habe dann mal WordFence getestet und die Dateien gescannt.<\/p>\n<p>Viel kam nicht bei raus, aber immerhin wurden ein paar Plugins genannt, die veraltet und auch nicht mehr weiterentwickelt werden. Sehr gut m\u00f6glich, dass diese Sicherheitsl\u00fccken enthalten.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_7.png\" alt=\"\" width=\"1191\" height=\"622\" class=\"alignnone size-full wp-image-6545\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_7.png 1191w, \/wp-content\/uploads\/2025\/03\/hack_7-300x157.png 300w, \/wp-content\/uploads\/2025\/03\/hack_7-1024x535.png 1024w, \/wp-content\/uploads\/2025\/03\/hack_7-768x401.png 768w\" sizes=\"auto, (max-width: 1191px) 100vw, 1191px\" \/><\/p>\n<p>Die Basisversion ist hier immerhin kostenlos. Die meisten der Plugins wollen ordentlich Geld sehen, ist vermutlich ein guter Markt f\u00fcr solche Plugins, wie unser Hack auch wieder zeigt. Andere Plugins wie MalCare haben zwar auch irgendwas gefunden, wollten dann aber erstmal Kohle sehen.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ersetzen_von_Plugins\"><\/span>Ersetzen von Plugins<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ich habe die Plugins dann rausgeworfen. Oft ist es reine Bequemlichkeit einfach ein Plugin zu verwenden, z.B. f\u00fcr die Darstellung von Tabs auf unserem Blog. Mit KI-Unterst\u00fctzung habe ich das mit JavaScript und CSS kurzerhand nachgebaut.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/03\/hack_8.png\" alt=\"\" width=\"648\" height=\"302\" class=\"alignnone size-full wp-image-6547\" srcset=\"\/wp-content\/uploads\/2025\/03\/hack_8.png 648w, \/wp-content\/uploads\/2025\/03\/hack_8-300x140.png 300w\" sizes=\"auto, (max-width: 648px) 100vw, 648px\" \/><\/p>\n<p>Die anderen Plugins wurden als nicht so wichtig angesehen und ebenfalls entfernt.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Fazit<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>So richtig rausgefunden habe ich bisher nicht, wo und wie der Hack genau stattgefunden hat. Auch nicht ob er erfolgreich war. Anscheinend lief die Seite schon eine Weile in dem Modus und hat sich normal verhalten. Gut m\u00f6glich, dass der Hack nicht funktioniert hat und stattdessen nur etwas kaputt gemacht hat.<\/p>\n<p>Da der Link den &#8222;query-monitor&#8220; erw\u00e4hnt ist es gut m\u00f6glich, dass dar\u00fcber der Hack erfolgte. Ich hatte das Plugin schon vor einiger Zeit wieder entfernt.<\/p>\n<p>Nat\u00fcrlich habe ich auch gleich die Passw\u00f6rter zur\u00fcckgesetzt.<\/p>\n<p>Am Ende zeigt sich mal wieder, dass regelm\u00e4\u00dfig \u00fcberpr\u00fcft werden sollte, ob die Plugins noch weiterentwickelt werden. Still und heimlich werden diese aus dem WordPress-Verzeichnis entfernt und man l\u00e4uft \u00fcber Jahre mit den alten Dingern.<\/p>\n<p>Das beste Plugin f\u00fcr WordPress ist am Ende kein Plugin. Nicht immer kommt man drum herum, aber auf viele Kleinigkeiten kann und sollte man verzichten.<\/p>","protected":false},"excerpt":{"rendered":"<p>Chinesische Zeichen beim Aufruf der Webseite.<\/p>\n","protected":false},"author":1,"featured_media":1403,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[591,51],"tags":[],"class_list":["post-6532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","category-wordpress"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/6532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=6532"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/6532\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/1403"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=6532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=6532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=6532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}