daysofyorr Trojaner eingefangen

Ich wusste, dass das nicht gut ausgehen kann… Da wollte ich jemandem helfen eine Website von Schadcode zu befreien und *schwups* hab ich den Mist selbst drauf. Die Rede ist vom Trojaner daysofyorr.com/release.js.

Was ist passiert?

Die Website eines Bekannten hatte auf der Startseite auf einmal im Kopfbereich Code stehen, der dort nicht hingehört. Man konnte sehen, dass irgendein HTML Code nicht richtig geschlossen wurde. Ein Blick in den Quelltext brachte die Erkenntnis, dass die Seite mit Malware verseucht war. Kurze Zeit später reagierte dann auch mein Virenscanner unter Windows 7 (NOD32). Angeblich wurde der Trojaner geblockt und in Quarantäne verschoben. So weit so gut…

Am Tag darauf sprang mein Virenscanner dann erneut an, da im Arbeitsspeicher ein Virus/Trojaner entdeckt wurde.

Die Datei habe ich durch den Virenscanner löschen/in Quarantäne verschieben lassen. Da sich dazu nichts bei Google oder anderen Suchmaschinen finden ließ, wurde die Datei zur Analyse eingeschickt. Bin gespannt ob ich da noch was von höre… Anschließend habe ich mir erstmal über mein Linux Notebook aktuelle Rescue CDs von Avira und Kaspersky runtergeladen. Damit habe ich dann meinen Windows PC von allen Schädlingen befreit: Insgesamt 4 Funde, 2 im System und die gleichen 2 auf meiner Backup-Partition.

Da ich FileZilla und dessen Passwortmanager nutze, konnte der Trojaner sämtliche Zugangsdaten abgreifen (die Zugangsdaten werden nämlich im Klartext auf dem PC abgelegt). Notiz an mich: Die Passwörter nicht mehr speichern… Man muss in den Programmeinstellungen (Oberfläche->Verhalten) explizit auswählen, dass Passwörter nicht gespeichert werden sollen!!!

Der Worst-Case ist also eingetreten. Der Trojaner hat sich auf allen gespeicherten Websites breit gemacht. Überall wurde ein netter kleiner Code platziert. Ob dieser bei jedem Angriff gleich aussieht kann ich nicht sagen.

Das sieht dann im Quelltext der Website so aus:

Befallen sind etliche Dateien in wp-content. In der Datenbank war erst mal nichts zu finden (geprüft via PHPMyAdmin), außer in den Einträgen des Plugins Cachify, was aber nicht verwunderlich ist. Lösung dazu: Plugin deaktivieren und erneut aktivieren. Dadurch sollte die Seite neu gecached werden und die entsprechenden Einträge in der DB verschwinden (jedoch erst nachdem die nachfolgenden Schritte durchgeführt wurden!)

Wie geht´s weiter?

Halten wir also fest: PC mit Live CD auf Viren überprüft und (hoffentlich) bereinigt. Dateien/Webspace mit Schadcode infiziert, Datenbank (auf den ersten Blick) sauber. Der Angreifer hat mindestens alle FTP Zugangsdaten.

Deshalb erst mal überall die Passwörter ändern (Zugang zum Webinterface des Hosters, FTP Zugangsdaten, Datenbankpasswort). Bitte nicht vergessen diese Daten nachher auch in der wp-config.php zu ändern. Immer sichere Passwörter verwenden! Mittlerweile sollte jeder Hoster die Möglichkeit anbieten automatisch Passwörter zu generieren. Diese sollten eigentlich sicher genug sein. Wer dem Braten nicht traut, kann sich auch mal hier umsehen: gaijin.at

Anschließend werden alle Dateien vom Webspace in einen separaten Ordner auf den PC heruntergeladen. Da nicht ausgeschlossen werden kann, dass sich der Trojaner auch außerhalb der WP Installation breit macht, wirklich alle Dateien vom Server herunterladen. Liegen die Dateien auf eurem PC, dann schaut euch mal das Rootverzeichnis der WP Installation an (da wo auch die wp-config.php liegt). Ihr werdet dort eine Datei finden, die dort definitiv nichts zu suchen hat. Das Problem ist, dass der Dateiname variiert. Die Datei heißt überall anders. In meinem Fall hieß sie phdinfo.php, session.php oder favicon.php. Der Inhalt der Datei dürfte jedoch überall gleich sein.

