针对Kodi媒体播放器第三方插件被用于加密货币挖矿活动的分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

针对Kodi媒体播放器第三方插件被用于加密货币挖矿活动的分析

41yf1sh 技术 2018-09-19 11:50:50
245819
收藏

导语:如果你使用Kodi媒体播放器,那么你可能注意到,最近该播放器因为版权问题关闭了荷兰的第三方组件库XvBMC。

概述

如果你使用Kodi媒体播放器,那么你可能注意到,最近该播放器因为版权问题关闭了荷兰的第三方组件库XvBMC。在关闭之后,我们发现该组件库中的部分插件与201712月的加密货币恶意活动有所关联,可能是第三方组件在不知情的情况下被植入了恶意代码。这是发现的第二起通过Kodi媒体播放器附加组件实现大规模恶意软件分发的情况,同时也是披露的第一起借助Kodi平台发起的加密恶意活动。有趣的是,该恶意活动会将Linux或Windows语言的二进制文件推送到Kodi用户的计算机上。

对于那些不熟悉Kodi的人来说,Kodi播放器自身并没有太多亮点,但用户可以通过安装官方Kodi组件库和众多第三方组件库中的各种附加组件,来扩展软件的功能。而我们所说的争议,正是由于一些第三方附加组件可以让客户访问盗版的内容。

近期,这些疑似侵犯版权的附加组件也被指出包含恶意软件,但根据分析,这些侵犯版权的组件除去添加了DDoS模块之外,似乎没有证据表明还包含其他的恶意软件。

恶意活动

根据我们的研究,在XvMBC组件库中发现的恶意软件分别于2017年12月和2018年1月首次添加到第三方组件Bubbles和Gaia(Bubbles的一个分支)中。这两个存在威胁的组件通过多个第三方组件库实现了大范围的感染,不少Kodi用户受到影响。

该恶意软件具有多个阶段的基础架构,并且采取了一定手段,确保研究人员根据其最终的Payload(挖矿恶意软件,Cryptominer)无法轻松追溯到恶意的附加组件。挖矿恶意软件可以在Windows或Linux操作系统上运行,并挖掘门罗币(Monero,XMR)。目前,我们还没有看到针对于Android或macOS操作系统的在野版本存在。

针对这一恶意挖矿软件,用户有3种不同的感染途径:

1、将恶意组件库的URL添加到Kodi的安装包中,以便下载一些附加组件。当用户更新Kodi附加组件时,就会安装恶意组件。

2、用户安装已经包含恶意组件库URL版本的Kodi。只要用户更新Kodi附加组件,就会安装恶意组件。

3、用户安装的Kodi中包含一个恶意组件,该组件没有连接到组件库以进行更新。用户安装后立即被感染,但该恶意附加组件不会对其自身进行更新。然而,当附加组件成功在用户电脑上安装恶意挖矿软件后,挖矿软件会保持自动更新。

根据ESET的监测,受此类威胁影响最大的五个国家分别是美国、以色列、希腊、英国和荷兰。这样的结果也在情理之中,因为根据非官方的Kodi Addon社区统计,上述国家都是Kodi播放器用户数量排名的前几名。此外,还有一种针对这一地理分布现状的其他解释,就是有可能针对特定国家或地区的Kodi安装包被恶意攻击者修改后发布,同样也可能是在特定国家或地区非常流行的组件库中包含恶意组件,比如荷兰的XvBMC。

1.png

在撰写本文时,首次开始传播恶意软件的组件已经不存在(Bubbles)或不再包含恶意代码(Gaia)。但是,此前已经遭受感染的用户仍会受到影响。最重要的是,目前恶意软件仍然存在于其他组件库以及一些现有的Kodi安装包中,并且很可能是在其作者不知情的情况下存在。

2.png

技术分析

被感染用户将恶意组件库添加到Kodi播放器中后,恶意组件库会提供一个名为script.module.simplejson的附加组件,该组件使用的是一个看似合法的名称。然而,其他组件库上的正常script.module.simplejson组件版本号为3.4.0,而包含恶意软件的组件版本号为3.4.1。

由于Kodi仅根据版本号来判定是否进行更新,因此启用了自动更新功能的所有用户(该设置默认启用)将会自动从恶意组件库中接收3.4.1版本的script.module.simplejson。

与3.4.0版本相比,修改后的所谓3.4.1版本元数据中,addon.xml文件增加了一行额外的<requires>:

3.png

