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.“
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.
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.
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.
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.
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 |