如果您使用的是Kodi,您可能已经注意到流行的荷兰XvBMC插件存储库由于侵犯版权而被
关闭 。 之后,我们发现该存储库在2017年12月开始的加密采矿活动中被秘密使用。 这是第二个与通过Kodi插件传播恶意软件有关的已知事件,也是使用此平台进行加密挖矿的第一个案例。 有趣的是,与所使用的操作系统(Windows或Linux)相对应的二进制文件发送给Kodi用户。

对于那些不熟悉Kodi平台的人:媒体播放器不提供内容; 用户通过从官方存储库和第三方站点安装加载项来独立扩展产品的功能。 一些非官方的附加组件使您可以访问盗版内容,这就是Kodi在公众中模棱两可的原因。
Kodi的版权侵权已经
与恶意软件的传播有关,但是,除了
DDoS模块作为流行插件的一部分之外,这一
事件并未得到任何证据。
该运动
我们发现XvMBC中发现的恶意软件分别于2017年12月和2018年1月首次出现在流行的Bubbles和Gaia存储库中。 其中,以及通过更新其他存储库和现成的版本,恶意软件已遍及整个Kodi生态系统。
马尔瓦尔(Malvar)具有多阶段架构。 作者采取了一些措施,以使最终有效载荷(加密工具)的来源无法追溯到恶意插件。 该矿工可以在Windows和Linux下运行;它可以矿工Monero(XMR)。 尚未在野外观察到适用于Android或macOS的版本。
根据以下三种方案之一进行感染:
1.受害者将恶意存储库的URL添加到Kodi以下载一些附件。 更新Kodi附加组件时,安装了恶意附加组件。
2.受害者安装了现成的Kodi版本,其中包含恶意存储库的URL。 更新Kodi附加组件时,安装了恶意附加组件。
3.受害人安装了带有恶意附件的现成Kodi版本,但没有指向存储库的链接以进行更新。 尽管未更新恶意软件附件,但计算机已受到攻击。 但是,如果安装了cryptominer,它将被存储在系统中并可以接收更新。
根据ESET遥测,威胁活动水平最高的前5个国家是美国,以色列,希腊,英国和荷兰。 这是合乎逻辑的,因为这些国家在Kodi插件
的流量方面处于
领先地位 。 另一个可能的解释是带有恶意存储库的程序集在这些国家中很流行(例如荷兰的XvBMC)。
图1.加密矿工的分布当前,从其开始分发加密矿机的存储库不起作用(冒泡),或者不再分发恶意代码(Gaia)。 但是,其设备感染了加密矿工的受害者仍然处于危险之中。 此外,其他Kodi存储库和某些现成的程序集中仍存在恶意软件,其编写者很可能没有意识到这一点。
时间表
2017年
12月17日 -Bubbles存储库发布了第一个恶意更新
2018年
1月4日 -Gaia存储库中的第一个恶意更新
1月14日 -Bubbles信息库中的第一个恶意插件
1月中旬 -Bubbles存储库关闭;用户重定向到Gaia
1月28日 -ESET发现一个加密矿工
1月28日-4月中 -加密矿工定期收到更新
2月11日,3月6日,3月21日 -恶意软件附加更新
4月26日 -Gaia存储库删除了所有内容,新版本不再分发恶意插件
8月中旬 -有关关闭XvBMC存储库的消息-恶意加载项的第二个来源
技术分析
如何运作
当受害者将恶意存储库添加到Kodi时,他(存储库)将存储
script.module.simplejson
-与其他许多附件使用的合法附件的名称匹配。 不同之处在于,在其他存储库中只有
script.module.simplejson
版本3.4.0,而在恶意存储库中只有3.4.1版本。
Kodi使用版本号来检测更新,因此所有启用了自动更新功能(默认情况下启用)的用户都从恶意存储库获取
script.module.simplejson
版本3.4.1。
从3.4.0版更改的
script.module.simplejson
版本3.4.1的唯一部分是元数据。
addon.xml
文件包含另一行:

