Kodi‑Addons verantwortlich für Crypto‑Mining Kampagne

  • Welivesecurity.comby ESET


    Kodi‑Addons verantwortlich für Crypto‑Mining Kampagne

    Durch Malware im XvMBC Repository verbreitete sich ein Crypto-Miner auf vielen Kodi-Systemen. Unter anderem sind die USA, Großbritannien und die Niederlande betroffen.

    Wer die Open Source Home-Theater Software „Kodi“ kennt, wird vielleicht bemerkt haben, dass die populäre Third-Party Addon Repository XvBMC-NL wegen Urheberrechtsverletzungen abgeschaltet wurde. Im Nachgang stellten wir nun fest, dass die Repository Teil einer bis zum Dezember zurückreichenden Crypto-Mining Kampagne war. Das ist der zweite öffentlich bekannte Fall, bei dem Cyberkriminelle Malware im größeren Maßstab durch Kodi-Addons verbreiteten. Außerdem ist es die uns erste öffentliche bekannte Crypto-Mining Kampagne, welche via Kodi-Plattform ausgespielt wird. Interessanterweise visierten die Malware-Entwickler nur Kodi-Fans mit Linux- oder Windows-Betriebssystemen an.

    Für diejenigen, die Kodi nicht kennen: Die beliebte Media Player Software bietet selbst keine Inhalte an, lässt sich aber durch Addons erweitern, über die auf Videos oder Musik zugegriffen werden kann. Die Erweiterungen erhält der User über die offizielle Kodi-Repository oder via zahlreicher Drittanbieter. Einige Third-Party Addons lassen den Benutzer auch auf Raubkopien zugreifen, weswegen Kodi kontrovers diskutiert wird.

    Copyright-verletzenden Addons wurde bereits nachgesagt, die Kodi-User diverser Malware auszusetzen. Aber abgesehen von einem Vorfall, bei dem sich in einer Erweiterung ein DDoS-Modul befand, konnten bisher keine Beweise für Kodi Malware-Addons erbracht werden – bis jetzt!

    Die Kodi Crypto-Mining Kampagne

    Unserem Research nach zu urteilen, fügte man die von uns gefundene Malware im XvMBC Repository erst im Dezember 2017 bzw. Januar 2018 zu den populären Third-Party Addon-Repositories Bubbles und Gaia hinzu. Durch diese beiden Quellen sowie durch Update-Routinen unwissender User von Drittanbieter Addon-Repositories und vorgefertigten Kodi-Builds verbreitete sich die Malware auf vielen verschiedenen Kodi-Systemen.

    Die Malware besitzt eine mehrstufige Architektur und ergreift Maßnahmen, um sicherzustellen, dass der finale Payload – also der Crypto-Miner – nicht einfach mit dem Addon in Verbindung zu bringen ist. Der Crypto-Miner läuft unter Windows und Linux und schürft die Kryptowährung Monero (XMR). Wir sind keiner auf Android- oder MacOS-Geräte abzielende Version begegnet.

    Die Opfer der Crypto-Miner Kampagne kompromittierten sich mit der Malware wahrscheinlich über einen der drei Wege:

    • Sie fügten ihrer Kodi-Installation eine URL eines schädlichen Repositories hinzu, um einige Addons herunterzuladen. Das schädliche Addon wurde installiert, als sie ihre Kodi-Addons aktualisieren.
    • Sie installierten ein vorgefertigtes Kodi-Build, das die URL eines schädlichen Repositories enthielt. Das schädliche Addon wurde installiert, als sie ihre Kodi-Addons aktualisieren.
    • Sie installierten ein vorgefertigtes Kodi-Build, das ein schädliches Addon, aber keine Verbindung zu einem Repository für Updates enthielt. Sie waren zunächst kompromittiert, erhielten jedoch keine weiteren Updates für das schädliche Addon. War der Crypto-Miner jedoch bereits installiert, blieb er und erhielt Updates.

    Laut den Telemetrie-Daten von ESET sind die fünf größten von dieser Bedrohung betroffenen Länder die Vereinigten Staaten, Israel, Griechenland, das Vereinigte Königreich und die Niederlande. Das ist nicht verwunderlich, gelten sie doch als die Länder mit dem höchsten Traffic-Aufkommen – laut einer Statistik der Unofficial Kodi Addon Community.

    Eine andere Erklärung für die geografische Verteilung bilden die länderspezifischen Kodi-Builds, welche die bösartigen Repositories enthalten. Es könnte sich aber auch um schädliche Repositories handeln, die in den verschiedenen Ländern unterschiedlich stark nachgefragt wurde – wie beispielsweise die niederländische XvBMC.

    Verteilung von ESET-Erkennungen des Crypto-Miners

    Abbildung 1: Verteilung von ESET-Erkennungen des Crypto-Miners

    Zum jetzigen Zeitpunkt sind die Repositories, von denen aus die Malware zuerst verbreitet wurde, entweder nicht mehr funktionstüchtig (Bubbles) oder sie verbreiten den bösartigen Code nicht mehr (Gaia). Allerdings sind unwissende Opfer, die sich den Crypto-Miner auf ihren Geräten installierten, wohl noch betroffen. Darüber hinaus ist die Malware nach wie vor auch in anderen Repositories und einigen vorgefertigten Kodi-Builds vorhanden – höchstwahrscheinlich ohne das Wissen ihrer Entwickler.

    Zeitachse der Crypto-Mining Kampagne

    Abbildung 2: Zeitachse der Crypto-Mining Kampagne

    Technische Analyse der Crypto-Mining Kampagne

    Wie funktioniert die Malware?

    Nachdem die Opfer das schädliche Repository zu ihrer Kodi-Installation hinzugefügt haben, bietet das bösartige Repository ein Addon namens script.module.simplejson an – ein Name, der dem eines legitimen Addons gleicht und das wiederum von vielen anderen Addons verwendet wird. Während andere Repositories nur das script.module.simplejson in Addon-Version 3.4.0 ausgeben, stellt die schädliche Repository das Addon in der Versions 3.4.1 bereit.

    Da Kodi zur Aktualisierungserkennung auf Versionsnummern angewiesen ist, erhalten alle Benutzer mit der aktivierten Funktion „Automatische Aktualisierung“ (allgemeine Standardeinstellung) automatisch die Datei script.module.simplejson in Version 3.4.1 aus dem schädlichen Repository.

    Der einzige Abschnitt, der in Version 3.4.1 gegenüber Version 3.4.0 geändert wurde, besteht aus Metadaten. Die addon.xml– Datei enthält eine zusätzliche <requires> -Zeile:

    Kodi_extra.png

    Diese Zeile weist Kodi an, ein Addon namens script.module.python.requests der Version 2.16.0 oder höher herunterzuladen und zu installieren. Das Addon script.module.python.requests wird aber nur vom schädlichen Repository bereitgestellt. Es ist eine Modifikation – des sonst eigentlich legitimen Addons script.module.requests – welche zusätzlichen, schädlichen Python-Code enthält.

    Dieser Python-Code lädt eine Windows- oder Linux-Binärdatei herunter und führt diese aus. Die ausführbare Datei ist ein Downloader, der die endgültige Payload – den eigentlichen Crypto-Miner – abruft und startet. Wenn die Installation des Crypto-Miners erfolgreich war, initiiert der Python-Code die Selbstlöschung.

    Das Ausführungsmodell der Malware

    Abbildung 3: Das Ausführungsmodell der Malware

    Der Python-Code

    In dem hier analysierten Sample befindet sich der verschleierte bösartige Code in der Datei script.module.python.requests\lib\requests\packages\urllib3\connectionpool.py (Zeilen 846-862).

    Verschleierter bösartiger Code in connectionpool.py

    Abbildung 4: Verschleierter bösartiger Code in connectionpool.py

    Wenn der Code entschleiert und kommentiert wird, ist er viel besser lesbar – wie in Abbildung 5 zu sehen:

    Bösartiger Code nach Entschleierung (Kommentare vom ESET-Forscher hinzugefügt)

    Abbildung 5: Bösartiger Code nach Entschleierung (Kommentare vom ESET-Forscher hinzugefügt)

    Der Code ist eindeutig von jemandem geschrieben, der Kodi und die Addon-Architektur gut kennt. Das Skript registriert, auf welchem Betriebssystem es ausgeführt wird (nur Windows und Linux werden unterstützt, Android und macOS ignoriert) und stellt eine Verbindung zum C&C-Server her. Dann lädt es ein für das Betriebssystem geeignetes Downloader-Modul herunter und führt es aus.

    Die Windows-Binärdatei wird in C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\TrustedInstaller.exe geschrieben. Das Linux-Pedant nach /tmp/systems/systemd.

    Nach dem Abrufen und Ausführen des binären Downloader-Moduls vollzieht das Python-Skript – hier connectionpool.py – die Selbstlöschung. Auf Abbildung 4 zurückblickend, sehen wir, dass der bösartige Code mit den speziellen Markierungen # – + – und # -_- # umklammert ist. Der Code, der nach erfolgreicher Ausführung des binären Downloaders ausgeführt wird, öffnet die Python-Datei, findet die speziellen Markierungen und löscht sie und alles dazwischen. Die bereinigte Python-Datei wird dann gespeichert. Aus diesem Grund kann die Crypto-Miner Installation nicht einfach auf das Kodi-Addon zurückgeführt werden.

    Zeilen der Selbstlöschung (Kommentar vom Forschenden)

    Abbildung 6: Zeilen der Selbstlöschung (Kommentar vom Forschenden)

    Die ausführbare Crypto-Miner Datei

    Das vom Python-Code abgerufene Downloader-Modul (64-Bit-EXE für Windows, 64-Bit-ELF-Datei für Linux) enthält eine verschlüsselte Crypto-Miner-Konfiguration sowie Download-Links für die Payload der zweiten Stufe – also die eigentlichen Crypto-Miner-Binärdateien.

    Die binären Downloader schaffen den Betriebssystem-geeigneten Payload der zweiten Stufe (Crypto-Miner-Binärdateien für verschiedene GPUs und ein böswilliges Launcher-/ Update-Modul) in passwortgeschützten ZIP-Dateien herbei. Diese Binärdateien sind für 64-Bit-Windows und 64-Bit-Linux kompiliert und basieren auf der Open Source Crypto-Mining Software XMRStak.

    Die Konfiguration für den Crypto-Miner lautet wie folgt:

    {„monero“:{„default“:{„wallet“:“49WAk6TaCMX3HXN22nWPQAfBjP4J3ReUKg9tu3FoiPugcJs3fsnAvyGdrC41HZ4N6jcHEiwEGvH7z4Sn41PoZtLABFAVjm3″

    ,“password“:““,“name“:““,“email“:““,“weight“:1,“format“:{„rig“:““,“address“:“%w%.%n%/%e%“,“password“:“%p%“}},

    “pools“:[{„host“:“xmr-us-east1.nanopool.org:14444″},{„host“:“xmr-eu1.nanopool.org:14444″},{„host“:“xmr-asia1.nanopool.org:14444″}]}}

    Wie kann ich eine Kompromittierung verhindern oder die Malware loswerden?

    Wer Kodi auf seinem Windows- oder Linux-Gerät verwendet und Addons aus Repositories von Drittanbietern oder einen vorgefertigten Kodi-Build installiert hat, kann damit rechnen, von der Crypto-Mining Malware betroffen zu sein.

    Eine verlässliche Überprüfung erfolgt beispielsweise mit ESET-Produkten, welche die Schadsoftware als Win64/CoinMiner.II und Win64/CoinMiner.MK unter Windows und als Linux/CoinMiner.BC, Linux/CoinMiner.BJ, Linux/CoinMiner.BK, und Linux/CoinMiner.CU unter Linux erkennen.

    Wir raten unseren Windows-Lesern den kostenfreien ESET Online Scanner einzusetzen. Linux-User sollten die kostenlose ESET NOD32 Antivirus Testversion ausprobieren. Mit diesen Antivirus-Produkten wird die Malware aufgespürt und entfernt. Bestehende ESET-Kunden sind automatisch geschützt.

    Zitat
    „Wenn Nutzerinnen und Nutzer Kodi und seine Add-ons auf einem Windows- oder Linux-Gerät verwenden, sollten sie auf Nummer Sicher gehen und ihre Systeme auf jeden Fall mit einer zuverlässigen Anti-Malware-Lösung scannen“ – Thomas Uhlemann, Security Specialist bei ESET

    Fazit

    Zwar sind die Malware-verbreitenden Kodi Addon-Repositories mittlerweile geschlossen oder bereinigt, die vielen Geräte, die sich mit Updates von diesen haben versorgen lassen, aber nicht. Der Crypto-Miner arbeitet weiter auf den Windows- und Linux-Systemen. Wie in Abbildung 7 zu erkennen, werden wohl nach wie vor viele Geräte fleißig Monero für die Cyberkriminellen schürfen.

    Für die Cyber-Kriminellen bisher geschürften Monero

    Abbildung 7: Für die Cyber-Kriminellen bisher geschürften Monero

    Laut der von Nanopool zur Verfügung gestellten Statistik über das Monero-Wallet der Malware-Entwickler sind zum Zeitpunkt der Erstellung des Artikels mindestens 4774 Opfer von der Malware betroffen und haben damit 62,57 XMR (ca. 5700 EUR oder 6700 USD) geschürft.

    Die Malware-Kampagne war nicht nur die zweite der Kodi-Plattform überhaupt, sondern gleichzeitig die erste, die mit einem Crypro-Miner für die Opfer endete. Nebenbei gebrauchten die Cyber-Kriminellen eine sehr interessante Technik der Kompromittierung. Die Verwendung der komplexen Skriptfunktionalität von Kodi-Addons wird auf allen Betriebssystemen unterstützt – Android, Linux, macOS und Windows – Die Cyberkriminellen nahmen aber lediglich Linux und Windows ins Visier.

    Mit ihrer Raffinesse wären sie sicherlich in der Lage gewesen, auch andere Betriebssysteme anzugreifen. Durch die Entwicklung nativer Versionen ihres Crypto-Miners für die anderen Betriebssysteme oder durch die Bereitstellung alternativer Payloads für beispielsweise batteriebetriebene Plattformen hätten die Cyber-Kriminellen vielleicht noch viele weitere Systeme kompromittieren können.

    Die Sicherheitsmaßnahmen von Betriebssystemen werden sich weiter verschärfen. Cyberkriminelle nutzen daher zunehmend Möglichkeiten von Anwendungs-Addons und Scripting-Funktionen – wie in unserem untersuchten Fall. Das haben wir bereits in der Vergangenheit bei Manipulationen von Visual Basic Makros gesehen. Die Kompromittierung mit Kodi-Addons kann ein Hinweis darauf geben, was uns zukünftig erwartet.

    Indicators of Compromise (IoCs)

    Schädliche Kodi-Addons

    Da die ursprünglichen Repositories, welche die schädlichen Addons (Bubbles und Gaia) enthielten, sind bereits gelöscht bzw. bereinigt. Allerdings existieren noch gespiegelte Repositories und vorgefertigte Kodi-Builds mit Schadcode. Nachfolgend listen wir exemplarisch einige Websites, die die Malware höchstwahrscheinlich unwissend verbreiten.

    Example mirror of Bubbles
    github[.]com/yooperman17/trailerpark/blob/master/repository/repository.bubbles.3/repository.bubbles.3-4.2.0[.]zip
    github[.]com/yooperman17/trailerpark/blob/master/repository/common/script.module.urllib.3/script.module.urllib.3-1.22.3[.]zip
    Example mirror of Gaia
    github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.python.requests/script.module.python.requests-2.16.1[.]zip
    github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.simplejson/script.module.simplejson-3.4.1[.]zip
    Malicious files previously available on XvBMC repository
    github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module[.]simplejson
    github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module.python[.]requests
    github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.python.requests/script.module.python.requests-2.16.3[.]zip
    github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.simplejson/script.module.simplejson-3.4.1[.]zip
    Sampling of malicious Kodi builds
    archive[.]org/download/retrogamesworld7_gmail_Kodi_20180418/kodi[.]zip
    archive[.]org/download/DuggzProBuildWithSlyPVRguideV0.3/DuggzProBuildWithSlyPVRguideV0.3[.]zip
    ukodi1[.]xyz/ukodi1/builds/Testosterone%20build%2017[.]zip
    C&C URLs
    openserver[.]eu/ax.php
    kodinet.atspace[.]tv/ax.php
    kodiupdate.hostkda[.]com/ax.php
    kodihost[.]rf.gd/ax.php
    updatecenter[.]net/ax.php
    stearti.atspace[.]eu/ax.php
    mastercloud.atspace[.]cc/ax.php
    globalregistry.atspace.co[.]uk/ax.php
    meliova.atwebpages[.]com/ax.php
    krystry.onlinewebshop[.]net/ax.php
    Downloader module (Windows)
    openserver[.]eu/wib
    kodinet.atspace[.]tv/wib
    kodiupdate.hostkda[.]com/wib
    kodihost.rf[.]gd/wib
    updatecenter[.]net/wib
    bitbucket[.]org/kodiserver/plugin.video.youtube/raw/HEAD/resources/lib/wib
    gitlab[.]com/kodiupdate/plugin.video.youtube/raw/master/resources/lib/wib
    www.dropbox[.]com/s/51fgb0ec9lgmi0u/wib?dl=1&raw=1
    Downloader module (Linux)
    openserver[.]eu/lib
    kodinet.atspace[.]tv/lib
    kodiupdate.hostkda[.]com/lib
    kodihost.rf[.]gd/lib
    updatecenter[.]net/lib
    bitbucket[.]org/kodiserver/plugin.video.youtube/raw/HEAD/resources/lib/lib
    gitlab[.]com/kodiupdate/plugin.video.youtube/raw/master/resources/lib/lib
    www.dropbox[.]com/s/e36u2wxmq1jcjjr/lib?dl=1&raw=1
    Cryptominer binaries (Windows)
    updatecenter[.]net/wub
    openserver[.]eu/wub
    glocato.atspace[.]eu/wub
    oraceur.hostkda[.]com/wub
    dilarti.1free-host[.]com/wub
    utudict.vastserve[.]com/wub
    encelan.atspace[.]cc/wub
    Cryptominer binaries (Linux)
    updatecenter[.]net/lub
    openserver[.]eu/lub
    glocato.atspace[.]eu/lub
    oraceur.hostkda[.]com/lub
    dilarti.1free-host[.]com/lub
    utudict.vastserve[.]com/lub
    encelan.atspace[.]cc/lub
    Hashes of malicious add-ons
    B8FD019D4DAB8B895009B957A7FEBAEFCEBAFDD1
    BA50EAA31441D5E2C0224B9A8048DAF4015735E7
    717C02A1B040187FF54425A64CB9CC001265C0C6
    F187E0B6872B096D67C2E261BE41910DAF057761
    4E2F1E9E066D7D21CED9D690EF6119E59CF49176
    53E7154C2B68EDBCCF37FB73EEB3E042A1DC7108
    FF9E491E8E7831967361EDE1BD26FCF1CD640050
    3CC8B10BDD5B98BEA94E97C44FFDFB1746F0C472
    389CB81D91D640BA4543E178B13AFE53B0E680B5
    6DA595FB63F632EE55F36DE4C6E1EB4A2A833862
    9458F3D601D30858BBA1AFE1C281A1A99BF30542
    B4894B6E1949088350872BDC9219649D50EE0ACA
    79BCC4F2D19A394DD2DB2B601208E1D1EA57565B
    AAAEDE03F6C014CEE8EC0D9C0EA4FC7B0E67DB59
    C66B5ADF3BDFA87B0731512DD2654F4341EBAE5B
    F0196D821381248EB8717F47C70D8C235E83A12E
    7CFD561C215DC04B702FE40A199F0B60CA706660

    ESET erkennt den schädlichen Python-Code als Python/CoinMiner.W.

    Hashes of cryptominers and downloader modules (Windows)
    08406EB5A8E75F53CFB53DB6BDA7738C296556D6
    2000E2949368621E218529E242A8F00DC8EC91ED
    5B1F384227F462240178263E8F2F30D3436F10F5
    B001DD66780935FCA865A45AEC97C85F2D22A7E2
    C6A4F67D279478C18BE67BEB6856F3D334F4AC42
    EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3

    ESET erkennt sowohl den Crypto-Miner als auch das Downloader-Modul als Win64/CoinMiner.II und/oder als Win64/CoinMiner.MK. Unsere Telemetrie-Daten zeigen mehr als 100 verschiedene Hashes für die Erkennungsnamen.

    Hashes of cryptominers and downloader modules (Linux)
    38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
    90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
    B9173A2FE1E8398CD978832339BE86445ED342C7
    D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
    D717FEC7E7C697D2D25080385CBD5C122584CA7C
    DF5433DC7EB272B7B837E8932E4540B216A056D8

    ESET erkennt die Linux-Version des Crypto-Miner und des Downloader-Moduls als Linux/CoinMiner.BC, Linux/CoinMiner.BJ, Linux/CoinMiner.BK und Linux/CoinMiner.CU.


    Kaspars Osis

    13 Sep 2018 - 03:00PM

Schon gewusst…?

Dieses Forum ist 100% werbefrei! Du siehst hier weder Banner, PopUps, PopDowns oder sonstige "Verbraucher-Informationen". Werbeblocker brauchst du hier nicht.