解析Kodi安装插件的恶意程序挖矿活动

Kodi是一个免费的开放源代码媒体播放器软件应用程序。由于其开源和跨平台特性,且以C ++编写的核心代码而被广泛应用。该软件最近因侵权问题关闭了第三方附加组件XvBMC,而在这个组件被关闭之后,有研究人员发现这个第三方扩展库中包含了恶意代码,这其中所关联的恶意行为可以追溯到2017年12月。这是第二个公开的通过Kodi附加组件大规模分发病毒的情况,也是第一个公开的通过Kodi平台发起的经过加密的恶意活动。攻击者将Linux或Windows特定的二进制文件推送到Kodi粉丝的操作系统上。

解析Kodi安装插件的恶意程序挖矿活动

概述

Kodi是一个免费的开放源代码媒体播放器软件应用程序。由于其开源和跨平台特性,且以C ++编写的核心代码而被广泛应用。该软件最近因侵权问题关闭了第三方附加组件XvBMC,而在这个组件被关闭之后,有研究人员发现这个第三方扩展库中包含了恶意代码,这其中所关联的恶意行为可以追溯到2017年12月。这是第二个公开的通过Kodi附加组件大规模分发病毒的情况,也是第一个公开的通过Kodi平台发起的经过加密的恶意活动。攻击者将Linux或Windows特定的二进制文件推送到Kodi粉丝的操作系统上。

媒体播放器软件Kodi本身并不提供任何内容,但是用户可以通过安装在官方Kodi库和众多第三方库中找到各种附件来扩展软件功能,因此用户很可能下载到恶意软件。但到目前为止,根据分析,这些侵犯版权的组件除去添加了DDoS模块之外,似乎没有证据表明还包含其他的恶意软件。

攻击调查

研究人员发现,在2017年12月和2018年1月分别有恶意软件被添加到了第三方库Bubbles和Gaia(Bubbles的一个分支)中。由于没有安全防范意识,该恶意软件被迅速传播到了kodi的系统中。

该恶意软件使用了攻击链形式,使人们很难根据其最终被投递的有效载荷(cryptominer)而追踪到对应组件。cryptominer运行在Windows和Linux系统上,目的是挖掘加密货币Monero(XMR),暂未发现针对Android或macOS设备的在野版本。触发恶意软件的方式为:

1.用户将恶意存储库的URL添加到他们的Kodi安装列表中,以便下载一些附加组件。只要他们更新了Kodi附加组件,就会安装恶意加载项。

2.用户安装了现成的Kodi版本,该版本本身包含恶意存储库的URL。只要他们更新了Kodi附加组件,就会安装恶意加载项。

3.用户安装了一个现成的Kodi版本,该版本包含一个恶意插件,但没有链接到存储库以进行更新。但是如果安装了cryptominer,它将驻留在设备中并接收更新。
目前,受影响最大的五个国家是美国,以色列,希腊,英国和荷兰,这是XvBM存储库开发者所在的国家。

解析Kodi安装插件的恶意程序挖矿活动

传播恶意软件的库有的已经消失(如Bubbles),有的已经不再含有恶意代码(如Gaia)。但是已经安装过cryptominer的受害者仍会受到影响。该活动的时间顺序表为:

解析Kodi安装插件的恶意程序挖矿活动

感染分阶段传播

据分析显示,犯罪分子修改了原始附加组件的元数据,以命令2.16.0版本或更高版本的Kodi下载名为“script.module.python.requests”的附加组件。

新下载的附加组件包含一个Python恶意代码,导入并执行密码器。成功安装恶意软件后,其中的Python字符串就会被删除。

解析Kodi安装插件的恶意程序挖矿活动

研究人员指出,“编写代码的人显然很熟悉Kodi及其附加体系结构。这个脚本会检测其运行的操作系统(只限于Windows和Linux系统,Android和MacOS系统则不支持),再连接控制&命令服务器,下载执行与操作系统相匹配的二进制文件下载模块。”