她告诉Kodi有关下载和安装
script.module.python.requests
附加程序版本2.16.0及更高版本的功能。 该加载项仅由恶意存储库处理。 这是对合法附加
script.module.requests
的修改,其中包含其他恶意Python代码。
如果需要,此代码将加载Windows或Linux的二进制文件并执行它。 可执行文件是一个引导加载程序,它提取并执行最终的有效负载-cryptominer。 如果矿工安装成功,Python代码将进入自我删除阶段并自行删除。
图2.恶意软件执行流程图Python代码
在分析的样本中,混淆的恶意代码位于
script.module.python.requests\lib\requests\packages\urllib3\connectionpool.py
第846-862行中。
图3. connectionpool.py中的混淆恶意软件经过模糊处理并加上注释后,该代码看起来更具可读性,如下图所示。
图4.混淆后的恶意代码(带有分析师评论)该代码的作者显然熟悉Kodi生态系统和附加架构。 该脚本确定哪个操作系统可以工作(仅支持Windows和Linux,仍然忽略Android和macOS),连接到其C&C服务器并执行相应的二进制文件-引导加载程序模块。
Windows二进制文件被写入
C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\TrustedInstaller.exe
,Linux到
/tmp/systems/systemd
。
提取并运行引导加载程序二进制模块后,Python脚本-这里为
connectionpool.py
启动自删除过程。 如图4所示,恶意代码以特殊标记#-+-和#-_-#突出显示。 成功执行bootloader二进制文件后运行代码将打开文件,找到这些标记并删除它们,以及之间的所有内容。 然后保存干净文件。 结果,安装加密矿机很难跟踪到此Kodi插件。
图5. Python代码中的自我删除(带有分析师评论)Cryptominer可执行文件
使用Python代码提取的引导加载程序模块(用于Windows的64位EXE文件,用于Linux的64位ELF文件)包含加密的cryptominer配置和第二阶段有效负载的下载链接-二进制cryptominer文件。
二进制引导加载程序在受密码保护的ZIP归档文件中提取操作系统的第二阶段有效负载(用于不同GPU的二进制cryptominer文件和恶意启动程序/更新模块)。 这些二进制文件是针对64位Windows和Linux编译的,它们基于开源XMRStak挖掘软件。
矿工配置如下:
{"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"}]}}
如何检测感染
Windows或Linux的Kodi媒体播放器的用户从第三方存储库或现成的程序集中安装了插件,可以参与挖矿,从而有利于此活动的运营商。
要检查设备是否受到威胁,您需要使用防病毒软件对其进行扫描。 对于Windows,您可以使用免费的
ESET Online Scanner (对于Linux),免费的
ESET NOD32 Antivirus for Linux桌面试用版
软件 。
当前版本的ESET产品的用户已受到保护。 ESET产品可检测Windows上的Win64 / CoinMiner.II和Win64 / CoinMiner.MK,Linux / CoinMiner.BC,Linux / CoinMiner.BJ,Linux / CoinMiner.BK和Linux / CoinMiner.CU等威胁。
结论
最初在Kodi生态系统中分发矿机的大多数存储库都已关闭或清除。 但是,许多设备仍然受到感染。 如您在下图中所看到的,活动运营商继续赚钱。
图6.加密矿工的收入根据Nanopool提供的Monero-operator钱包的统计,在撰写本文时,至少感染了4,774台计算机,并提取了62.57个XMR(5,700欧元或6,700美元)。
这次事件很有趣,因为它是第二个恶意软件和第一个通过Kodi生态系统传播的加密矿工。 此外,战役使用了一种不寻常的折衷方法。 作者使用与大多数操作系统兼容的Kodi附加系统来针对Linux和Windows上的恶意软件。
运营商可能会损害更多操作系统。 或者,他们可以为这些平台创建自己的矿机版本或提供经过修改的有效负载(例如,对于电池电量低的设备,能源消耗较低)。
随着操作系统安全措施的严格化,流行软件的添加将成为网络犯罪分子更受欢迎的目标。 以前,我们已经在Microsoft Office应用程序中使用Visual Basic宏看到过类似的事件。 Kodi附加组件将成为“新的VBA”并不是事实,但这件事表明了这种发展。
折衷指标
Kodi恶意插件
由于带有恶意插件(Bubbles和Gaia)的原始存储库已被删除,因此以下链接指向仍包含矿工代码的存储库的镜像副本,以及随机选择的恶意Kodi程序集的示例。
重要的是要注意,存储库所有者可能会在不知不觉中分发恶意附件。
镜像气泡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
XvBMC存储库中以前可用的恶意文件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
恶意Kodi构建的示例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服务器网址:
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
Bootloader模块(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 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
散列恶意附件
B8FD019D4DAB8B895009B957A7FEBAEFCEBAFDD1
BA50EAA31441D5E2C0224B9A8048DAF4015735E7
717C02A1B040187FF54425A64CB9CC001265C0C6
F187E0B6872B096D67C2E261BE41910DAF057761
4E2F1E9E066D7D21CED9D690EF6119E59CF49176
53E7154C2B68EDBCCF37FB73EEB3E042A1DC7108
FF9E491E8E7831967361EDE1BD26FCF1CD640050
3CC8B10BDD5B98BEA94E97C44FFDFB1746F0C472
389CB81D91D640BA4543E178B13AFE53B0E680B5
6DA595FB63F632EE55F36DE4C6E1EB4A2A833862
9458F3D601D30858BBA1AFE1C281A1A99BF30542
B4894B6E1949088350872BDC9219649D50EE0ACA
79BCC4F2D19A394DD2DB2B601208E1D1EA57565B
AAAEDE03F6C014CEE8EC0D9C0EA4FC7B0E67DB59
C66B5ADF3BDFA87B0731512DD2654F4341EBAE5B
F0196D821381248EB8717F47C70D8C235E83A12E
7CFD561C215DC04B702FE40A199F0B60CA706660
ESET将恶意Python代码检测为Python / CoinMiner.W。
加密矿工和引导加载程序模块的哈希(Windows)
08406EB5A8E75F53CFB53DB6BDA7738C296556D6
2000E2949368621E218529E242A8F00DC8EC91ED
5B1F384227F462240178263E8F2F30D3436F10F5
B001DD66780935FCA865A45AEC97C85F2D22A7E2
C6A4F67D279478C18BE67BEB6856F3D334F4AC42
EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3
ESET将cryptominer和bootloader模块检测为Win64 / CoinMiner.II和/或Win64 / CoinMiner.MK。 我们的遥测技术为检测名称显示了100多种不同的哈希值。
加密矿工和引导程序模块的哈希(Linux)
38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
B9173A2FE1E8398CD978832339BE86445ED342C7
D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
D717FEC7E7C697D2D25080385CBD5C122584CA7C
DF5433DC7EB272B7B837E8932E4540B216A056D8
ESET检测Linux版本的加密矿工和引导加载程序模块,例如Linux / CoinMiner.BC,Linux / CoinMiner.BJ,Linux / CoinMiner.BK和Linux / CoinMiner.CU。