
图1. ONE商店中应用程序页面的屏幕截图
战役
我们发现攻击者通过开发者的帐户将恶意代码注入通过ONE商店分发的应用程序的版本27和28。从One Store分发的版本26至29的应用签名证书相同。在ONE商店中找不到同一作者开发的其他应用程序。ONE Store现在正在为版本29提供服务,该版本不包含恶意代码。Google Play仍提供版本26,尽管它也很容易被感染。
图2.应用程序的受感染版本历史记录
下面说明此应用程序的总体流程,重点是恶意功能:
图3.恶意行为概述
安装恶意软件后,该恶意代码的潜伏期为10个小时,以避免被动态分析发现。
图4.使用LastUpdateTime检查潜伏期
潜伏期过后,它将启动两个线程。第一个加载本机库“ libmovie.so”并使用电话号码作为参数调用其导出的函数“ playMovie”,而第二个创建一个Java服务器套接字以与另一个本机库通信。
图5.嵌入在APK中的恶意本机库
第一个加载的库libmovie.so包含一个curl二进制文件和XOR编码数据中辅助有效载荷的URL,这些URL在运行时进行解码。XOR值为0x8E,并且在此库中全局使用。所有已解码的URL似乎都已被黑,并且已解码的URL删除了RC4加密的ELF文件。
表1. libmovie.so中的内容
简而言之,libmovie.so是一个下载器和执行器。它使用拖放的curl二进制文件从被入侵的Web服务器下载下一个有效负载,解密并加载该库。加载库后,将删除下载的文件,以避免检测到。最后,下载的代码从导出的函数名称“ Libfunc”开始。
图6. libmovie.so的主要流程
对于RC4密码库,加密是隐藏或保护重要内容的最常用方法。因此,假设此文件中有一些重要内容。
表2.下载文件的其他信息
szServer_XX_1和szServer_XX_2的文件大小和数据与表2中所示的相同。但是szServer_XX_3具有一些功能,可以对其进行一些添加,删除或修改。但是,它不会影响整个过程。 “ doMainProc”是“ Libfunc”调用的核心功能。“ doMainProc”的第一项工作是随机选择C2服务器。
表3. C2服务器列表
选择C2服务器后,将随机创建的TUID发送到服务器。从其用途猜测,TUID可能是用于管理受污染目标的目标设备ID。现在,该应用程序正在充当间谍代理,等待来自选定服务器的操作并准备执行命令。我们发现了以下可用命令:
表4.可用命令列表
在恶意命令中,引人注目的功能是SMS和MMS捕获。SMS和MMS分别以文件名“ sms.txt”和“ mms.txt”保存在“ / data / data / <程序包名称> / files /”目录中。
图7. SMS和MMS保存在txt文件中
可以通过注册Android接收器来激活此功能。
图8. RegisterReceiver
恶意应用程序在本地打开TCP端口1111与加载的本机库通信。下面是手动解释的Java代码:public void run()
{
CommunicationThread commThread;
Socket socket = null;
serverSocket = new ServerSocket(sock_port); // sock_port = 1111
if (serverSocket) {
while ((!Thread.currentThread().isInterrupted())) {
commThread = new CommunicationThread(this, serverSocket.accept());
new Thread(commThread).start();
}
}
}
当在本地TCP 1111端口上接收到“ SET”字符串时,启用SMS / MMS捕获功能,而通过接收“ FREE”来禁用SMS / MMS捕获功能。

图9. SET或FREE
当“ SD_SetSMSCapture”命令接收并发送“ SET”时,已加载的本机库将连接
图10. SD_SetSmsCapture
下面被解释为C语言。 客户端=套接字(AF_INET,SOCK_STREAM,0); addr.sin_family = AF_INET; addr.sin_port = htons(1111); addr.sin_addr.s_addr = inet_addr(“ 127.0.0.1”); 我们之前从未见过的另一个功能是“ SD_LoadSoFile”。这将加载一个新的本机库并在其中执行特定功能。当前的二进制文件有问题时,此功能似乎将正在运行的本机库更改为较新的库,或添加了新功能。
图11. SD_LoadSoFile
与Malbus相比
与Malbus相比,这种新发现的恶意代码具有许多相似之处,例如使用相同的恶意函数名称(以“ SD_”开头),文件名,异或字符串隐藏原始字符串,库中嵌入的文件,命令ID,相同版本的编译器等。它还具有上述差异:直接下载恶意库而不是安装插件APK,并且没有敏感的关键字列表,例如“朝鲜”,“国防”等。
图12.恶意库中相同的函数名称

图13.相同版本的编译器字符串
结论
恶意软件可以通过各种形式的第三方应用商店进行分发,而不仅限于Google Play等官方商店。该恶意软件是经过精心准备的–恶意软件的最终有效载荷是在恶意软件分发之前被黑客入侵并上传到易受攻击的服务器的文件。我们相信,此恶意软件的作者将继续购买或破解受信任的开发者帐户,以更新恶意功能,通过官方应用商店渗透和分发。与以前的情况一样,即使从官方商店下载了应用程序,用户也应验证安装的应用程序。迈克菲(McAfee)正在与韩国执法机构合作,以协助打击攻击活动。哈希(SHA-256)
初始下载器(APK)- 5e57bc8d83a372bf4d046c272cd43db9000036c9b32d8eecead1af75f4958c57
- 1613b35c73c6497730490d7712ac015c2b42931446aed149e1292e2ba77d0ff4
- d328373cd67c467485b9c96349a0ee08fc3b58fe2c11fb19f4dcb9ea6c7a0dae
- c5bff68022ead6302f710f1ce1c3d5682a8cd3610b1f8ed2563098d7ac4e1909
- c410cacbb0be8f649f082148c91f4cef27f101b8db3ce64a02882506c9b51a63
- 178dddf38ec232d540bd88320521d8134644da1e7af19e7ae295b2d614e3ab56
- 9fc914545fbb99b7e0d4a5207f5a2b32a8a127a36caa9159d4feeac445c509f7
- df651ac1bfd60cd29cea85cc410002b933552260c2439fe86a4f32486abd0828
- 63d10c9cd105c7b17effef18d31d571fe4c9c999966cc09bdb40df07c1b6baa8
- f99212b70729942923fe26b996791cdd8eb561f8ae017e1d71202fbb97f7d245
未经允许不得转载:x-sec » MalBus攻击将市场从Google Play转移到ONE Store