首次在野发现恶意软件使用公司MDM作为攻击媒介

译文声明 本文是翻译文章,文章原作者 Aviran Hazum, Bogdan Melnykov, Chana Efrati, Danil Golubenko, Israel Wernik, Liav Kuperman, Ohad Mana,文章来源: 原文地址:https://research.checkpoint.com/2020/mobile-as-attack-vector-using-mdm/

摘要:

Check Point研究人员发现了一个针对跨国企业集团的Cerberus新变种,并通过该公司的移动设备管理器(MDM)服务器向下分发。该恶意软件已经感染该公司超过75%的设备。恶意软件被植入后,该变体可以收集大量敏感数据(包括用户凭据),并将其发送到远程命令和控制(C&C)服务器。

概述:

这是我们第一次报告利用MDM服务器作为传播手段并且在公司网络内发生横向移动事件。 黑客不断升级他们的战术和技术,变得越来越复杂。思科的TALOS在过去曾报道攻击者将iOS设备注册到MDM中,并使用这些设备控制受害者的设备的活动。这次攻击行为提升到了一个新的层次——危害企业拥有的MDM,并通过受损的MDM将恶意软件传播到75%以上的企业设备。 这一事件强调了区分管理和保护移动设备的重要性。管理移动设备意味着同时在多个设备上安装应用程序、配置设置和应用策略。保护移动设备的安全意味着保护它免受恶意软件威胁和攻击。 MDM最突出的特点(可以说是它存在的原因),也是它的致命弱点——对整个移动网络的单一中央控制。如果这个平台被攻破,整个移动网络也会被攻破。 在这种情况下,我们可以将该公司的设备分为两类:一类是具有SandBlast Mobile的设备,另一类是不具有SandBlast Mobile的设备。受保护的设备所有者无法访问公司资源的权限,而非受保护的设备有访问权限,甚至安装了允许威胁远程控制设备的恶意软件。

遭遇恶意软件:

2020年2月18日,我们检测到在大量客户设备被安装了两个恶意应用程序。由于所有的恶意应用在短时间内被大量安装,因此我们假设其中涉及到一些自动化。两种可能性立即浮现在脑海中:第一种是具有横向移动能力的恶意软件,第二种是客户的MDM被破坏。后来,客户证实他们的MDM确实被破坏了。 ::: hljs-center

1.png 图1:两个峰值显示已安装被大量新的恶意应用程序。

:::

这表明该公司遭到了有针对性的攻击。在获得对客户MDM的访问权之后,攻击者利用MDM远程安装应用程序的能力,在该公司75%以上的设备上安装恶意软件。 我们开始收集有关攻击本身的数据。我们检查了C&C服务器,它只是HTTP服务器。它监听端口8888,没有主机名,只有一个俄罗斯IP地址。网络防护设备将C&C的判定为“恶意/感染网站”。根据正确的安全策略,与C&C的所有通信都可能被阻止。 经过初步研究,我们得出结论,该恶意软件是针对Android的Cerberus木马的新变种,这是一种已知的恶意软件即服务(Maas)的模式,任何人都可以租用其服务来构建自己的攻击负载,并配置、命令和控制其设备。但这一新变种配备了比其他银行木马更多的功能——它具有移动远程访问木马(MRAT)功能。 这些功能包括记录设备上的所有按键操作(包括凭据)、窃取Google身份验证数据和接收到的任何SMS(包括2FA),以及通过TeamViewer远程命令设备。 我们仔细观察了这两个样本,很明显他们的能力几乎相同。从这个阶段开始,我们将这些示例称为恶意软件的“主模块”。我们在“技术分析”部分探讨恶意软件的技术方面。

技术层面分析:

恶意软件功能:

