ESC
国际 1 分钟阅读

恶意软件感染基于Android的车载信息娱乐系统固件

卡巴斯基研究发现,名为TWCore的系统应用更新机制被滥用,向基于Android的车载信息娱乐系统分发恶意软件。恶意软件链包括JarService释放器、加载器及最终载荷,可执行广告、点击欺诈和下载恶意模块。攻击者与BADBOX关联组织MoYu Group有关,这是首个已知针对车载系统的恶意软件,或预示新兴攻击面。

来源:Hacker News

TWCore仅在installNotExists为false时检查应用是否已安装。

APK文件下载至<TWCore外部缓存目录>/push/apk/目录以进行安装。

TWCore用于下载APK文件的路径。

我们的遥测数据在这些文件路径上发现了此前未知的恶意软件。此外,我们的数据表明,在每一个被观察到的案例中,恶意软件均由包名为com.tw.core的应用安装,这与TWCore的包名一致。

接下来,我们将剖析由TWCore安装的恶意软件:JarService投放器。

如前所述,JarService是一款没有任何UI的小型投放器应用。它解密存储在木马代码中加密块内的数据。每个块使用单字节密钥进行XOR加密,该密钥随块逐块线性变化。解密后的数据包含序列化的载荷版本和入口点信息,以及用于进一步加载的恶意软件自身代码。

解密并反序列化第二阶段载荷信息。

在我们分析的JarService版本中,下一阶段载荷的入口点是com.c.j.qbh类的wa方法。

这一阶段的载荷是一个恶意加载器。其代码包含加密字符串,这些字符串随后被用作类名,通过反射机制执行第三阶段载荷。加载器通过POST请求将植入物信息发送至攻击者服务器之一。C2服务器请求示例:

作为对POST请求的响应,C2服务器返回用于下载第三阶段载荷的链接。C2响应示例如下。

木马使用data对象中dexUrl字段的链接下载用于加载下一阶段的序列化数据。该数据以单字节整数开头,该整数是用于解密加载器代码中字符串的密钥。紧随此数字之后的是一个四字节浮点值,用于XOR解密第三阶段载荷,该载荷位于这些密钥之后。

在解密后的载荷中,入口点是com.ast.sdk.BillingMain类的init方法,如下方截图所示。

在分析此阶段时,我们注意到下一阶段载荷的下载链接包含版本号。我们决定尝试其他版本号以获取不同的载荷版本,最终获得了七个不同的变体,我们在本报告末尾的“危害指标”中列出。最早的版本编号为3.57,它使用与上述描述不同的解码算法。这可能表明感染链的早期版本在JarService和第三阶段载荷之间使用了不同的加载器。

在此阶段,恶意软件默认每90分钟向/cpc/api/task发送一次POST请求,包含受感染设备的信息(显示分辨率、设备型号、所连Wi-Fi网络的SSID、MAC地址等)以及木马的配置版本。如果配置已过时,C2服务器会返回一个

如果配置版本无需更新,C2服务器则返回整数命令标识符,攻击者称之为productId。木马将每个标识符映射到命令信息,并使用SharedPreferences API将其存储为序列化JSON对象。每个标识符也有自己的版本,以UNIX时间戳表示。如果C2响应包含未知的productId或其版本已过时,恶意软件会向攻击者服务器的/cpc/api/xml发送GET请求,以获取所有此类标识符的命令内容。C2服务器会响应每个未知标识符的命令信息。响应示例如下。

命令信息包含tagName字段,即命令名称。代码将每个名称映射到负责执行该命令的相应类。

在我们研究时,攻击者已实现了九个命令。下表列出命令名称、简要描述及参数。这些命令的功能表明,该恶意软件可用于显示广告、实施广告欺诈(充当点击器)以及下载额外的恶意代码。

然而,攻击者在实际攻击中仅使用了相对较小一部分命令。如上方C2响应示例所示,在发布本报告时,攻击者正在使用loadlib2和http命令。通过loadlib2命令下载的载荷是一个名为“zhima”的反向代理模块,诺基亚Deepfield应急响应团队的研究人员几乎同时独立地在电视盒子中发现了该模块,并在其报告中进行了描述。这证实了攻击者的最终目标是构建代理僵尸网络。