这一行会导致Kodi下载一个名为script.module.python.requests的附加组件,版本为2.16.0或更高。而该script.module.python.requests附加组件仅由恶意存储库提供,该组件是对合法组件script.module.python.requests的修改,其中包含其他恶意的Python代码。

该Python代码根据系统环境,选择Windows或Linux版本的二进制文件并执行。该可执行文件是一个下载器,用于获取并执行最终Payload,也就是挖矿恶意软件。如果挖矿恶意软件安装成功,那么恶意Python代码将会进入到自我删除阶段,并自行删除。

4.png

Python代码

针对我们所分析的样本,经过混淆后的恶意代码位于文件script.module.python.requests\lib\requests\packages\urllib3\connectionpool.py的第846-862行。

5.png

我们对这部分代码进行了反混淆和注释,使其具有更高的可读性,如下图所示。

6.png

非常明显,该代码的编写者对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)会运行自毁例程,删除其自身。在上文代码截图中,我们可以看到恶意代码被使用特殊标记#-+-和#-_-#括了起来。在成功执行下载器后,该恶意组件会打开这一Python文件,找到这些特殊标记并删除中间的所有内容,然后保存修改后的Python文件。正因如此,研究人员才难以从挖矿恶意软件追溯到这一Kodi附加组件。

7.png

挖矿恶意可执行文件

由Python写成的下载器模块(Windows为64位EXE,Linux为64位ELF)包含第二阶段Payload的加密挖矿配置和下载器的下载地址。

二进制下载器从受密码保护的ZIP文件中获取适合于被感染操作系统的第二阶段Payload,这些Payload是用于不同GPU的挖矿二进制文件和恶意启动器/更新器模块。所有这些二进制文件都是针对64位Windows和64位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播放器,并且安装了来自第三方组件库的附加组件,或者使用了预装组件库的现有版本,那么可能会受到这一挖矿恶意软件的影响。

要检查自己的设备是否感染,需要使用可靠地反恶意软件产品进行扫描。ESET将该恶意软件检测为:Win64/CoinMiner.II、Win64/CoinMiner.MK、Linux/CoinMiner.BC、Linux/CoinMiner.BJ、Linux/CoinMiner.BK、Linux/CoinMiner.CU。

总结

该恶意软件最初成功渗入了Kodi播放器的一些主要附加组件库,尽管目前这些存在问题的组件库都已经被关闭或清除了威胁,但已经被感染的设备却仍处于危险之中。从下图可以看出,目前还有许多设备正在为攻击者挖掘门罗币。

8.png

根据Nanopool提供的恶意软件开发者门罗币钱包的统计数据,在撰写本文时,至少有4774名用户受到恶意软件的影响,并且总计已经产生6257门罗币(约5700欧元、6700美元)

除了通过流行的媒体播放器Kodi实现分发,这个恶意软件还采用了一种有趣的技术。通过利用Kodi附加组件的复杂脚本功能,这些恶意组件可以在Kodi支持的操作系统(Android、Linux、macOS和Windows)上运行,尽管此次攻击者只选择了其中的两个操作系统。

攻击者可能已经将目标瞄准更多的操作系统。通过为这些系统量身定做挖矿程序(例如,使这些设备再感染病毒后仍能保持较低的功耗),从而试图感染Kodi支持的更多类型的操作系统。随着大家对系统安全重视程度的加大,应用程序附加组件和脚本功能可能成为网络犯罪分子青睐的目标。在过去,攻击者使用Microsoft Office中的Visual Basic宏感染用户,而我们今天所分析的Kodi可能就是下一个VBA。

IoC

由于包含恶意组件(Bubbles和Gaia)的原始组件库已经被删除,所以我们提供了仍然包含恶意代码的镜像组件库地址,以及部分恶意版本Kodi的地址。

值得注意的是,这些文件来源的管理者很可能并不清楚其中存在着恶意软件。

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

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

此前在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 URL:

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

挖矿二进制文件(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

挖矿二进制文件(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

挖矿程序和下载器模块哈希值(Windows):

08406EB5A8E75F53CFB53DB6BDA7738C296556D6
2000E2949368621E218529E242A8F00DC8EC91ED
5B1F384227F462240178263E8F2F30D3436F10F5
B001DD66780935FCA865A45AEC97C85F2D22A7E2
C6A4F67D279478C18BE67BEB6856F3D334F4AC42
EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3

挖矿程序和下载器模块哈希值(Linux):

38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
B9173A2FE1E8398CD978832339BE86445ED342C7
D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
D717FEC7E7C697D2D25080385CBD5C122584CA7C
DF5433DC7EB272B7B837E8932E4540B216A056D8
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务