LoudMiner: plattformübergreifender Crypto‑Trojaner in gecrackter VST‑Software | WeLiveSecurity

LoudMiner: plattformübergreifender Crypto‑Trojaner in gecrackter VST‑Software

ESET-Forscher haben einen Crypto-Miner entdeckt, der es auf leistungsstarke Rechner abgesehen hat. Ungewöhnlich: Der Miner versteckt sich in VST-Software.

ESET-Forscher haben einen Crypto-Miner entdeckt, der es auf leistungsstarke Rechner abgesehen hat. Ungewöhnlich: Der Miner versteckt sich in VST-Software.

LoudMiner ist ein ungewöhnlicher Fall eines persistenten Crypto-Miners, der sich, konzipiert für macOS und Windows, seit etwas August 2018 verbreitet. Der Crypto-Trojaner setzt auf Virtualization Software – QEMU bei macOS und VirtualBox bei Windows – um Kryptowährung mit Hilfe von Tiny Core Linux Virtual Machine plattformübergreifend zu schürfen (Mining). LoudMiner hat es insbesondere auf User abgesehen, die auf gecrackte VST-Software aus sind. Der Crypto-Miner selbst basiert auf XMRig (Monero) und greift auf einen Mining-Pool zurück, weswegen es nahezu unmöglich ist, Transaktionen zurück zu verfolgen.

Verbreitung von LoudMiner

Zum Zeitpunkt der Entstehung dieses Artikels gab es 137 VST-Anwendungen (42 für Windows und 95 für macOS). Alle waren auf einer einzelnen WordPress-Webseite verfügbar, deren Domain man am 24. August 2018 registrierte. Am selben Tag wurde auch die erste VST-App für Windows hochgeladen. Dabei handelte es sich um Native Instruments Kontakt 5.7. Die Größe der Anwendungen lässt eine effiziente Analyse nicht zu. Man kann aber davon ausgehen, dass alle gecrackten VST-Anwendungen den Crypto-Trojaner beinhalten.

Die VST-Software wird selbst nicht auf WordPress gehostet, sondern von 29 externen Servern bereitgestellt (näheres unter IoC). Die Webseite-Admins aktualisierten die VST-Apps regelmäßig auf neuere Versionen, so dass sich die erste Version des Crypto-Miners kaum feststellen lässt.

Der plattformübergreifende LoudMiner zielt ganz offensichtlich auf Computer ab, die bei Audio-Produktionen zum Einsatz kommen. Hier finden sich oft Geräte mit guter Rechenleistung. Die hohe CPU-Auslastung überrascht die User genauso wenig, wie die großen Dateigrößen der komplexen VST-Softwares. Den Cyberangreifern spielt das natürlich in die Karten, denn so können sie den LoudMiner Crypto-Trojaner gut in den VM Images verstecken. Die Entscheidung, auf Virtuelle Maschinen, anstatt auf schlankere Lösungen zu setzen, ist bemerkenswert. Das sieht man nicht alle Tage.

Es folgen ein paar Beispiele kompromittierter VST-Software sowie einige Kommentare, die auf der WordPress-Webseite hinterlassen wurden:

  • Propellerhead Reason
  • Ableton Live
  • Sylenth1
  • Nexus
  • Reaktor 6
  • AutoTune
Abbildung 1: Kommentar #1 von "admin"

Abbildung 1: Kommentar #1 von „admin“

Abbildung 2: Kommentar #2 von "admin"

Abbildung 2: Kommentar #2 von „admin“

Berichte von Usern über LoudMiner

In mehreren Foren wurde sich über die CPU-Beanspruchung von 100% auf Mac-Rechnern, verursacht durch qeumu-system-x86_64, beschwert:

Abbildung 3: Benutzerbericht #1 (https://discussions.apple.com/thread/250064603)

Abbildung 3: Benutzerbericht #1 (https://discussions.apple.com/thread/250064603)

