CVE-2019-2215是一个安卓提权漏洞,谷歌认为该漏洞已经在2017年12月修补好了。但是实际上在某些型号的手机并没有修补这个漏洞,这也就导致这些型号的手机都暴露在风险当中。
而该漏洞此前被谷歌曝出曾被NSO Group用来攻击NGO组织。
由于该漏洞的POC已经曝光,并且Github也有安全人员对此进行复现,因此其他黑客或网军利用该漏洞进行攻击将会是一个必然事件,果不其然,趋势科技近日发布报告称,他们在Google Play商店中发现了三个恶意应用程序,主要功能是破坏受害者的设备并收集用户信息。
其中一个名为Camero的应用利用了CVE-2019-2215这个漏洞,该漏洞存在于Binder(Android中主要的进程间通信系统)中,也就是上面提到的漏洞。
此外,这三个APP还可能是APT组织SideWinder发起的攻击,也就是响尾蛇组织,根据网上相关分析表明,据称该组织来源于印度网军。针对巴基斯坦和中国进行了多年攻击。
这三个恶意应用伪装成摄影和文件管理器工具。根据其中一个应用程序的证书信息,推测这些应用程序自2019年3月以来一直处于活动状态。目前这些应用已从GooglePlay中删除下架。
图1.与SideWinder组相关的三个应用
图2.其中一个应用程序的证书信息
SideWinder分两个阶段安装APP应用程序的Payload。它首先从其C2服务器下载一个DEX文件。该服务器通过Apps Conversion Tracking配置。该地址由Base64编码,然后设置为恶意软件分发所用URL中的Referrer参数。
格式类似如下
https://reawk.net/202/jQcPZ3kx6hGod25WMnTocKStUToZEPRy6WfWkEX3/-1/12571/87854fea
图3.解析的C&C服务器地址
完成此步骤后,下载的DEX文件将下载APK文件,并在利用设备或使用辅助功能安装该文件。所有这些都是在没有用户意识或干预的情况下完成的。为了逃避检测,它使用了许多技术,例如混淆,数据加密和调用动态代码。其中Camero和FileCrypt Manger应用程序充当dropper。
从C&C服务器下载额外的DEX文件后,第二层放置器会调用额外的代码以在设备上下载,安装和启动callCam应用程序。
见下图,便是这三个APP的关系,一个APP下载并启动另一个APP的关系。而另一个,也就是callcam,就搭载了上面介绍的提权漏洞。
图4.第二阶段Payload部署
图5.代码展示了初始APP如何调用额外的DEX代码
要在用户不知情的情况下在设备上部署下载回来的APP:callCam,SideWinder将执行以下操作:
一、通过漏洞提权攻击。
这个方法为Camero应用程序所为。其会去下载漏洞利用,仅适用于
Google Pixel(Pixel 2,Pixel 2 XL),诺
基亚3(TA-1032),LG V20(LG-H990),
Oppo F9(CPH1881),和Redmi 6A设备。
该恶意软件会根据Dropper下载的DEX从C&C服务器检索特定的漏洞利用。
很熟悉吧,没错就是开头那张表。
图6. Camero从Extra DEX下载的代码片段
实际上,趋势的安全研究员从C&C服务器下载了五个漏洞利用。其中包含了用漏洞CVE-2019-2215和MediaTek-SU来获得root特权。
图7. CVE-2019-2215攻击
图8. MediaTek-SU利用
获得root特权后,该恶意软件将安装应用程序callCam,启用其可访问性权限,然后启动它。
图9.命令安装应用程序,启动应用程序,并启用辅助功能
2. 使用安卓辅助功能获取额外权限。
Dropper应用程序FileCrypt Manager使用此方法,并且可在高于Android 1.6的大多数典型Android手机上使用。启动后,该应用会要求用户启用辅助功能。
这个招式也是最常用的安卓恶意软件的攻击方式。
图10.FileCrypt Manager提示用户
获得批准后,该应用程序将显示一个全屏窗口,提示您需要进一步的设置步骤。实际上,那只是一个覆盖屏幕的Activity,其显示在设备上所有活动窗口的顶部。但这里并没有使用这个招数(安卓特性漏洞重浮水面,已被多个恶意应用利用),还不够新颖
覆盖窗口将其属性设置为FLAG_NOT_FOCUSABLE和FLAG_NOT_TOUCHABLE,从而使活动窗口可以通过覆盖屏幕检测和接收用户的触摸事件。比较老派。
图11.覆盖屏幕的Activity
同时,该应用程序从额外的DEX文件中调用代码以启用未知应用程序的安装和callCam应用程序的安装。它还会启用下载回来的辅助功能的所有权限,然后启动该应用程序。所有这些都发生在用户不知道的覆盖屏幕的Activity后面。并且,所有这些步骤都是通过使用辅助功能来执行的。
图12.启用安装未知应用程序和新APK的代码
图13.新安装的应用程序的代码启用访问权限
启动后,应用程序callCam会在设备上隐藏其图标。它收集以下信息,并在后台将其发送回C&C服务器:
-
位置
-
电池状态
-
设备上的文件
-
已安装的应用列表
-
设备信息
-
传感器信息
-
相机资讯
-
屏幕截图
-
帐户
-
无线网络信息
-
微信,Outlook,Twitter,Yahoo Mail,Facebook,Gmail和Chrome的数据
该应用程序使用RSA和AES加密算法对所有被盗数据进行加密。它使用SHA256来验证数据完整性并自定义编码例程。加密时,它将创建一个名为headData的数据块。
该块包含原始数据的前9个字节,原始数据长度,随机AES IV,RSA加密的AES加密密钥以及AES加密的原始数据的SHA256值。然后headData通过定制例程进行编码。编码后,将其存储在最终加密文件的开头,然后再存储AES加密原始数据的数据。
图14.数据加密过程
图15.完成的定制编码例程
这些应用可能归因于SideWinder,因为它使用的C&C服务器被怀疑是SideWinder基础架构的一部分。此外,在其中一台C&C服务器上也找到了链接到应用程序之一Google Play页面的URL。
图16.在其中一台C&C服务器中找到FileManager应用程序的Google Play URL。
在Google Play这样有专人审核的应用市场都会混入恶意软件,充分说明了,防止手机中马,还得靠个人的安全意识。
手机只留常用软件,下载只下载大厂出品,一些解决需求的APP建议在模拟器中打开。
相关报告
https://blog.trendmicro.com/trendlabs-security-intelligence/first-active-attack-exploiting-cve-2019-2215-found-on-google-play-linked-to-sidewinder-apt-group/
IOC以及样本下载
https://github.com/blackorbird/APT_REPORT/tree/master/sidewinder
声明:本文来自鸟情局,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。