Python代码

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

解析Kodi安装插件的恶意程序挖矿活动

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

解析Kodi安装插件的恶意程序挖矿活动

非常明显,该代码的编写者对 Kodi 播放器及其附加组件的结构具有深入的了解。这段脚本会检测操作系统(仅支持 Windows 和 Linux,忽略 Android 和 macOS),连接到其 C&C 服务器,并下载和执行适配于被感染操作系统的二进制下载器模块。

针对Windows,二进制文件会写入 C:Users[ username ]AppDataRoamingMicrosoftWindowsStart MenuProgramsStartupTrustedInstaller.exe,而针对 Linux,二进制文件会写入/tmp/systems/systemd。

在检索并运行二进制下载器模块后,Python脚本(在我们的样本中为 connectionpool.py)会运行自毁例程,删除其自身。在上文代码截图中,我们可以看到恶意代码被使用特殊标记 #-+- 和 #-_-# 括了起来。在成功执行下载器后,该恶意组件会打开这一Python文件,找到这些特殊标记并删除中间的所有内容,然后保存修改后的Python文件。正因如此,研究人员才难以从挖矿恶意软件追溯到这一Kodi附加组件。

解析Kodi安装插件的恶意程序挖矿活动

Cryptominer可执行文件

由Python代码检索到的下载程序包含了第二阶段载荷的加密配置和下载链接。二进制下载程序会在受密码保护的ZIP文件中获取匹配受害者操作系统的第二阶段载荷(用于不同GPU的加密器和启动/更新模块)。这些二进制文件是针对64位Windows和64位Linux编译的,并且基于开源加密软件XMRStak。密码系统的配置如下:

解析Kodi安装插件的恶意程序挖矿活动

总结

虽然传播这些恶意软件的第三方库已经被关停,但是已经中毒的设备仍深受其害,由下图可知,许多设备仍在挖掘Monero。

解析Kodi安装插件的恶意程序挖矿活动

根据Nanopool提供的恶意软件作者的Monero钱包入账情况显示,至少有4774名受害者受到恶意软件的影响,并且已生成62,57 XMR(约5700欧元或6700美元)的利益。

​因此在第三方库中下载过插件的kodi用户应及时查杀此病毒。

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

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

