PHP-Virus: php_trojan_2 in WordPress eingeschleust

Ich erinnere mich nur ungern an die nervenaufreibenden Tage im Februar dieses Jahres. Damals schlugen gleich mehrfach Emails meines Hosters all-inkl.com in meinem Postfach ein und gröhlten mir das Wort “VIRUS” entgegen. Jemand hatte sich meine FTP-Zugangsdaten besorgt und geschickt PHP-Dateien mit einem Trojaner in meine Webseiten eingeschleust. Die ganze Story zu diesem Virenangriff auf meine Seiten kannst du in meinem Zweiteiler nachlesen:

  1. Filezilla hat mich verraten? Virus via FTP eingeschleppt.
  2. Trojaner-Alarm: PHP.Shell-38 via FTP eingeschleust

Nach dieser etwas nervigen, aber auch sehr spannenden Sache kehrte wieder Ruhe ein und ich wurde fortan von Viren, Trojanern und Exploits verschont.
Das sollte sich letzten Montag schlagartig ändern …

Alarmstufe Rot: Virus php_trojan_2 im WordPress-blog gefunden!
Alarmstufe Rot: Virus im WordPress-blog gefunden!


Was kann eine Woche schon bringen, die mit einem Montag anfängt! Diese Aussage allein sagt schon alles über Montage aus und doch habe ich kein so angespanntes Verhältnis zu diesem Wochentag wie viele andere, wenn man deren Getöse Glauben schenken mag. Mein dieswöchentlicher Montag hatte es aber in sich, denn er begann … mit 12 Emails von all-inkl.com.

“Virenfund im Account xxxxxxx”

Die Emails betrafen jede Webseite, die ich bei all-inkl.com hosten lasse. Um eines vorwegzuschicken: es sind nicht alle Seiten, die ich betreibe. Dies soll später noch eine kleine Rolle in meinen Ausführung spielen.

Alle Emails hatten den gleichen Wortlaut:

* VIRENFUND *
Bei einem routinemäßigen Virenscan wurden in Ihrem Account xxxxxxxxxxxxx Dateien mit Schadcode gefunden. Um die Besucher Ihrer Webseite zu schützen, haben wir diese Dateien nach Möglichkeit umbenannt und gesperrt. Die Liste der Dateien finden Sie in Ihrem FTP-Account unter: ….

* URSACHEN *
Häufige Ursachen für Virenbefall im FTP-Account sind Sicherheitslücken in oft nicht aktualisierten Scripten wie CMS, Shop, Forum, Gästebücher usw., oder ein Befall mit Schadcode auf dem PC, mit dem die Webseite bearbeitet wurde.

* MASSNAHMEN *
Wir empfehlen in jedem Fall ein sofortiges Ändern aller Zugangsdaten (Accountlogin, FTP, E-Mail-Passwörter), sowie eine gründliche Überprüfung des PCs mit geeigneter Software.

Virus-verseuchte Dateien

Ich stöhnte auf und begab mich gleich morgens per FTP in einen dieser Accounts, um mir die “Liste der Dateien” anzusehen. Ich schaute dann in jedem Account nach. Mal war es eine Datei, mal mehrere. Eines fiel mir gleich auf:
Wenn der Account ein WordPress-Blog beinhaltete, war immer die header.php betroffen. War kein WordPress installiert, wurden alle index.php infiziert!

Ein selektiv vorgehender Trojaner! Interessant.

Bevor ich mir ansah was genau der eingeschleuste Code machte, war ich neugierig darauf zu erfahren, wann der Virus denn wie in meine WordPress-Blogs und statischen Websites eingefügt wurde.

Nachdem ich im Frühjahr gleich die Log-Dateien nach den installierten PHP-Scripten durchforstet hatte, welche der Angriff vom 6.12.13 installierte, war ich ja nicht fündig geworden. Meiner Meinung nach wurden die Dateien nie aufgerufen. Hatte ich was übersehen?
Dazu kommt noch: nachdem ich über den Trojaner auf meinen Webseiten informiert worden war hatte ich wie empfohlen alle Passwörter geändert. Diese Passwörter waren allesamt um die 20 Zeichen lang, enthielten neben Klein- und Großbuchstaben auch Sonderzeichen und Ziffern. Alles in allem eine Kombination, welche gemeinhin als “sehr sicher” eingestuft wird. Wie zum Geier soll jemand diese neuen Paßwörter geknackt haben?

Wann wurde der Virus in WordPress eingeschleust?

