CVE-2019-2215是一个安卓提权漏洞,谷歌认为该漏洞已经在2017年12月修补好了。但是实际上在某些型号的手机并没有修补这个漏洞,这也就导致这些型号的手机都暴露在风险当中。
此前黑鸟对此进行过报道,并且放置了POC链接,有兴趣的可以自取。
▲安卓曝高危提权漏洞:
常见设备可被利用
而该漏洞此前被谷歌曝出曾被NSO Group(
以色列网络军火商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 Mange
r应用程序充当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服务器:
该应用程序使用RSA和AES加密算法对所有被盗数据进行加密。它使用SHA256来验证数据完整性并自定义编码例程。加密时,它将创建一个名为headData的数据块。
该块包含原始数据的前9个字节,原始数据长度,随机AES IV,RSA加密的AES加密密钥以及AES加密的原始数据的SHA256值。然后headData通过定制例程进行编码。编码后,将其存储在最终加密文件的开头,然后再存储AES加密原始数据的数据。