尽管该恶意软件属于Cerberus Banker家族,但正如我们之前所说,该样本还具有MRAT功能,可以窃取用户的信息,如通话记录、短信、凭据和已安装的应用程序。此恶意软件由两部分组成:主应用程序和从远程C&C服务器接收作为有效负载的DEX文件。 该恶意软件首先显示一个伪装为辅助功能服务更新的窗口。如果关闭,则该窗口将一直弹出,直到用户接受更新。然后,恶意软件会在稍后阶段使用权限来利用无障碍辅助服务,并自动单击菜单选项并绕过用户交互。 ::: hljs-center

2.png 图2:弹出强制用户更新。

:::

恶意应用程序会进行注册伪装成接收者,并在触发时启动恶意流执行。 首先,该恶意软件启动了一项服务,该服务向C&C发送设备的bot-id,锁屏保护状态,顶级应用程序包名称和存储写入权限。接下来,应用程序接收要执行的命令列表,这些命令可由参与者配置。然后,应用程序注册一个SMS的接收器,并收集传入SMS的消息,并在以后将其发送到C&C服务器。之后会上传更多敏感信息,包括电话号码,默认的SMS应用程序和区域设置。一旦接收到相应命令,恶意软件将下载编码的DEX文件,并将其保存在设备的外部存储中,命名为“ ring0.apk”。从这一点开始,我们将其称为“有效负载模块”。 ::: hljs-center

3.png 图3:注册接收器以收集SMS。

:::

::: hljs-center

4.png 图4:下载ring0.apk有效负载。

:::

下载有效负载模块后,恶意软件创建一个JSON对象,该对象包含用于与有效负载模块通信的各种参数。然后,它反射调用从DEX负载的入口点。 ::: hljs-center

5.png 图5:用于主模块和有效负载模块之间通信的JSON命令。

:::

恶意软件主模块的主要功能与数据和文件泄露以及控制设备有关。

恶意软件主要模块:

主模块可以使用Android辅助功能AccessibilityService来窃取Google认证者凭证、Gmail密码和手机解锁密码。此模块可以向C&C发送文件和已安装应用程序的列表,甚至可以根据C&C服务器的请求上传特定的文件。此外,所有用户的击键都会记录下来并发送到服务器,向黑客显示正在设备上执行的所有活动。恶意软件等待Google Authenticator应用程序被访问,此时所有可用的信息都会被读取和存储并发送到C&C。 ::: hljs-center

6.png 图6:将文件上传到C&C服务器。

:::

主模块还可以运行TeamViewer远程访问应用程序,从而使黑客可以完全控制设备。为此,恶意软件会从C&C接收连接参数,并使用Accessibility Service在适当的字段中输入它们。配置规避参数后,TeamViewer可以在恶意软件保持设备未锁定的情况下运行。在Samsung设备上运行TeamViewer时,该恶意软件会利用Samsung KNOX自动授予权限。 ::: hljs-center

7.png 图7:在Samsung KNOX中授予TeamViewer的权限。

:::

为了保持对设备的控制,恶意软件可以阻止尝试卸载TeamViewer的行为,并阻止用户使用此应用程序,以免干扰攻击者在设备上的操作。 ::: hljs-center

8.png 图8:与TeamViewer相关的命令。

:::

该模块还可以停止负责从服务器接收命令的RAT服务。此服务稍后可以由ring0.apk负载模块重新启动。 该恶意软件使用几种技术来保持持久性控制。该恶意软件赋予其自身管理权限,使应用程序卸载复杂化。每当用户尝试访问该应用程序时,该恶意软件还会自动关闭“应用程序详细信息”页面,从而阻止尝试删除该应用程序。此外,还使用辅助功能禁用了Google Play保护,以防止检测和删除恶意软件。 ::: hljs-center

9.png 图9:防止恶意软件删除。

:::

::: hljs-center

10.png 图10:禁用Google Play保护。

:::

为了防止MIUI(MI用户界面)优化干扰其执行,恶意应用程序会在权限中心启用“自动启动”并配置电源管理器,以使其不会挂起或终止应用程序。 ::: hljs-center

