
Kodi是一個免費的開放源代碼媒體播放器軟件應用程序。由于其開源和跨平臺特性,且以C ++編寫的核心代碼而被廣泛應用。該軟件最近因侵權問題關閉了第三方附加組件XvBMC,而在這個組件被關閉之后,有研究人員發(fā)現(xiàn)這個第三方擴展庫中包含了惡意代碼,這其中所關聯(lián)的惡意行為可以追溯到2017年12月。這是第二個公開的通過Kodi附加組件大規(guī)模分發(fā)病毒的情況,也是第一個公開的通過Kodi平臺發(fā)起的經(jīng)過加密的惡意活動。攻擊者將Linux或Windows特定的二進制文件推送到Kodi粉絲的操作系統(tǒng)上。
媒體播放器軟件Kodi本身并不提供任何內容,但是用戶可以通過安裝在官方Kodi庫和眾多第三方庫中找到各種附件來擴展軟件功能,因此用戶很可能下載到惡意軟件。但到目前為止,除了有攻擊者將DDoS模塊添加到第三方附加組件以外,暫時還沒有任何證據(jù)表明有人通過Kodi添加了惡意軟件。
攻擊調查
研究人員發(fā)現(xiàn),在2017年12月和2018年1月分別有惡意軟件被添加到了第三方庫Bubbles和Gaia(Bubbles的一個分支)中。由于沒有安全防范意識,該惡意軟件被迅速傳播到了kodi的系統(tǒng)中。
該惡意軟件使用了攻擊鏈形式,使人們很難根據(jù)其最終被投遞的有效載荷(cryptominer)而追蹤到對應組件。cryptominer運行在Windows和Linux系統(tǒng)上,目的是挖掘加密貨幣Monero(XMR),暫未發(fā)現(xiàn)針對Android或macOS設備的在野版本。觸發(fā)惡意軟件的方式為:
1.用戶將惡意存儲庫的URL添加到他們的Kodi安裝列表中,以便下載一些附加組件。只要他們更新了Kodi附加組件,就會安裝惡意加載項。
2.用戶安裝了現(xiàn)成的Kodi版本,該版本本身包含惡意存儲庫的URL。只要他們更新了Kodi附加組件,就會安裝惡意加載項。
3.用戶安裝了一個現(xiàn)成的Kodi版本,該版本包含一個惡意插件,但沒有鏈接到存儲庫以進行更新。但是如果安裝了cryptominer,它將駐留在設備中并接收更新。
ESET的遙測結果顯示,受這種威脅影響最大的前五個國家分別是:美國,以色列,希臘,英國和荷蘭。這并不奇怪,因為這些國家均屬于“最大交通國家”。根據(jù)最近的非官方的Kodi Addon社區(qū)統(tǒng)計數(shù)據(jù)。對地理分布的其他可能解釋是:區(qū)域性使用的Kodi包含了惡意存儲庫,而這些庫原先就有一定的用戶基礎,例如荷蘭存儲庫XvBMC。

截止至9月13日,傳播惡意軟件的庫有的已經(jīng)消失(如Bubbles),有的已經(jīng)不再含有惡意代碼(如Gaia)。但是已經(jīng)安裝過cryptominer的受害者仍會受到影響。該活動的時間順序表為:

技術分析
運行步驟
受害者將惡意存儲庫添加到他們的Kodi安裝列表后,惡意存儲庫會提供一個比合法版本高一個版本的同名偽裝組件,如合法的3.4.0含有script.module.simplejson組件,攻擊者就會偽造一個同名的3.4.1版本。由于Kodi依賴于版本號進行更新檢測,因此所有啟用了自動更新功能的用戶(這是一種常見的默認設置)都會自動從惡意存儲庫接收到惡意組件。偽裝的惡意組件在addon.xml中包含一個額外的<requires>行:
<import addon=”script.module.python.request”version=”2.16.0/”>
這條命令的含義是讓Kodi下載并安裝一個名為script.module.python.requests的附加組件,版本為2.16.0以上版本。它是對合法加載項script.module.requests的修改,其中包含了惡意Python代碼。
Python代碼會酌情下載執(zhí)行Windows或Linux的二進制文件。此文件是一個下載程序文件,用于獲取并執(zhí)行最終惡意內容,即可執(zhí)行的加密程序。如果cryptominer安裝成功,則惡意Python代碼將自我刪除。

