Unter grundlegenden Sicherheitstipps von Sicherheitsexperten findet sich auch immer wieder der Hinweis, dass Anwendungen und Software im Allgemeinen nur von vertrauenswürdigen Quellen bezogen werden sollten. Manchmal kann allerdings selbst dieser Tipp nicht vor Malware schützen. Wir haben drei mit Trojanern kompromittierte Anwendungen auf download.cnet.com gefunden. Dabei zählt die Webseite zu den meistbekannten Software-Hostern mit einem beachtlichen Alexa Rank von 136.
Der User Crawsh vom /r/monero Subreddit war einer der Malware-Betroffenen. Allerdings endete das Ganze für ihn glimpflich.
Er bemerkte, dass etwas nicht stimmte. Als er wie schon so oft seine Monero-Adresse in ein Feld versuchte hineinzukopieren, erschien die Fehlermeldung, dass der Vorgang ungültig sei. Der erfahrene User vermutete sofort eine Malware dahinter – und er sollte Recht behalten. Seine Untersuchungen belegten den Anfangsverdacht. Seine in der Zwischenablage befindliche Monero-Wallet-Adresse wurde von der Malware abgefangen und durch eine hardcodierte Bitcoin-Adresse ersetzt. Crawsh hatte das Glück, dass das Feld eine Monero-Adresse verlangte und die Bitcoin-Adresse so natürlich eine Ungültigkeit hervorrief.
Leider galt das nicht für viele andere Opfer, dessen Rechner die gleiche Malware kompromittierte. Bis einschließlich 13. März 2018 sammelten die Malware-Entwickler mit ihrer Masche etwa 8,8 BTC ein – das entsprach zu diesem Zeitpunkt rund 80.000 US-Dollar.
Mit Hilfe der Google-Suchmaschine erfuhren wir von anderen Opfern. In einem Blogbeitrag berichtete jemand über einen Website-Hack (der nicht im Zusammenhang mit der hier untersuchten Malware steht).
Im Blogpost wurde die originäre Bitcoin-Adresse durch die der Malware-Entwickler ersetzt, wie im zweiten Bild zu erkennen. Wir vermuten, dass auch der Autor des Blogposts durch den Bitcoin Stealer kompromittiert wurde.
Verbreitung der Bitcoin stehlenden Malware
Die ESET-Sicherheitsexperten haben herausgefunden, dass die Quelle der Kompromittierung in einer mit einem Trojaner ausgestatteten Anwendung namens Win32 Disk Imager lag. Diese hostete download.cnet.com seit dem 2. Mai 2016.
ESET Antivirenprogramme erkennen den Trojaner als Variante von MSIL/TrojanDropper.Agent.DQJ – Das Programm wurde vor zwei Wochen über 300-mal heruntergeladen und wies über 4500 gesamte Downloads auf.
Während der Untersuchungen fiel auf, dass Win32 Disk Imager nicht die einzige mit einem Trojaner verseuchte Anwendung ist. Uns sind mindestens zwei weitere Anwendungen derselben Malware-Entwickler bekannt.
Bei der ersten handelt es sich um das Programm CodeBlocks, welches bereits von CNET geblockt ist. Es enthält die gleiche MSIL/ClipBanker.DF Payload. CodeBlocks ist ein populäres Open Source IDE (Integrated Development Environment), das von vielen C++/C-Entwicklern benutzt wird.
Die andere Anwendung trägt den Namen MinGW-w64 und konnte zu Beginn unserer Untersuchungen noch heruntergeladen werden. Diese enthält gleich mehrere schädliche Payloads inklusive des Bitcoin Stealers und einem Virus. MinGW ist im Grunde genommen ein Port für GCC (GNU Compiler Collection) der Windows-Plattform.
Der folgenden Tabelle kann man einige interessante Werte entnehmen. Die Anzahl der CodeBlocks-Downloads ist beispielsweise „0“, da CNET bereits eingeschritten ist. Wir können nicht den exakten Zeitpunkt der Entfernung der Anwendung bestimmen, aber laut unseren Telemetrie-Daten müsste das etwa um März 2017 geschehen sein.
CNET hat nach einem Hinweis durch ESET umgehend reagiert und die Trojaner verseuchten Anwendungen von der Webseite genommen.
Analyse der Bitcoin stehlenden Malware
Trojanized Dropper (MSIL/TrojanDropper.Agent.DQJ)
Bei der ersten Stufe der Malware handelt es sich um einen sehr einfachen Dropper, der die Anwendung (Win32 Disk Imager, CodeBlocks, MinGw) entpackt, die der Anwender eigentlich installieren möchte. Allerdings setzt der Dropper im System der Opfer auch noch den schädlichen Payload ab. Beides wird im %temp%-Ordner gespeichert und ausgeführt.
Bitcoin Stealer – Malware macht sich Zwischenablage zunutze
MSIL/ClipBanker.DF
Wie bereits der Dropper ist auch die Payload recht simpel gehalten. Das Programm kopiert sich selbst in den %appdata%\Dibifu_8\go.exe-Pfad und legt einen Registry-Eintrag an, um Persistenz im System zu erlangen.
Das Ersetzen der Bitcoin-Adresse in der Zwischenablage wird durch einen einfachen vier-zeiligen Code realisiert, wie oben zu sehen. Dieser sucht mit Hilfe von regex nach Bitcoin-Adressen, um diese mit der hardcodierten Wallet-Adresse der Malware-Entwickler (1BQZKqdp2CV3QV5nUEsqSg1ygegLmqRygj) zu ersetzen.
Die Angreifer versuchen nicht wirklich ihre Absichten zu verschleiern, da selbst der Debug Symbol Pfad vom Dropper und der Payload das Vorhaben verrät. Wir glauben, dass „SF to CNET“ SourceForce to CNET bedeutet, da alle drei Anwendungen ihre sauberen Instanzen im Quellcode-Speicher haben:
C:\Users\Ngcuka\Documents\V\SF to CNET\Btc Clipboard Rig\WindowsFormsApplication1\obj\x86\Release\WindowsFormsApplication1.pdb
Darüber hinaus finden sich noch verschiedene andere Indikatoren einer Kompromittierung, nach welchen die Opfer suchen können. Beispielsweise sind die Payload und das Trojaner-Paket unter y3_temp008.exe bzw. Win32DiskImage_0_9_5_install.exe im temporären Verzeichnis zu finden.
Win32/ClipBanker.DY
Diese Payload wird von der Trojaner verseuchten Version von MinGW-w64 im System des Opfers abgeladen. Diese durchaus raffiniertere Variante verwendet ähnliche reguläre Ausdrücke für die Wallet-Suche.
Darüber hinaus enthält Win32/ClipBanker.DY zusätzliche schädliche Komponenten, die in den Ressourcen zusammen mit ungefähr 3500 Bitcoin-Adressen der Angreifer verschlüsselt vorliegen. Basierend auf den ersten drei Zeichen soll eine ähnliche Bitcoin-Adresse die eigentliche Adresse des Opfers ersetzen (abgeschnitten im Bild).
Dieser Bitcoin Stealer bringt zusätzliche Nutzlast mit sich, welche PDB-Pfade benutzen. Einer dieser Pfade lautet: C:\Users\Ngcuka\Documents\V\Flash Spreader\obj\x86\Release\MainV.pdb Der Username ist mit dem aus dem Pfad des ersten Bitcoin Stealers weiter oben identisch. Aus diesem Grund gehen wir davon aus, dass alle analysierten Malware-Samples von den gleichen Malware-Entwicklern stammen.
Wie säubere ich ein kompromittiertes System?
- Löschen Sie die heruntergeladenen Installer win32diskimager.exe (SHA1: 0B1F49656DC5E4097441B04731DDDD02D4617566) bzw. codeblocks.exe (SHA1: 7242AE29D2B5678C1429F57176DDEBA2679EF6EB) bzw. mingw-w64-install.exe (SHA1: 590D0B13B6C8A7E39558D45DFEC4BDE3BBF24918) aus dem Download-Ordner.
- Entfernen Sie die .exe aus dem %appdata%\dibifu_8\ Ordner (SHA1: E0BB415E858C379A859B8454BC9BA2370E239266)
- Entfernen Sie y3_temp008.exe aus dem %temp%\ Ordner (SHA1: 3AF17CDEBFE52B7064A0D8337CAE91ABE9B7E4E3, bzw. C758F832935A30A865274AA683957B8CBC65DFDE)
- Löschen Sie den ScdBcd Registry-Wert aus dem Schlüssel: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Im Verlauf unserer Untersuchung haben wir CNET informiert und sie haben die Trojaner verseuchten Anwendungen schnell von ihrer Website entfernt und zusätzliche Kompromittierungen verhindert.
Wenn Sie den Verdacht haben, dass Sie kompromittiert sein könnten, installieren Sie ein vertrauenswürdiges Antivirenprogramm, was Malware automatisch erkennt und entfernt. Der beste Ratschlag gegen den Angriff auf die Zwischenablage besteht darin, kopierte Bitcoin-Adressen bei Transaktionen vorher noch einmal zu überprüfen.
IoCs:
Betroffene Anwendungen:
win32diskimager.exe | 0B1F49656DC5E4097441B04731DDDD02D4617566 | MSIL/TrojanDropper.Agent.DQJ trojan |
---|---|---|
codeblocks.exe | 7242AE29D2B5678C1429F57176DDEBA2679EF6EB | MSIL/ClipBanker.EY trojan |
mingw-w64-install.exe | 590D0B13B6C8A7E39558D45DFEC4BDE3BBF24918 | MSIL/TrojanDropper.Agent.DQJ trojan |
ClipBankers:
mingw-w64 payload #1 | BE33BDFD9151D0BC897EE0739F1137A32E4437D9 | Win32/ClipBanker.DY trojan |
---|---|---|
mingw-w64 payload #2 | 2EABFFA385080A231156420F9F663DC237A9843B | Win32/ClipBanker.DY trojan |
mingw-w64 payload #3 | 7B1E9A6E8AF6D24D13F6C561399584BFBAF6A2B5 | Win32/ClipBanker.DY trojan |
codeblocks.exe payload | E65AE5D0CE1F675962031F16A978F582CC67D3D5 | MSIL/ClipBanker.AB trojan |
win32diskimager.exe payload | E0BB415E858C379A859B8454BC9BA2370E239266 | MSIL/ClipBanker.DF trojan |
Vielen Dank auch an Matthieu Faou, Alexis Dorais-Joncas, David Jagoš, Robert Šuman, Vladislav Straka von ESET und dem Reddit-User Crawsh für ihre Analysen.