PHP rootkit finden und entfernen

  • Ich betreibe auf einem Webhosting8000 ca. acht Wordpress-Installationen mit jeweils separaten (Sub-)Domains und noch vier andere PHP-Anwendungen (Limesurvey, FreeScout, Grocy, Mautic). Seit ca. zwei Wochen ist das gesamte Hostingpaket von einem PHP-Rootkit, so nenne ich es jetzt einfach mal, befallen. In manche index.php-Dateien wird z.B. sowas geschrieben

    es werden neue Dateien wie radio.php erstellt

    oder auch wp-login.php (auch wenn es sich gar nicht um ein Wordpress handelt)


    Den größten Teil kann ich immer anhand von Zeitstempeln erkennen und händisch entfernen. Einige unwichtige Wordpress-Seiten habe ich gesperrt, alle anderen geupdatet, v.a. auch die Plugins, aber das Zeug kommt täglich wieder und liefert dann teilweise Gewinnspiele aus etc.


    Gibt es einen Lösung, um innerhalb des Webhostings Seiten voneinander zu isolieren? Es wäre ja blöd, wenn diese sich immer wieder gegenseitig infizieren.


    Welche Möglichkeiten gibt es zu Bekämpfung? Innerhalb der WP-Seiten habe ich schon gute Erfahrung mit dem Plugin Wordfence gemacht, aber das geht halt auch nur da und verhindert auch nicht, dass das wieder kommt.


    Vielen Dank vorab!

    Webhosting 8000, mehrere Wollmilchsäue

  • Dass der PC befallen und durch einen Passwortklau das Einfallstor ist, kannst Du ausschließen?


    Ich würde jedenfalls zu folgenden Schritten raten:

    • Sicherheitshalber ALLE Zugangsdaten ändern! (CCP, WCP, FTP-Accounts, Datenbank-User, E-Mail-Account aus den Stammdaten, ...)
    • Alle Inhalte des Webhostings sichern und danach alles platt machen, auch Ordner außerhalb der Dokumentenstämme und inklusive Datenbanktabellen.
    • Alle Projekte auf diesem Webspace aus einem sauberen (!) Backup neu aufsetzen. Im Idealfall eines nach dem anderem und täglich prüfen, ob es wieder Auffälligkeiten gibt.
    • Währenddessen penibel kontrollieren, ob überall alle Sicherheitsupdates eingespielt wurden. Ist irgendeine Software dabei, die keine Updates mehr bekommt?

    Gibt es einen Lösung, um innerhalb des Webhostings Seiten voneinander zu isolieren? Es wäre ja blöd, wenn diese sich immer wieder gegenseitig infizieren.

    Prinzipiell sollte man zuerst einmal verhindern, dass überhaupt eines der Projekte kompromittiert wird.


    Danach gebe ich zu bedenken, dass z.B. der open_basedir von PHP keine ausreichende Absicherung ist, selbst wenn dieser in Plesk auf "Docroot" eingestellt ist. Solange Funktionen wie z.B. exec() aktiv sind, und das sind sie im Webhosting standardmäßig, kann ein Angreifer von einer Website aus alle anderen Websites im gleichen Hosting-Produkt übernehmen! Ob Deine Projekte bestimmte potentiell gefährliche Funktionen brauchen, weißt nur Du. Deaktivieren lassen kann man sie meines Wissens nur über den Support. Sobald man aber z.B. Cronjobs oder andere Scripte über PHP-CLI o.ä. ausführt, ist dieser Sicherheitsgewinn ohne angepasste PHP-Aufrufe (mit einer eigenen php.ini) schnell wieder dahin.


    Die beste Trennung wäre so oder so ein eigener Webspace je Projekt.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

    Einmal editiert, zuletzt von KB19 ()

    Gefällt mir 4
  • Seit ca. zwei Wochen ist das gesamte Hostingpaket von einem PHP-Rootkit, so nenne ich es jetzt einfach mal, befallen....

    • Alle Projekte auf diesem Webspace aus einem sauberen (!) Backup neu aufsetzen. Im Idealfall eines nach dem anderem und täglich prüfen, ob es wieder Auffälligkeiten gibt.

    Was bedeutet, dass das Backup ein gutes Stück älter als zwei Wochen sein sollte (Backup-Versionierung?), sonst macht das Restore keinen Sinn, weil du höchstwahrscheinlich die Übeltäter auch wieder mit einspielst.

    Das laufende System bereinigen zu wollen, ist in der Regel aussichtslos, weil du nicht weißt in wie weit es kompromittiert ist.

  • Das, was KB19 sagt.


    Bisschen was Technisches noch dazu:

    Bei der radio.php handelt es sich um PHP Reinfectors, das Ding stellt sich wohl aus dem Arbeitsspeicher wieder her.

    Prüfe auch mal deine .htaccess Dateien.


    Paar Links:

    https://blog.sucuri.net/2021/12/php-re-infectors-the-malware-that-keeps-on-giving.html

    https://www.claudiokuenzler.com/blog/1183/technical-analysis-hack-php-script-running-process-read-code-from-memory

    https://airzerosec.com/blog/post/php-re-infectorsthe-malware-that-keeps-on-giving


    Ggf. könntest du den Support auch bitten, deine PHP Prozesse zu stoppen, und den OPCache zu grillen.

    Die Programmierer hatten da wohl nicht wenig Hirnschmalz.