Ich machte mich also wieder auf die Suche. Ich sah mir zunächst mal die infizierte Datei kurz an. (Zum Code komme ich dann in Teil 2 dieser kleinen Artikelserie!) Die Dateien waren wie in der Email von all-inkl.com beschrieben, umbenannt und verschoben worden. Dadurch war natürlich nicht mehr viel mit dem Änderungsdatum der Datei anzufangen. Das Änderungsdarum hätte Aufschluß darüber gegeben, wann die Datei das letzte mal verändert wurde. Meist ist es ja so, dass bspw. die header.php eines WordPress-Themes nicht mehr großartig verändert wird, wenn das Theme mal so aussieht, wie das WordPress-Theme eben aussehen sollte. Vielleicht beinhaltet mal das eine oder andere Theme-Update diese Datei, aber selbst davon wäre ich nicht auf jedem Account betroffen gewesen, weil ich oft mit Child-Themes arbeite. Bei einigen meiner WordPress-Blogs waren auch die header-Dateien der Child-Themes infiziert worden. Und wenn es ein Child war, wurde der Code auch gleich in das Original-Theme eingefügt.

Zurück zur Frage nach dem Wann.

Ich schaute mir alle FTP-Log-Dateien seit dem ersten Angriff (also seit dem 6.12.2013) an. Ich suchte gezielt nach der jeweilig infizierten Datei (bzw. den Dateien). Natürlich hatte ich hin und wieder komplette Backups der Installationen gezogen. Natürlich stand das alles in den Log-Dateien drin. Es würde also mühsam werden. Oder vielleicht doch nicht? Mir fiel auf, dass ich umfangreichere FTP-Transfers immer zu halbwegs menschenwürdigen Zeiten gemacht hatte. Ich suchte daraufhin alle FTP-Zugriffe auf die header.php oder index.php, welche zu menschenunwürdigen Zeiten stattgefunden hatten; also dann wenn ich schlief. Eine goldrichtige Idee! Denn …

… am 20. Januar 2014 wurde nachts gegen 2:30Uhr per FTP auf die jeweilige Datei zugegriffen! Da schlafe ich mit Sicherheit und bin deshalb außer Stande, selbst diese Transfers vorgenommen zu haben.

Ich prüfte sofort alle anderen Accounts und deren FTP-Logs vom 20.1.14. Immer wurde in der gleichen Zeit auf die jeweilig infizierten Dateien zugegriffen! HOHO!

Woher kam der Angreifer?

Ich ermittelte unterschiedliche IP-Adresse, mit denen der FTP-Zugriff auf meine Webseiten erfolgte. Mittels WHOIS kann ich normalerweise abfragen, wer hinter einer IP-Adresse steckt (jedenfalls reichte mir das bisher aus). Doch diesesmal war die Auskunft nicht sehr erschöpfend oder befriedigend. Ich googelte mal schnell nach besseren Tools und fand in utrace.de mein gesuchtes Helferlein. Ich fütterte die erste IP-Adresse an utrace …. ein Spanier! Oha! Wieso kümmert sich ein Spanier um meine Webseite?

Ich verfütterte die zwei IP-Adresse … Dieses Mal kam der Zugriff aus Prag! Eine nächste so ermittelte IP-Adresse wies nach San Antonio, westlich von Houston/USA. Dann noch nach Bulgarien, Höst in Deutschland u.s.w. Kurz gesagt: auf jeden Account wurde von einem anderen Ort dieser Welt zugegriffen.
Das klingt mir sehr nach einem BOT-Netz. Irgendwo schlafen verseuchte Kisten rum und starten dann auf Kommando irgendwelche Attacken. Ich schätze, dass die Besitzer der Server/Computer keine Ahnung davon haben, dass ihr seniler Rechenschieber solche Sauereien macht, wenn sie mal nicht hinschauen. *seufz*
Aber vielleicht irre ich mich auch.

Plötzlich eierte ein merkwürdiger Gedanke durch mein Hirn: Anfang Februar hatte mir all-inkl.com den ersten Virenalarm geschickt und dabei die eingeschleusten Dateien gemeldet, welche zu den o.g. beiden Artikeln führten. Anfang Februar? Moment mal … der Angriff, dem ich gerade auf der Spur war, fand am 20.1.2014 statt! Da wurden die infizierten Dateien geschrieben! Und darüber wurde ich erst letzten Montag, den 7. Juli 2014 per Mail informiert! BITTE? Ist der eingeschleuste Code erst seit neuestem in die Signaturen der Virenscanner eingetragen worden? Vielleicht, denn ich habe gerade in verschiedenen Foren Hinweise darauf gefunden, dass der Code bekannt ist … seit mindestens Anfang dieses Jahres. (Hinweise auf den Dezemberangriff fand ich sogar in Forenbeiträgen von 2008(!).)

