SpyEye vs. Tracker

Bekanntermaßen hat der Entwickler des Banking-Trojaners SpyEye eine Unterstützung für Plug-Ins in seinem Machwerk umgesetzt. Nach Wunsch des Autors können Dritt-Entwickler mit Hilfe dieser Plug-Ins willkürliche Funktionalität in den Grund-Bot integrieren.

Bei den Plug-Ins handelt es sich um DLL-Bibliotheken, die in der Konfigurationsdatei des Bots gespeichert werden. Eines der Basis-Plug-Ins, die vom SpyEye-Autoren selbst entwickelt wurden, trägt die Bezeichnung customconnector. Wie der Name schon verrät, ist dieses Plug-In für die Kommunikation des Bots mit dem Steuerungszentrum des Botnetzes oder dem Kollektor verantwortlich (dem Server der Cyberkriminellen, an den der Bot die vom infizierten Anwender-Computer gestohlenen Daten sendet, und der sich vom Steuerungsserver unterscheiden kann).

Da der Autor von SpyEye die Kommunikation des Bots mit dem Steuerungsserver an Drittentwickler abgegeben hat, eröffnete sich verschiedenen Betreibern von SpyEye-Botnetzen die Möglichkeit, einmalige Kommunikationsprotokolle des Bots mit dem Steuerungsserver zu erstellen. Die Verwendung solcher Protokolle kann es zweifellos erschweren, die Aktivität eines auf der Basis von SpyEye aufgebauten Botnetzes zu verfolgen. Doch die Cyberkriminellen haben es anscheinend nicht eilig damit, diese Möglichkeit zu nutzen, denn bis zum heutigen Tag wird das alte, in der Grundausstattung von customconnector.dll umgesetzte Kommunikationsprotokoll von SpyEye verwendet. Vor Kurzem registrierten wir allerdings eine gewisse Veränderung, die mit diesem Plug-In zusammenhängt.

Jedem Plug-In ist eine Konfigurationsdatei beigefügt. Im Fall des Plug-Ins customconnector.dll heißt die Konfigurationsdatei beispielsweise customconnector.dll.cfg. Darin können die Cyberkriminellen in Textform die Einstellungen für die Funktionalität festlegen, die im Plug-In realisiert ist. Da es sich bei customconnector.dll um ein Kommunikations-Plug-In handelt, waren in den dazugehörigen Konfigurationsdateien immer auch die Server, die als Botnetz-Steuerungszentrale dienen, angezeigt. Der Botnetz-Verwalter kann problemlos auf ein neues Steuerungszentrum umschalten, indem er in die Textdatei eine neue Adresse einträgt und die Konfigurationsdatei auf dem Botnetz aktualisiert.

Hier das Beispiel einer der Konfigurationsdateien:


Abb. 1: Konfigurationsdatei für customconnector.dll

Hier sieht man, dass mehrere Adressen für Steuerungszentren angegeben sind. Der Bot probiert die URL auf der Liste nacheinander aus, bis er auf einen zum aktuellen Zeitpunkt aktiven Server trifft.

Das unten stehende Schema zeigt im Überblick, wie das Plug-In auf einem infizierten Computer funktioniert:


Abb. 2: Funktionsschema des Plug-Ins customconnector

Kommen wir nun zu den von uns entdeckten Veränderungen. Es ist nicht überraschend, dass sie mit der Aktivität des Trackers abuse.ch zusammenhängen. Der Entwickler von SpyEye und die Betreiber von Botnetzen haben wiederholt ihre Unzufriedenheit mit der Arbeit dieses Trackers zum Ausdruck gebracht. Auf abuse.ch sind die Adressen der Steuerungsserver von SpyEye-Botnetzen frei zugänglich, und Internet-Provider blockieren den infizierten Kunden aus ihren Netzen den Zugriff darauf. Die Adressen der Steuerungszentren aus einer einzelnen Konfigurationsdatei von SpyEye (die Ursprungsdatei wird im Körper des Bots selbst gespeichert) herauszuziehen, macht keine besondere Mühe. Bei der Konfigurationsdatei handelt es sich im Grunde um ein passwortgeschütztes zip-Archiv. Das Passwort und die Konfigurationsdatei selbst befinden sich auf dem infizierten Rechner. Daraufhin werden aus dem Archiv die Konfigurationsdateien der Plug-Ins herausgezogen, darunter auch die Datei customconnector.dll.cfg, in der sich auch die Adressen der Steuerungszentralen befinden. Der gesamte Prozess konnte und musste automatisiert werden, da jeden Tag in freier Wildbahn eine Vielzahl neuer Bots auf der Bildfläche erscheint. Zum gegenwärtigen Zeitpunkt funktionieren die Bots, die Adressen der Server werden veröffentlicht und blockiert.

Alles ist gut … einstweilen. Denn kürzlich haben wir entdeckt, dass die in der Datei customconnector.dll.cfg angegebenen Adressen gefälscht sind.

Wir hatten es schon einmal mit einem solchen Trick zu tun, allerdings in Zusammenhang mit dem Schädling Zeus. Ebenso wie bei ZeuS wurden auch in SpyEye Spuren der alten Funktionsmethode hinterlassen, um die IT-Sicherheitsexperten in die Irre zu führen. Auch wenn es auf den ersten Blick so scheint, als wenn es nicht Neues gäbe, wurden die Veränderungen bereits umgesetzt. In einigen Versionen von customconnector.dll wird der Inhalt der Konfigurationsdatei für das Plug-In einfach ignoriert, und verwendet werden die Adressen, die direkt in die Bibliothek geschrieben sind. Die Funktion Init() der Bibliothek customconnector.dll fügt Teile der aktuellen Adressen der Steuerungszentren zusammen und arbeitet sofort damit.


Abb. 3: Fragment des Textes in den dll, aus denen die Adressen der Steuerungszentren gezogen werden


Abb. 4: Adressensammlung der Steuerungszentren aus einzelnen Fragmenten


Abb. 5: Tatsächliche Adressen der Botnetz-Steuerungszentralen, on-the-fly in den dll gesammelt

Die Cyberkriminellen beginnen also langsam mit den Möglichkeiten zu spielen, die sich ihnen durch das Plug-In customconnector eröffnen. Bisher ist das Kommunikationsprotokoll noch nicht individualisiert, doch mit seiner Hilfe wurden bereits Adressen von Botnetz-Steuerungszentren vor Trackern und Sicherheitsexperten verborgen. Sicherlich werden die Cyberkriminellen sich nicht darauf beschränken und weiter in diese Richtung vordringen. Doch die Entwicklung neuer Funktionalität kostet Geld. Wollen wir hoffen, dass solche Tricks rechtzeitig aufgedeckt werden, und dass das ständige Einbringen von Veränderungen im Kommunikationsalgorithmus zwischen Bot und Steuerungszentrum sich für die Cyberkriminellen finanziell nicht lohnen wird.

Ähnliche Beiträge

Schreibe einen Kommentar

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