11.png 图11:配置MIUI Powerkeeper。

:::

有效负载模块:

下载的ring0.apk模块具有用于窃取数据和凭据,在设备上执行各种操作,以及用于维护恶意软件本身的功能。 ring0.apk模块可以收集所有联系人,SMS和已安装的应用程序,并将其发送到C&C。该模块还可以执行与电话相关的操作,例如发送特定的SMS消息,拨打电话和发送USSD请求。此外,该模块可以显示通知,安装或卸载应用程序以及使用URL打开弹出窗口的行为。 ::: hljs-center

12.png 图12:HTML弹出窗口以窃取用户的Gmail凭据。

:::

::: hljs-center

13.png 图13:使用Accessibility Service窃取Google Authenticator凭据。

:::

ring0.apk模块还负责恶意软件正常运行所需的一些自维护更改。其中包括授予自己权限,以及启用负责从C&C接收命令的服务。该模块还可以擦除有效负载文件,以便在以后接收更新的有效负载文件,将其自身从设备的管理员列表中删除,并从设备中完全删除恶意软件。 ::: hljs-center

14.png 图14:删除ring0.apk有效负载文件。

:::

以下是恶意软件应用程序可以从C&C接收的命令:

命令 功能
open_folder 将外部存储中的文件列表发送到C&C。
get_apps 将已安装的应用程序列表发送到C&C。
rat_disconnect 停止RAT服务
device_unlock 保持屏幕解锁。
open_teamviewer 为TeamViewer应用程序配置规避参数。
启动TeamViewer应用程序
connect_teamviewer 存储从C&C收到的凭据。
为TeamViewer应用程序配置规避参数。
将TeamViewer应用程序连接到攻击者的设备。
send_settings • 为TeamViewer应用配置规避参数。

有效载荷模块可以从C&C接收以下命令:

命令 功能
patch_update 删除有效负载文件。
rat_connect 启用RAT服务。
remove_bot 从设备中自行删除。
run_admin_device 从管理员列表中删除恶意软件的管理员。
request_permission 允许恶意软件授予自己权限。
grabbing_google_authenticator2 通过无障碍辅助服务拦截Google身份验证程序凭据
grabbing_pass_gmail 通过显示假窗口来拦截Gmail密码。
grabbing_lockpattern 通过显示假窗口来拦截屏幕解锁图案。
get_data_logs 收集已安装的应用程序,联系人和SMS。
send_sms 发送短信到指定号码。
ussd 发送USSD请求。
call_forward 拨打特定号码。
notification 显示通知。
url 使用特定的URL打开弹出活动。
run_app 启动特定的应用程序。
remove_app 卸载应用程序。

公司损害:

尽管ONP(设备上网络保护)未处于活动状态,并且我们无法确定泄漏了哪些特定数据。但我们已经分析出该恶意软件的功能,在未受保护的设备使用的所有凭据都会发送给C&C服务器。设备上,每条SMS消息都会被拦截。我们可以推测受影响的公司的潜在损失。 如果管理员使用一个不受保护的设备,然后尝试使用其凭据访问公司资源,则这些凭据以及任何2FA SMS代码都会受到威胁。 由于该恶意软件的功能范围,该公司决定对所有设备恢复出厂设置,以确保未受保护的设备上没有残留恶意软件或攻击行为。但是,这种的响应在进行损害评估以及在工厂重置后重新建立整个移动网络方面都非常昂贵。

结论:

本次恶意行为分析证明了了解管理和保护移动设备之间区别的重要性。尽管MDM提供了一种简单的方法来管理设备,但安全性不可忽视。移动设备是我们工作,沟通以及业务运作方式不可或缺的一部分,它需要像其他任何端点一样受到保护。 在最近几个月中,我们观察到恶意行为体正在开展活动。这些行为正在利用来自一般威胁环境的技术和方法,利用从不同平台上运行获得的经验教训,加强在移动世界这一“年轻”威胁环境中的运营。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