Abbildung 4: Benutzerbericht #2 (https://toster.ru/q/608325)

Abbildung 4: Benutzerbericht #2 (https://toster.ru/q/608325)

Ein User namens „Macloni“ (https://discussions.apple.com/thread/8602989) sagte das Folgende (Übersetzung):

„Leider musste ich OSX neu installieren. Ich hatte Ableton Live 10 von einer Torrent-Seite heruntergeladen, anstatt von der offiziellen.  Damit installierte ich mir auch den Crypto-Miner, der dann im Hintergrund agierte.“

Der Mac-User fügte auch einen Screenshot des Aktivitätenmonitors an. Darauf ist zu erkennen, dass zwei Prozesse – qemu-system-x86_64 und tools-service – 25% der CPU-Ressourcen beanspruchen und root-Rechte besitzen.

Analyse der VST-Raubkopien

Die Analyse der mit dem Crypto-Trojaner LoudMiner kompromittierten VST-Softwares ergab unter macOS und Windows grundlegend dasselbe:

  1. Eine VST-Anwendung wird mit einer Virtualization Software, einem Linux Image und zusätzliche Dateien (Stichwort Persistenz) gebündelt.
  2. Die User laden die Anwendung herunter und folgen der Installationsanweisung.
  3. LoudMiner wird zuerst installiert, die eigentliche VST-Software erst danach.
  4. LoudMiner versteckt sich im Computer-System und erlangt Persistenz nach einem Neustart.
  5. Sobald die Linux VM startet, beginnt der Crypto-Miner zu schürfen.
  6. Scripte innerhalb der VM sorgen für den Kontakt zum C&C-Server, um den Crypto-Miner Up-to-Date zu halten (Konfiguration und Binaries)

Während der Untersuchung der verschiedenen VSTs entdeckten wir vier Versionen des Crypto-Miners. Der Unterschied liegt in der Art und Weise, wie der Miner mit der Software verknüpft wurde, oder wie die C&C-Server-Domain und die Versionsnummer lauten.

macOS LoudMiner Malware

Wir identifizierten bisher drei macOS-Versionen der Malware. Alle enthalten zusätzliche Software-Pakete (in installerdata.dmg beinhaltet), um QEMU auszuführen. Von installerdata.dmg aus werden Dateien nach  /usr/local/bin kopiert und mit entsprechenden Rechten ausgestattet. Jede Version des Miners kann zwei Images gleichzeitig ausführen. Jedes beansprucht dafür 128 MB RAM und einen CPU-Core. Die Persistent wird durch das Hinzufügen von plist-Dateien in /Library/LaunchDaemons mithilfe von RunAtLoad (Wert = true) erreicht. Außerdem besitzt KeepAlive den Wert true, damit der Prozess nach einem Stillstand wiederaufgenommen wird. Jede Version beinhaltet folgende Komponente:

  • QEMU Linux Images
  • Shell Script, um die QEMU Images zu laden
  • Daemons, um die Shell Scripts beim Start zu laden und am Laufen zu halten
  • Ein CPU Monitor Shell Script mit zugehörigem Daemon, damit das Crypto-Mining je nach CPU-Auslastung gestartet bzw. gestoppt werden kann. Auch abhängig vom Activity Monitor

Das CPU Monitor Script kann den Mining-Prozess starten und stoppen, indem der Daemon geladen bzw. ausgeschaltet wird. Läuft der Activity Process, stoppt das Crypto-Mining. Ansonsten überprüft dieser, wie lange (in Sekunden) sich das System bereits im Leerlauf befindet.

Wenn die Leerlauf-Zeit mehr als zwei Minuten beträgt, startet das Crypto-Mining. Bei weniger als zwei Minuten wird die totale CPU-Auslastung überprüft…

… und durch die Anzahl der CPU-Cores geteilt:

Eine höhere CPU-Auslastung als 85% stoppt das Mining. Das dafür zuständige Script unterscheidet sich je nach Version von den anderen. Die zugrunde liegende Idee bleibt allerdings dieselbe.

Nach der Installation werden alle mit dem Crypto-Miner in Verbindung stehenden Installationsdateien automatisch vom System gelöscht.

Abbildung 5: Installation von Polyverse.Music.Manipulator.v1.0.1.macOS.dmg

Abbildung 5: Installation von Polyverse.Music.Manipulator.v1.0.1.macOS.dmg

Abbildung 6: Polyverse.Music.Manipulator.v1.0.1.macOS.dmg Setup-Anweisungen

Abbildung 6: Polyverse.Music.Manipulator.v1.0.1.macOS.dmg Setup-Anweisungen

Die ausführliche Analyse zu macOS Crypto-Miner Version 1 – 3 ist in der englischen Version des Beitrags zu finden: https://www.welivesecurity.com/2019/06/20/loudminer-mining-cracked-vst-software/

Windows (Version 4)

Aus den Anwendungen extrahierten Strings konnten wir nur eine Version bestimmen, die auf Windows-Systeme abzielt. Die grundlegende Idee gleicht den macOS Crypro-Miner-Versionen. Jede Windows-Anwendung ist als MSI-Installer verpackt. Dieser installiert die gecrackte VST-Software und die Treiber für VirtualBox – wie in Abbildung 7 dargestellt.

Abbildung 7: "Vertrauen Sie dieser Anwendung?"-Popup, vor Installation der VirtualBox-Treiber

Abbildung 7: „Vertrauen Sie dieser Anwendung?“-Popup, vor Installation der VirtualBox-Treiber

VirtualBox wird unter dem üblichen Dateipfad installiert (C:\Program Files\Oracle). Allerdings trägt der Pfad das Attribut hidden – Der Ordner wird also ausgeblendet. Dann kopiert der Installer das Linux Image und VBoxVmService (Ein Windows-Dienst, mit dem eine VirtualBox-Machine als Dienst ausgeführt wird) nach C:\vms – ebenfalls mit dem hidden-Attribut versehen. Nach dem die Installation abgeschlossen ist, wird ein Batch-Script (mit Hilfe von BAT2EXE kompiliert) ausgeführt, um das Linux Image zu importieren und VmServiceControl.exe zu starten, damit die Virtual Machine den Dienst aufnehmen kann.

Abbildung 8: Batch-Script, welches die Linux VM als Dienst startet.

Diese Methode wird verwendet, um die Persistenz des Crypto-Miners nach einem Neustart sicherzustellen. VboxVmService wird mit einer Konfigurationsdatei geliefert (siehe Abbildung 9), in der es möglich ist, die AutoStart-Option zu aktivieren, damit die VM beim Start automatisch startet.

Abbildung 9: Konfigurationsdatei für VBoxVmService mit aktiviertem AutoStart

Die im Linux-Image enthaltene OVF-Datei beschreibt die Hardwarekonfiguration der VM (siehe Abbildung 10): Es werden 1 GB RAM und 2 CPU-Kerne (bei einer maximalen Auslastung von 90%) beansprucht.

Abbildung 10: Hardware-Konfiguration des Linux-Images

Das Linux Image des LoudMiner Crypro-Miners

Das Linux Image Tiny Core Linux 9.0 wurde modifiziert, um XMRig sowie einige andere Dateien und Scripte ausführen zu können. Die interessantesten Dateien sind:

  • /root/.ssh/{id_rsa, id_rsa.pub} – Der SSH-Pair-Schlüssel, mit dem der Crypto-Miner mithilfe von SCP durch den C&C-Server aktualisiert wird.
  • /opt/{bootsync.sh, bootlocal.sh} – Die Systemstartbefehle, mit denen versucht wird, den Miner vom C&C-Server aus zu aktualisieren und auszuführen (siehe Abbildungen 11 und 12).

Abbildung 11: bootsync.sh

Abbildung 12: bootlocal.sh

  • /mnt/sda1/tools/bin – Hauptdateien und Scripte, die zum Aktualisieren und Ausführen des Miners verwendet werden.
  • /mnt/sda1/tools/xmrig – enthält den Quellcode von XMRig (aus dem GitHub-Repository).

Die Konfiguration des Crypto-Miners LoudMiner ist in /mnt/sda1/tools/bin/config.json gespeichert und enthält hauptsächlich den Domain-Name und den für den Mining-Pool verwendeten Port, der je nach Version unterschiedlich sein kann (siehe Beispiele im Abschnitt „IoCs“).

Der Update-Mechanismus wird über SCP (Secure File Copy) mithilfe drei verschiedener Scripte ausgeführt:

  • xmrig_update – aktualisiert die Konfiguration des Crypto-Miners (config.json);
  • ccommand – aktualisiert ccommand_update, xmrig_update (siehe Abbildung 13), sh, xmrig;
  • ccommand_update – aktualisiert ccommand;

Nach unseren Analysen ändert sich die Crypto-Miner-Konfiguration einmal täglich.

Abbildung 13: xmrig_update

Um eine bestimmte Mining-Session zu identifizieren, wird vom idgenerator-Script eine Datei erstellt, welche die IP-Adresse des Computers und das Datum des Tages enthält. Der Output wird vom updater.sh-Script an den C&C-Server gesendet.

Wie schützt man sich vor Crypto-Minern?

Ganz offensichtlich ist es das Beste, keine Raubkopien kommerzieller Software herunterzuladen und zu installieren. Einige Hinweise deuten jedoch an, wenn Anwendungen unerwünschten Code enthalten:

  • „Vertrauen Sie dieser Anwendung?“-Popup erscheint. Software möchte zusätzliche Software installieren.
  • Hohe CPU-Auslastung durch einen Prozess, den man nicht installierte (in diesem Fall QEMU bzw. VirtualBox)
  • Im Startup bzw Launch Daemon befinden sich neue Prozesse
  • Aufgebaute Netzwerkverbindungen zu seltsamen Domains (wie bspw. system-update[.]info oder system-check[.]services)

Indicators of Compromise (IoCs)

Hashes

macOS “cracked” applications (versions 1-3)

SHA-1FilenameESET detection nameVersion number
71030028c4e1b844c85138bd77ddea96a190ec2cVirtual_DJ_8_Pro_Infinity_macOS.pkgOSX/LoudMiner.A1
32c80edcec4f7bb3b494e8949c6f2014b7f5db65Native Instruments Massive Installer.pkgOSX/LoudMiner.A1
7dc9f8ca07cd8e0247cf15cd8d2da2190a02fc90Massive_v1.5.5_Installer_macOS.dmgOSX/LoudMiner.B2
0b40bd0754637d5be2ada760ff0ecfda7afe03d7Native_Instruments_Effects_Series_Mod_Pack.dmgOSX/LoudMiner.B2
88efc767a32299e922f1b41f82c8d584585e2161Spectrasonics_Omnisphere_2.5_OSx.dmgOSX/LoudMiner.C3
e9c9d17d006fb03d67b736c0826df0af8ca6d5fdLennar_Digital_Sylenth1_2.2.1.dmgOSX/LoudMiner.C3

Windows “cracked” applications (version 4)

SHA-1FilenameESET detection name
23faacfc23cfef65504d7fa20854030b96a9df91Ableton.Live.Suite.10.0.6.Multilingual.x64.WIN.zipWin32/LoudMiner.A
5a8682eae69b2e11d45980941a972bd734630207Infected-Mushroom-Manipulator-V1.0.3.zipWin32/LoudMiner.A
60a8f1d4a028153271093e815e8267bd25fde852Sonic_Academy_ANA_2.0.3_x86_x64.msiWin32/LoudMiner.A
7c7876058783da85d5502b9406f7fb4d26f66238SoundToys_5.0.1_x64-SetupFiles.rarWin32/LoudMiner.A
a1a1dc7876d71749a8bc5690c537451770ef4ab8Valhalla-DSP-Full-Bundle-setupfiles.zipWin32/LoudMiner.A

Linux images

SHA-1FilenameVersion number
dd9b89a3c5a88fb679f098e2c2847d22350e23b1sys00_1-disk001.qcow21
d1e42e913da308812dd8da1601531b197c1a09a1sys00_1-disk001.qcow21
39a7e86368f0e68a86cce975fd9d8c254a86ed93z1.qcow2 (renamed with a randomized name)2
59026ffa1aa7b60e5058a0795906d107170b9e0fz1.qcow2 (renamed with a randomized name)3
fcf5c3b560295ee330b97424b7354fd321757cc6sys00_1.ova4
fc60431a0172d5b8cf4b34866567656467cf861csys00_1.ova4

Filenames

macOS

  • /Library/Application Support/.Qemusys
  • /Library/Application Support/.System-Monitor
  • /usr/local/bin/{.Tools-Service, cpumonitor, system-monitor, tools-service}
  • /Library/LaunchDaemons/{com.buildtools.system-monitor.plist, com.buildtools.tools-service.plist, com.modulesys.qemuservice.plist, com.systools.cpumonitor.plist}

Windows

  • C:\vms

Hostnames

vstcrack[.]com (137[.]74.151.144)

Download hosts (via HTTP on port 80)

  • 185[.]112.156.163
  • 185[.]112.156.29
  • 185[.]112.156.70
  • 185[.]112.157.102
  • 185[.]112.157.103
  • 185[.]112.157.105
  • 185[.]112.157.12
  • 185[.]112.157.181
  • 185[.]112.157.213
  • 185[.]112.157.24
  • 185[.]112.157.38
  • 185[.]112.157.49
  • 185[.]112.157.53
  • 185[.]112.157.65
  • 185[.]112.157.72
  • 185[.]112.157.79
  • 185[.]112.157.85
  • 185[.]112.157.99
  • 185[.]112.158.112
  • 185[.]112.158.133
  • 185[.]112.158.186
  • 185[.]112.158.190
  • 185[.]112.158.20
  • 185[.]112.158.3
  • 185[.]112.158.96
  • d-d[.]host (185[.]112.158.44)
  • d-d[.]live (185[.]112.156.227)
  • d-d[.]space (185[.]112.157.79)
  • m-m[.]icu (185[.]112.157.118)

Update hosts (via SCP)

  • aly001[.]hopto.org (192[.]210.200.87, port 22)
  • system-update[.]is (145[.]249.104.109, port 5100)

Mining hosts

  • system-update[.]info (185[.]193.126.114, port 443 or 8080)
  • system-check[.]services (82[.]221.139.161, port 8080)

MITRE ATT&CK techniques

TacticIDNameDescription
ExecutionT1035Service ExecutionOn Windows, the Linux image is run as a service with VboxVmService.
PersistenceT1050New ServiceInstall the Linux virtual machine as a service with VboxVmService.
T1062HypervisorInstall a type-2 hypervisor on the host (VirtualBox or QEMU) to run the miner.
T1160Launch DaemonThe macOS versions use a Launch Daemon to ensure the persistence.
Defense EvasionT1027Obfuscated Files or InformationSome shell scripts are obfuscated, and some installers are encrypted in macOS versions.
T1045Software PackingUse BAT2EXE to pack batch script in Windows versions.
T1158Hidden Files and DirectoriesThe VirtualBox installation folder and the directory containing the Linux image are hidden.
Command and ControlT1043Commonly Used PortUse TCP ports 443 and 8080 for mining pool communication.
T1105Remote File CopyUse SCP (port 22 or 5100) to copy files from/to the C&C server.
ImpactT1496Resource HijackingUse victim machines to mine cryptocurrency (Monero).
und

Hier können Sie mitdiskutieren