Schadcode in allen php-Files

  • Hallo zusammen,


    ich habe gestern Abend mit Schrecken fest gestellt, dass all meine PHP Files am Anfang der Datei einen komischen Programm-Code (wahrscheinlich Schadcode) enthalten.


    Die erste Zeile in den PHP Files sieht so aus:
    [...]
    Damit kann ich leider überhaupt nichts anfangen und im Internet konnte ich dazu leider nichts finden! Wie das passieren konnte habe ich leider noch nicht heraus gefunden.


    Meine Frage ist nun, ob schon mal jemand so was gesehen hat und ob es ausreicht diesen Code aus allen Dateien zu entfernen oder ob noch mehr Reinigungsarbeiten notwendig sind!


    Aktuell habe ich Joomla 3.4.8 installiert! Das Update von Joomla 2.x auf Version 3.4.x habe ich allerdings erst am Ende letzten Jahres gemacht! Nach dem Update auf 3.4.8 sollte der PHP Code aber noch sauber gewesen sein! Aber das werde ich noch mal genauer prüfen, in dem ich ein Backup von Anfang des Jahre einspiele (lokal mit XAmpp).


    Vielen Dank im Voraus!


    Gruß,
    Franklin

    Edit by @Indigo66: Schadcode entfernt.

  • Nach dem Update auf 3.4.8 sollte der PHP Code aber noch sauber gewesen sein!


    Wie kannst Du Dir da so sicher sein?
    Server-Logs anschauen und nach dem Einfallstor forschen. Es muss nicht Joomla selbst sein, sondern auch geknackte FTP-Passwörter oder Erweiterungen mit Sicherheitslücken.

  • Ich habe eine Kopie der Dateien nach dem Update per FTP auf eine lokale Platte kopiert und da kann ich diesen Schadcode nicht finden! Das heißt natürlich nicht, dass trotzdem schon irgendwas infiziert gewesen ist! nur der seltsame Code in den PHP Dateien war da noch nicht vorhanden!


    Gruß,
    Franklin

  • Nur so, weil ich mich paar Std. damit beschäftigt habe:


    Zitat

    Damit kann ich leider überhaupt nichts anfangen und im Internet konnte ich dazu leider nichts finden!
    Meine Frage ist nun, ob schon mal jemand so was gesehen hat


    Dieser Code wird in Variationen in letzter Zeit öfter "gemeldet". Dass man ihn nicht auf Anhieb im Netz findet, liegt einfach an der Art der mehrfachen Verschleierung, teils hexadezimal, die durchlaufen wird. Dadurch erkennt man ihn nur auf Anhieb aus 5 Meter Entfernung zum Bildschirm wieder ;) Der Grundaufbau des Kuddelmuddels ist immer der selbe.


    Mit zunehmender "Entschleierung" findet man dann zahlreiche Seiten die befallen sind, wo der Code NICHT funktioniert sondern in Teilen pur ausgegeben wird.


    Er reagiert auf IE-Browser bis IE11 (warum habe ich noch nicht ganz kapiert),


    arbeitet mehrfach mit create_function(...), was ich als unsichere PHP-Funktion ansehe. Weiß nicht, ob und welche Provider das per se deaktivieren.


    Und injiziert dann nach zahlreichem Hin- und Hergehüpfe Code innerhalb des BODY- oder HTML-Tags, den er von einer externen URL bezieht. Dabei berücksichtigt der Code mehrere PHP-Varianten eine externe URL abzufragen (file_get_contents, CURL, socket).


    Was er da injiziert und warum einige große Suchmaschinen beim Injizieren ausgeschlossen werden, keine Ahnung... Und das Backend (bzw. Dateipfade der gerade ausgeführten Datei, die 'admin' enthalten) werden auch nicht geimpft... Hatte dann keine Lust mehr. Kann nur vermuten, dass evtl. Schadcode für IE verteilt wird.

  • Hallo,


    Du scheinst dich damit ja wirklich schon ausgiebiger beschäftigt zu haben! Hast Du denn eine Idee, ob es ausreicht, den entsprechenden Code aus den PHP Files einfach zu löschen? Oder ist da noch mehr von diesem Schadcode betroffen (Java-Scripte oder MySql Datenbank)?

  • ob es ausreicht, den entsprechenden Code aus den PHP Files einfach zu löschen?


    Das reicht nicht aus. Die letzten 2 Wochen bin ich auch gehäuft auf diese Masseninjektion gestoßen. Positiv daran ist, dass es pro Installation selten mehr als 2-3 Variationen gibt - das macht die Entfernung einfacher.
    Hacks mit Qualität statt Quantität sind da deutlich unangenehmer.

  • Und es ist davon auszugehen, dass sich der Code, der die Injection erst ermöglicht hat, noch in der Installation befindet. Oftmals sind Installationen schon Monate und Jahre unbemerkt gehackt, der Schadcode wird dann auch mal gerne über Versionssprünge mitgeschleift.

  • wieder zurück spielen (MySQL Datenbank)


    Sehr selten ist die DB ebenfalls betroffen. Ausschließen kann man es jedoch nicht.


    --------------------------------------------------------------------------
    Wenn die DB aus selber Joomla-Version stammt, und auch die zuinstall. Erweiterungen selbe Version, klappt das recht sicher.
    Ich würde so machen. Nach Sicherung und Verwahrung der gehackten Seite sowie Logs für ggf. weitere Recherche:


    - Gehackte Seite im Backend per Updates immer auf selben Stand bringen wie die neue, was Installationen anbelangt, da ab und zu Updates auch DB-Änderungen mitbringen. Dann aber meist unter Erhalt der Datensätze.
    Oder halt umgekehrt. Bei neuerJoomla beachten, dass Versionen identisch.
    Frontend kann dir dabei wurst sein.
    Es reicht in der neuen Seite die Installationen durchzuführen. Einrichten musst nichts, da ja alles aus DB kommt, außer den Dateien.


    - Datenbank exportieren und in neuem Joomla importieren und zwar komplett, also nachdem du dort alle Tabellen zuvor platt gemacht/gelöscht hast.