(作者:曲速未来安全区,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

生成图片
4

发表评论

解析Kodi安装插件的恶意程序挖矿活动

星期六 2018-09-22 12:24:58

解析Kodi安装插件的恶意程序挖矿活动

概述

Kodi是一个免费的开放源代码媒体播放器软件应用程序。由于其开源和跨平台特性,且以C ++编写的核心代码而被广泛应用。该软件最近因侵权问题关闭了第三方附加组件XvBMC,而在这个组件被关闭之后,有研究人员发现这个第三方扩展库中包含了恶意代码,这其中所关联的恶意行为可以追溯到2017年12月。这是第二个公开的通过Kodi附加组件大规模分发病毒的情况,也是第一个公开的通过Kodi平台发起的经过加密的恶意活动。攻击者将Linux或Windows特定的二进制文件推送到Kodi粉丝的操作系统上。

媒体播放器软件Kodi本身并不提供任何内容,但是用户可以通过安装在官方Kodi库和众多第三方库中找到各种附件来扩展软件功能,因此用户很可能下载到恶意软件。但到目前为止,根据分析,这些侵犯版权的组件除去添加了DDoS模块之外,似乎没有证据表明还包含其他的恶意软件。

攻击调查

研究人员发现,在2017年12月和2018年1月分别有恶意软件被添加到了第三方库Bubbles和Gaia(Bubbles的一个分支)中。由于没有安全防范意识,该恶意软件被迅速传播到了kodi的系统中。

该恶意软件使用了攻击链形式,使人们很难根据其最终被投递的有效载荷(cryptominer)而追踪到对应组件。cryptominer运行在Windows和Linux系统上,目的是挖掘加密货币Monero(XMR),暂未发现针对Android或macOS设备的在野版本。触发恶意软件的方式为:

1.用户将恶意存储库的URL添加到他们的Kodi安装列表中,以便下载一些附加组件。只要他们更新了Kodi附加组件,就会安装恶意加载项。

2.用户安装了现成的Kodi版本,该版本本身包含恶意存储库的URL。只要他们更新了Kodi附加组件,就会安装恶意加载项。

3.用户安装了一个现成的Kodi版本,该版本包含一个恶意插件,但没有链接到存储库以进行更新。但是如果安装了cryptominer,它将驻留在设备中并接收更新。
目前,受影响最大的五个国家是美国,以色列,希腊,英国和荷兰,这是XvBM存储库开发者所在的国家。

解析Kodi安装插件的恶意程序挖矿活动

传播恶意软件的库有的已经消失(如Bubbles),有的已经不再含有恶意代码(如Gaia)。但是已经安装过cryptominer的受害者仍会受到影响。该活动的时间顺序表为:

解析Kodi安装插件的恶意程序挖矿活动

感染分阶段传播

据分析显示,犯罪分子修改了原始附加组件的元数据,以命令2.16.0版本或更高版本的Kodi下载名为“script.module.python.requests”的附加组件。

新下载的附加组件包含一个Python恶意代码,导入并执行密码器。成功安装恶意软件后,其中的Python字符串就会被删除。

解析Kodi安装插件的恶意程序挖矿活动

研究人员指出,“编写代码的人显然很熟悉Kodi及其附加体系结构。这个脚本会检测其运行的操作系统(只限于Windows和Linux系统,Android和MacOS系统则不支持),再连接控制&命令服务器,下载执行与操作系统相匹配的二进制文件下载模块。”

Python代码

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

解析Kodi安装插件的恶意程序挖矿活动

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

解析Kodi安装插件的恶意程序挖矿活动

非常明显,该代码的编写者对 Kodi 播放器及其附加组件的结构具有深入的了解。这段脚本会检测操作系统(仅支持 Windows 和 Linux,忽略 Android 和 macOS),连接到其 C&C 服务器,并下载和执行适配于被感染操作系统的二进制下载器模块。

针对Windows,二进制文件会写入 C:Users[ username ]AppDataRoamingMicrosoftWindowsStart MenuProgramsStartupTrustedInstaller.exe,而针对 Linux,二进制文件会写入/tmp/systems/systemd。

在检索并运行二进制下载器模块后,Python脚本(在我们的样本中为 connectionpool.py)会运行自毁例程,删除其自身。在上文代码截图中,我们可以看到恶意代码被使用特殊标记 #-+- 和 #-_-# 括了起来。在成功执行下载器后,该恶意组件会打开这一Python文件,找到这些特殊标记并删除中间的所有内容,然后保存修改后的Python文件。正因如此,研究人员才难以从挖矿恶意软件追溯到这一Kodi附加组件。

解析Kodi安装插件的恶意程序挖矿活动

Cryptominer可执行文件

由Python代码检索到的下载程序包含了第二阶段载荷的加密配置和下载链接。二进制下载程序会在受密码保护的ZIP文件中获取匹配受害者操作系统的第二阶段载荷(用于不同GPU的加密器和启动/更新模块)。这些二进制文件是针对64位Windows和64位Linux编译的,并且基于开源加密软件XMRStak。密码系统的配置如下:

解析Kodi安装插件的恶意程序挖矿活动

总结

虽然传播这些恶意软件的第三方库已经被关停,但是已经中毒的设备仍深受其害,由下图可知,许多设备仍在挖掘Monero。

解析Kodi安装插件的恶意程序挖矿活动

根据Nanopool提供的恶意软件作者的Monero钱包入账情况显示,至少有4774名受害者受到恶意软件的影响,并且已生成62,57 XMR(约5700欧元或6700美元)的利益。

​因此在第三方库中下载过插件的kodi用户应及时查杀此病毒。

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

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

(作者:曲速未来安全区,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)