Vor kurzem sind ESETs Forscher auf eine interessante Malware gestoßen, die es auf eine Webseite des polnischen Konsulats abgesehen hat. Um den Zweck der Schadsoftware zu verstehen, muss man sich zunächst den Antragsprozess für ein Visum anschauen.

Alle Weißrussen, die ein polnisches Visum haben möchten, müssen im Internet ein Formular ausfüllen, um einen Termin beim Konsulat zu erhalten. Das Formular muss immer zu bestimmten Tagen eingereicht werden (Anträge für Januar 2015 mussten am 20. Und 21. Dezember eingereicht werden) und die Zahl an verfügbaren Terminen ist begrenzt. Wie man in vielen Forum-Threads lesen kann, ist es offenbar ziemlich schwierig, einen Termin zu bekommen. Aus diesem Grund haben Leute Skripts geschrieben, um den Prozess zu automatisieren. Das hat allerdings dazu geführt, dass es für diejenigen, die das Formular manuell ausgefüllt haben, noch schwieriger war, einen Termin zu bekommen. Um diese Automatisierungsprozesse zu unterbinden, hat das Konsulat auf der Webseite CAPTCHAs hinzugefügt und die Verbindungen zum Server auf polnische und weißrussische IP-Adressen beschränkt.

Der rote Text in der untenstehenden Abbildung kann folgendermaßen übersetzt werden: „Die elektronische Registrierung der Visum-Anträge für die Auslandsvertretung in Minsk, Grodno und Brest ist verfügbar unter: https://by.e-konsulat.gov.pl. Wir möchten Sie darauf hinweisen, dass der Zugang zum Portal https://by.e-konsulat.gov.pl nur mit Computern möglich ist, die eine polnische oder weißrussische IP-Adresse haben.“

MSILAgent.PYO_Botnet1

Offensichtlich hat sich jemand entschieden, noch einen Schritt weiterzugehen und ein Botnet zu schaffen, um die Formulare auszufüllen. Und an dieser Stelle kommen wir zu der Malware, die wir gefunden haben – MSIL/Agent.PYO. Sie besteht aus mehreren Komponenten: einem Downloader (wir haben zwei verschiedene Versionen gefunden, eine in C# geschrieben, die andere in C++), einem Updater und der Hauptkomponente, deren ursprünglicher Name „KonsulatRemoteClient“ lautet.

Die Hauptprogrammdatei ist mit .NET Reactor getarnt, beinhaltet aber auch eingebettete Module, die nicht getarnt sind.

MSILAgent.PYO_Botnet2

Das Schöne an .NET-Programmen ist, dass man sie mit Tools wie JustDecombile, dotpeek oder ILSpy leicht wieder lesbar machen kann, wenn sie ungeschützt sind. Dabei wird eine Programmliste generiert, die der ursprünglichen ziemlich ähnlich ist und Funktions- und Variablennamen beinhaltet.

MSILAgent.PYO_Botnet3

Das Programm war akkurat in verschiedene Module geteilt, was bei der Analyse ebenfalls hilfreich war. So ist beispielsweise der Code für jeden Schritt des Registrierungsprozesses in einer anderen Klasse enthalten.

MSILAgent.PYO_Botnet4

Der Code, der für die Kommunikation mit dem C&C-Server verantwortlich ist, wurde mithilfe von WCF (Windows Communication Foundation) konzipiert. Hierbei handelt es sich um ein Framework, das genutzt wird, um Webdienste zu bauen. Die Hauptprogrammdatei beinhaltete die folgenden Endpunkte:

net.tcp://37.28.153.162:26900/control

net.tcp://37.28.153.162:26900/log

http://37.28.153.162:7425/

Vier Tage vor Freigabe der Registrierung wurde der Downloader von MSIL/Agent.PYO über das Nuclear Exploit Kit verbreitet – ausschließlich auf Rechnern in Weißrussland. Statistiken zu einem bit.ly-Link, der bei der Umleitung genutzt wurde, zeigen, dass innerhalb von ungefähr sechs Tagen mehr als 200.000 Computer zu dem Exploit Kit umgeleitet wurden.

MSILAgent.PYO_Botnet5

Wie erwartet, haben die Bots dann ab dem 21. Und 22. Dezember den Befehl erhalten, die Registrierungsformulare auszufüllen. Offensichtlich hat der Malware-Entwickler zur gleichen Zeit den Botnet-Code aktualisiert, die Versionsnummer hat sich innerhalb der nächsten paar Tage dreimal verändert.

Datum Version
2014-12-20 1.5.24.0
2014-12-20 1.5.25.0
2014-12-22 1.5.29.0
2014-12-29 1.5.31.0

Innerhalb der beiden Tage im Dezember waren rund 300 Computer Teil des Botnets, fast alle davon in Weißrussland lokalisiert. Im Verlauf von fünf Wochen haben sich 925 verschiedene Rechner mit dem Botnet verbunden – eine überraschend große Zahl für ein Botnet mit einem so speziellen Zweck. Die gesammelten Informationen haben wir an CERT-PL und CERT-BY, die Computer Emergency Response Teams für Polen und Weißrussland, weitergegeben.

Analysierte Samples

SHA1 Komponente Wird erkannt als
01baf70db10c506a5ff7629a4a8a30416835769f Downloader Win32/TrojanDownloader.Agent.AZM
3a63b784b900688e55b8925cbead856f62535ada Downloader MSIL/Agent.PYO
80e49d21e314e17c8d99230444f77820c67318cb Updater MSIL/Agent.PYO
254e1ceaa44ce19570a6d4b0812d3b6081a48782 RemoteClient MSIL/Agent.PYO