Python代碼
混淆的惡意代碼位于文件script.module.python.requestslibrequestspackagesurllib3connectionpool.py的第846-862行。

經(jīng)過反混淆和注釋后,代碼為:

該腳本會檢測正在運行的操作系統(tǒng)類型(僅支持Windows和Linux;不支持Android和macOS),隨后連接到C&C服務器,下載執(zhí)行對應操作系統(tǒng)的二進制下載程序。
Windows二進制文件寫入路徑為:C:Users[username]AppDataRoamingMicrosoftWindowsStart MenuProgramsStartupTrustedInstaller.exe, Linux二進制文件寫入路徑為:/tmp/systems/systemd
檢索并運行二進制下載程序模塊后,Python腳本(此處為connectionpool.py)進行自我刪除。而惡意代碼被特殊標記了# – + -和#-_-#。在成功執(zhí)行二進制下載程序后會打開此Python文件,找到這些特殊標記并刪除它們以及它們之間的所有內容,然后保存已清理過的Python文件,因此很難追溯到附加組件是什么。

Cryptominer可執(zhí)行文件
由Python代碼檢索到的下載程序包含了第二階段載荷的加密配置和下載鏈接。二進制下載程序會在受密碼保護的ZIP文件中獲取匹配受害者操作系統(tǒng)的第二階段載荷(用于不同GPU的加密器和啟動/更新模塊)。這些二進制文件是針對64位Windows和64位Linux編譯的,并且基于開源加密軟件XMRStak。
密碼系統(tǒng)的配置如下:
{“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″}]}}
結論
雖然傳播這些惡意軟件的第三方庫已經(jīng)被關停,但是已經(jīng)中毒的設備仍深受其害,由下圖可知,許多設備仍在挖掘Monero。

根據(jù)Nanopool提供的惡意軟件作者的Monero錢包入賬情況顯示,至少有4774名受害者受到惡意軟件的影響,并且已生成62,57 XMR(約5700歐元或6700美元)的利益。
因此在第三方庫中下載過插件的kodi用戶應及時查殺此病毒。
IOC
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
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
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
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
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
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二進制文件(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二進制文件 (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
惡意組件的hash:
B8FD019D4DAB8B895009B957A7FEBAEFCEBAFDD1
BA50EAA31441D5E2C0224B9A8048DAF4015735E7
717C02A1B040187FF54425A64CB9CC001265C0C6
F187E0B6872B096D67C2E261BE41910DAF057761
4E2F1E9E066D7D21CED9D690EF6119E59CF49176
53E7154C2B68EDBCCF37FB73EEB3E042A1DC7108
FF9E491E8E7831967361EDE1BD26FCF1CD640050
3CC8B10BDD5B98BEA94E97C44FFDFB1746F0C472
389CB81D91D640BA4543E178B13AFE53B0E680B5
6DA595FB63F632EE55F36DE4C6E1EB4A2A833862
9458F3D601D30858BBA1AFE1C281A1A99BF30542
B4894B6E1949088350872BDC9219649D50EE0ACA
79BCC4F2D19A394DD2DB2B601208E1D1EA57565B
AAAEDE03F6C014CEE8EC0D9C0EA4FC7B0E67DB59
C66B5ADF3BDFA87B0731512DD2654F4341EBAE5B
F0196D821381248EB8717F47C70D8C235E83A12E
7CFD561C215DC04B702FE40A199F0B60CA706660
密碼管理器和下載器模塊的哈希(Windows版本):
08406EB5A8E75F53CFB53DB6BDA7738C296556D6
2000E2949368621E218529E242A8F00DC8EC91ED
5B1F384227F462240178263E8F2F30D3436F10F5
B001DD66780935FCA865A45AEC97C85F2D22A7E2
C6A4F67D279478C18BE67BEB6856F3D334F4AC42
EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3
密碼管理器和下載器模塊的哈希 (Linux版本):
38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
B9173A2FE1E8398CD978832339BE86445ED342C7
D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
D717FEC7E7C697D2D25080385CBD5C122584CA7C
DF5433DC7EB272B7B837E8932E4540B216A056D8
本文翻譯自 welivesecurity.com, 原文鏈接 。如若轉載請注明出處。