在调查此攻击阶段时,我们注意到zhima下载链接也包含版本号。与上一阶段一样,我们尝试了其他可能的版本号,并发现了八个zhima模块变体,最早的版本为57。已识别的zhima模块完整列表见下方“危害指标”。

在分析完整感染链时,我们注意到第二阶段加载器创建了一个有意义的线程名mosdk-host-loader。我们决定调查该名称中的mosdk所指。这引导我们找到一个安装在不同电视盒子上的恶意应用,包名为com.abc.nexus(3AD4BF5A86D26FFBF09CAE42AF330A98)。它由多个组件组成(包括一个类似JarService的投放器),攻击者利用这些组件隐秘地变现设备的计算能力。应用中的每个恶意组件对应自己的服务,包含类似JarService的投放器启动代码的服务名为AdmoyuService。鉴于这一点以及在载荷代码中发现的恶意线程名称,我们得出结论,服务名称中的moyu指的是MoYu Group——与BADBOX恶意软件平台相关的行为者之一,该平台已由HUMAN的研究人员进行了描述。这一评估进一步得到恶意软件网络基础设施与MoYu Group大量重叠的支持,诺基亚Deepfield应急响应团队的研究人员几乎在我们研究的同时独立发现了这一重叠。基于这些相似的命名模式和MoYu Group活动与本报告所述攻击之间显著的基础设施重叠,我们高度确信将其归因于同一行为者。

在调查由TWCore下载的恶意软件时,我们注意到域名admin.uipoxy[.]com解析到IP地址128.14.210[.]58,这是zhima反向代理模块的C2服务器之一。URL hxxp://admin.uipoxy[.]com/proxy/u/login似乎是zhima的管理面板。有趣的是,该面板允许任何人注册,只要拥有有效的邀请码。

注册过程中,用户会被提示查看使用条款和隐私政策。这两份文件均托管在pxyedge[.]com域名下的链接上,该域名属于PXYEDGE,一家专门销售住宅代理的供应商。

在admin.uipoxy[.]com的注册页面上,我们还发现了字符串 copyright © 2020 proxyforu[.]com all rights reserved,其链接指向hxxps://proxyforu[.]com,即ProxyForU的网站,另一家住宅代理服务供应商。

我们发现所有这些网站之间的认证API有若干相似之处:

基于此,我们认为这些服务与MoYu Group有关联。

尽管网络安全专业人士和执法部门努力关闭BADBOX僵尸网络,但与之相关的个体行为者仍在继续恶意活动,感染全球设备。此类恶意软件的传播方式多种多样,从通过预装后门下载到受感染的IPTV应用构建版本。此处讨论的案例展示了一种更为复杂的传播方式:通过系统应用的合法更新功能进行分发。攻击者也在积极扩展到新平台。该恶意软件是首个已知针对车载信息娱乐系统的恶意应用,这意味着这些平台现在也需要防范恶意软件。

ba27951b4ee1c341f4415d033369ecd3

d63bacd6d6709dd68a10ef9d374c7835

6c2e34b30da42085240ede53ab6107d4

8b5e513144a6138a966ea59e68bf9da2

e119845877089d6f4b0a70dc7388f316

0fbaa7092204f4b1494e0b840b014774

1dcf031c40ce456b6a36a00b0acf3d11

44b6b213a6a3f299eaf88e078de95ecb

67dc78e544ebce16b85dc7c195dfbc58

9642ae619b3165d23c6349002d1abe24

b067d5b0dbecbd6498bcdfba45dba77e

f0e3f7eba2cde91e2dedb921bab47422

412e9243f2981bbea3894254d105b3b8

71ab5517f71866279d0d87d37f2ae320

89ef78f716a75964539f2db6520be362

a4223ce4288a230d1e6c3ff2c7639045

bd4d81cd27125ad3d9a114922d468499

c6bfb1643ac7474ed8a7b4f96a187fdb

de77c3303e93c9450424759f1741441c

f8cf8c23ff597700d471fb7767df8bac

xmsae[.]sbs

ishano456[.]sbs

xshaon123[.]sbs

kshahnd[.]sbs

mdsjhd[.]sbs

nmnsny[.]sbs

kookjar[.]com

ty54fgd435[.]my

ue886578433[.]online

ty4523[.]space

144.217.243[.]201

107.151.248[.]132

128.14.210[.]58