Diese Datei müsst ihr löschen. Anschließend besorgt ihr Euch ein Tool, mit dem ihr mehrere Dateien nach bestimmten Texten durchsuchen könnt. Unter Windows verwende ich dazu meinen Lieblingseditor PSPad (Freeware). Damit könnt ihr alle Dateien eures Servers nach dem Schadcode durchsuchen und diesen entfernen.

So wird´s gemacht: In der Menüleiste klickt ihr auf Suchen->Suchen/Ersetzen in Dateien. Im darauf folgenden Fenster gebt ihr bei Gesuchter Text die erste Zeile des Schadcodes ein. Leider kann das Programm nicht mit den Zeilenumbrüchen umgehen, sodass wir insgesamt 3 Suchläufe starten müssen

  • #b58b6f#
  • echo(gzinflate(base64_decode(“Jct…=”))); <— Code gekürzt. Bitte per Copy & Paste aus einer betroffenen Datei verwenden
  • #/b58b6f#

Bei Ersetzen durch setzen wir einen Haken, lassen das Textfeld aber leer. Weitere Einstellungen wie folgt vornehmen:

Bei In diesem Ordner => wählt ihr den Ordner aus, in dem ihr die Dateien vom FTP gespeichert habt. Unbedingt Einschließlich Unterordner auswählen, damit auch wirklich alle Dateien durchsucht werden. Bei den Dateitypen beschränke ich mich auf PHP- und Javascript Dateien.

Damit hätten wir die bereinigten Dateien nun auf unserem PC. Nun löschen wir alle Dateien vom FTP Server und laden anschließend die vom PC wieder hoch. Ruft anschließend die Website im Browser auf und prüft den Quelltext. Es sollte kein fremder Code mehr zu sehen sein.

Abschließend sollte man noch den Adminaccount der WP-Installation ändern bzw. löschen. Da nicht klar ist, welche Daten noch in die Hände des Angreifers gelangt sind, wäre es ratsam das Passwort des Admins zu ändern. Besser wäre es einen neuen Adminaccount anzulegen und den alten anschließend zu löschen. Der Sicherheit halber, solltet ihr auch eure registrierten Benutzer auffordern die Passwörter zu ändern.

Kleine Anmerkung noch: Über Google findet man zu dem Thema einen Artikel von Peter Glowka. * Ansich wird dort nichts anderes beschrieben, jedoch wird in dem Artikel fälschlicherweise vor index.php Dateien mit dem Inhalt silence is golden gewarnt. * Auch hier nochmal der Hinweis, dass dies reguläre Dateien sind und nicht durch den Angreifer angelegt wurden. Diese gehören zur WP-Installation und sollen in den Verzeichnissen liegen! Vergleicht dazu bitte den Inhalt des Downloadpakets. Ich habe dem Artikelautor bereits eine Nachricht geschickt und um Korrektur gebeten. Solange die index.php nur diesen Code beinhaltet

<?php
// Silence is golden.
?>

ist alles in Ordnung.

* Artikel wurde inzwischen korrigiert

Update: Scheinbar werden auch andere Domains genutzt um die Datei release.js unter’s Volk zu bringen. organicfoodmarkets.com.au/release.js ist nur ein weiteres Beispiel. Die oben beschriebene Vorgehensweise funktioniert auch dabei.

3 Gedanken zu “daysofyorr Trojaner eingefangen

  1. Sicherheitslücke bei Wordpress 3.3.1 – schnell updaten! « Studentenjobs im Internet

    [...] Zunächst checkte ich die anderen WordPress-Installationen von mir. Diese waren zum Glück unberührt, sodass ich einen Trojaner meinerseits ausschließen konnte. (Der sogenannte daysofyorr-Trojaner späht FTP-Daten aus, insbesondere Filezilla ist anfällig, siehe hier). [...]

  2. [...] fin­det. Mehr In­for­ma­tio­nen und Hin­weise zur Be­sei­ti­gung bei Pe­ter Glowka und Mi­chael Fit­zen. (function($){ var options = {"info_link":"http://heise.de/-1333879&quot;,"txt_help":"Wenn Sie [...]

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>