1100万台设备感染了托管在GooglePlay上的僵尸网络恶意软件

黑客部落 2024-09-24 11:14:59

1100万台设备感染了托管在Google Play上的僵尸网络恶意软件

"Necro"于2019年渗透到Google Play。最近,它再次出现。

五年前,研究人员做出了一个严峻的发现——在Google Play市场上的一个合法的Android应用被开发者用于赚取广告收入的库悄然变为恶意。由此,该应用被感染的代码导致1亿台被感染设备连接到攻击者控制的服务器并下载秘密负载。现在,历史正在重演。同一家位于俄罗斯莫斯科的安全公司的研究人员周一报告称,他们发现两个新应用程序,从Google Play下载了1100万次,这两个应用程序受到了相同恶意软件家族的感染。

这些来自卡巴斯基的研究人员认为,一个用于整合广告功能的恶意软件开发工具包再次负责此次感染。巧妙的技艺 软件开发工具包,通常被称为SDK,为开发者提供了框架,可以通过简化重复任务极大加快应用程序的创建过程。这两个活动中的未经验证的SDK模块被纳入应用程序中,表面上支持广告显示。

在幕后,它提供了一系列高级方法,用于与恶意服务器进行隐秘通信,应用程序会上传用户数据并下载可以随时执行和更新的恶意代码。这两次活动中的隐蔽恶意软件家族被称为"Necro"。

这次,一些变种使用了隐写术等技术,这是在移动恶意软件中很少见的混淆方法。一些变种还采用了巧妙的技艺,以获得系统权限更高地运行恶意代码。一旦设备感染了这种变种,它们会联系一个由攻击者控制的命令与控制服务器,并发送包含加密JSON数据的网络请求,报告每个受感染设备和托管该模块的应用程序的信息。服务器反过来返回一个包含PNG图像链接和相关元数据的JSON响应,其中包括图像哈希。

如果安装在受感染设备上的恶意模块确认哈希正确,它会下载该图像。卡巴斯基的研究人员认为,在一篇单独的帖子中,SDK模块"使用了一个非常简单的隐写算法"。"如果MD5检查成功,它会提取PNG文件的内容——ARGB通道中的像素值——使用标准的Android工具。

接着,getPixel方法返回一个值,最不重要的字节包含图像的蓝色通道,然后代码开始处理。"研究人员继续说:如果我们将图像的蓝色通道视为一个一维字节数组,那么图像的前四个字节是以小端格式编码的编码有效载荷的大小(从最不重要的字节到最重要的字节)。

接下来,记录了指定大小的有效载荷:这是一个用Base64编码的JAR文件,在通过DexClassLoader解码后加载。Coral SDK使用本地库libcoral.so加载sdk.fkgh.mvp.SdkEntry类的JAR文件。该库已使用OLLVM工具进行了混淆。在加载的类内部执行的起始点或入口点是run方法。安装后的跟随负载将下载恶意插件,这些插件可混搭到每个受感染设备上,执行各种不同的操作。其中一个插件允许以系统权限更高地运行代码。

默认情况下,Android禁止特权进程使用WebView,这是用于在应用程序中显示网页的操作系统的扩展。为了绕过这一安全限制,"Necro"使用一种称为反射攻击的黑客技术来创建WebView工厂的单独实例。

这个插件还可以下载和运行其他可执行文件,替换通过WebView呈现的链接。在以系统权限更高地运行时,这些可执行文件可以修改URL以添加付费订阅的确认代码,并下载并执行在攻击者控制的链接处加载的代码。

研究人员在对"Necro"的分析中列出了五种不同的负载。"Necro"的模块化设计打开了恶意软件行为的多种方式。

卡巴斯基提供了下面的概览图。研究人员在两个Google Play应用中发现了"Necro"。其中一个是Wuta Camera,迄今为止已经有1000万次下载。Wuta Camera的版本6.3.2.148到6.3.6.148包含了感染应用程序的恶意SDK。

该应用程序已经更新,移除了恶意组件。另一个拥有大约100万次下载的应用,名为Max Browser,也受到了感染。该应用程序已不再在Google Play上提供。研究人员还发现"Necro"感染了各种在其他应用市场上提供的Android应用。

这些应用通常宣传自己是合法应用程序的修改版本,如Spotify、Minecraft、WhatsApp、Stumble Guys、Car Parking Multiplayer和Melon Sandbox。对于担心自己可能感染了"Necro"的人,应检查他们的设备是否存在本文结尾列出的妥协指标。

关注【黑客联盟】带你走进神秘的黑客世界
0 阅读:21

黑客部落

简介:计算机安全技术分享,网络安全攻防技术分享