Das die Dateien nicht später infiziert wurden habe ich gerade noch anhand einer Datensicherung vom 24.1.14 geprüft: da war der Code schon drin! O_O

Warum also wurde mir dieser Schadcode erst jetzt gemeldet? Ich weiß es nicht, aber es hinterlässt einen etwas schalen Geschmack im Mund, wenn ich an meinen Hoster denke. Dazu kommt noch folgende Überlegung:

Im Februar vermutete ich, dass vielleicht mein FTP-Client (Filezilla) infiziert gewesen ist und meine Passwörter “nach Hause telefoniert” hat. Ich hatte aus Bequemlichkeit alle Webseiten in Filezilla abgespeichert – inkl. der Paßwörter! Und ich meine ALLE meine Webseiten, auch die welche nicht bei all-inkl.com liegen. Wenn nun Filezilla wie auch immer die (im Klartext gespeicherten) (*würg*) Zugangsdaten an jemanden übermittelt hat, dann wäre das sicherlich mit ALLEN gespeicherten Zugangsdaten passiert. Oder wenn mein Rechner selbst infiziert ist und ein (von mir unbemerkter) Trojaner Daten direkt von meinem Rechner aus verschickt. Dann wäre doch im Zuge der Angriffe auch auf ALLEN meinen Webseiten der Virus eingeschleust worden, oder? Tja – und jetzt kommts: es sind NUR meine Accounts bei all-inkl.com betroffen. Keine einzige Webseite, welche bei einem anderen Hoster liegt (egal ob mit WordPress oder nicht) wurde angetastet! Und dass, liebe Freunde, lässt mich gehörig daran zweifeln, dass das Problem bei mir liegt.

Die Frage ist nun: konnte jemand anderes genau dieses Verhalten beobachten? Liegt das Problem bei all-inkl.com? Gibt (oder gab) es dort eine Sicherheitslücke, durch die Angreifer die FTP-Zugänge der Accounts abgreifen konnten? Ich glaube, die Jungs von all-inkl sehen das nicht so, denn sie verweisen immer auf den User als Ursache.

Vieleicht kann mir jemand an dieser Stelle mit Tipps weiterhelfen.
Im nächsten Artikel widme ich mich dann dem eingeschleusten Code, der – um ein wenig vorweg zu nehmen – auf den ersten Blick nicht brachial gefährlich ist, welcher aber ziemlich clever ist und potentiell üblen Scheiß anrichten kann.

5 Gedanken zu „PHP-Virus: php_trojan_2 in WordPress eingeschleust“

  1. Durch Google-Suche bin ich auf deinen Blog gekommen, erstmal danke für die lesenswerte Berichterstattung. Ich muss leider sagen dass auch meine joomla-Seiten zum 2. Male befallen sind (all-inkl). Ich kann mir auch nach wie vor nicht erklären, wie das bei mehreren gleichzeitig passieren konnte. Sind eigentlich Joomla-Basis Komponenten up to date gewesen :/

    Das nervt schon und kostet Zeit…

    Antworten
  2. Heute habe ich nun auch von einem Kunden Bescheid bekommen, dass seine Website bei all-inkl zum 2. mal mit diesem Virus befallen wurde. Ich pflege auch andere Websites bei anderen Hostern – dort gibt es keinerlei Probleme, nur all-inkl scheint seine Sicherheitslücken irgendwie nicht ganz unter Kontrolle zu haben, kommt mir so vor… Anders kann ich es mir nicht erklären.
    Auch dort wurde stets zwischen 0 und 6 Uhr nachts auf betroffene Dateien zugegriffen.

    Antworten
    • Schon interessant zu lesen, dass auch andere das Problem haben bzw. hatten. Und das diejenigen auch mit infizierten Filezilla-Clients gearbeitet haben ist zwar möglich, jedoch nicht gerade wahrscheinlich. Aber das Statistik und damit ein ganz anderes weites Feld, um es mal mit Fontane zu sagen. :)
      Danke für dein Feedback, Svenja, und viele Grüße vom Bodensee
      Jörg

      Antworten
  3. Ich hatte in 2013/14 sowas ähnliches erlebt. Allerdings nicht auf einer meiner Seiten. Sondern auf der Seite einer Freundin, die ich betreut hatte.
    Die Domain wurde bei Strato gehostet.
    Es war aber kein WordPress was betroffen war sondern das CMS Website Baker.
    Auf dem Server liefen 10. Domains auch Joomla und WordPress.
    Es wurde immer nur auf das Website Backer geschoßen.
    Nach anstrengenden Clean versuchen, wurde das WB entfernt und durch ein WP ersetzt.
    Aber was da genau Passiert ist und vor allem wie ist mir unklar.
    ////Thorsten

    Antworten

Schreibe einen Kommentar