安卓恶意软件MMRat通过虚假应用商店进行银行欺诈
2023-9-2 11:20:0 Author: www.4hou.com(查看原文) 阅读量:9 收藏

导语:趋势科技移动应用信誉服务(MARS)团队最近发现了一种全新的、完全未被发现的安卓银行木马,名为MMRat,自2023年6月底以来一直针对东南亚的移动用户。

趋势科技移动应用信誉服务(MARS)团队最近发现了一种全新的、完全未被发现的安卓银行木马,名为MMRat,自2023年6月底以来一直针对东南亚的移动用户。

研究人员将此恶意Android银行木马命名为MMRat (趋势科技检测为AndroidOS_MMRat.HRX),自2023年6月下旬以来一直针对东南亚的移动用户。该恶意软件以其独特包名com.mm.user命名。可以捕获用户输入和屏蔽内容,还可以通过各种技术远程控制受害者设备,使其运营商能够在受害者的设备上实施银行欺诈。

此外,MMRat使用基于协议缓冲区(又名Protobuf)的特殊自定义命令与控制(C&C)协议,这是一种用于序列化结构化数据的开源数据格式。这个功能在Android银行木马中很少见到,它在传输大量数据时提高了性能。

技术分析

分析显示,大多数MMRat样本都是从一系列伪装成官方应用商店的类似网络钓鱼网站下载的。这些网站主要在语言上有所不同,这表明了MMRat运营商的目标受害者范围。然而,这些网络钓鱼链接到达受害者设备的确切方法目前尚不清楚。

1.1.png

1.2.png

越南语和泰语的应用商店页面示例,包含提到应用程序安装提示的文本,第二张截图是对泰国政府实体的恶搞

在撰写本文时,该恶意软件在VirusTotal上完全未被发现,这表明用于使其隐蔽技术是成功的。类似的恶意软件,如GigabudRat和Vultur,也利用类似的技术,如键盘记录和屏幕捕获,在攻击阶段取得了显著的反规避效果。

MMRat如何被用于银行欺诈

MMRat攻击流程如下:

1.受害者下载并安装MMRat;

2.受害者授予MMRat必要的权限;

3.MMRat开始与远程服务器通信,并发送大量数据,包括设备状态、个人数据和键盘记录数据。

当目标设备未被使用时,攻击者可以远程唤醒设备,解锁屏幕,并执行银行欺诈。同时,攻击者还可以启动屏幕捕获,以实现设备屏幕的服务器端可视化。

在最后一步,MMRat自行卸载,从系统中删除恶意软件的所有痕迹。

2.png

MMRat攻击流程

MMRat分析

如前所述,MMRat能够捕获用户输入、屏幕内容并远程控制其受害者的设备。它在很大程度上依赖于Android辅助功能服务和MediaProjection API来正常工作。

模拟和持久化

为了避免被发现,MMRat经常伪装成官方政府或约会应用程序,然后在启动时向受害者展示一个网络钓鱼网站。随后,它注册一个接收器,该接收器可以接收系统事件,包括检测系统何时打开和关闭以及重新启动等。在收到这些事件后,恶意软件启动一个1x1大小的像素活动以确保其持久性。

3.png

WebView显示的虚假登录网站

与远程服务器的网络通信

在启动可访问性服务时,MMRat与攻击者控制的服务器建立连接。值得注意的是,MMRat在单个服务器上使用不同的端口来实现不同的功能:

4.png

MMRat在单个服务器上使用的端口

C&C协议特别独特,因为它基于Netty(一种网络应用程序框架)和前面提到的Protobuf进行自定义,并配有精心设计的消息结构。

对于C&C通信,攻击者使用一个总体结构来表示所有消息类型,并使用“oneof”关键字来表示不同的数据类型。研究人员仔细地重构了C&C通信中使用的主要Protobuf模式,如下图所示。

5.1.png

5.2.png

用于C&C通信的Protobuf模式

“PackType”是一个枚举结构,可用于表示C&C命令,而“pack”字段包含不同C&C命令对应的详细数据。

下图显示了恶意软件使用的已定义的C&C命令及其相应的描述。由于涉及双向通信,我们将C&C命令分为服务器命令和客户端命令。服务器命令发送给客户端,客户端命令发送给服务器。

6.png

MMRat C&C命令及其描述

收集设备状态和个人信息

MMRat收集大量的设备状态和个人数据,其中包括网络数据、屏幕数据、电池数据、安装的应用程序和联系人列表。

1.网络数据包括信号强度、网络类型等信息。

2.屏幕数据包括屏幕是否被锁定、当前正在使用的应用程序以及当前屏幕上显示的活动等信息。

3.电池数据提供有关设备电池状态的信息。

4.联系人包括用户的联系人列表。

5.已安装应用包括设备上安装的应用。

为了及时收集这些数据,MMRat安排了一个每秒执行一次的计时器任务,同时还使用一个每60秒重置一次的计数器来确定何时执行不同的任务。

7.png

用于根据计数器执行不同任务的计时器任务

MMRat专门针对受害者的联系人和已安装的应用程序列表进行收集。研究人员认为,攻击者的目标是盗取个人信息,以确保受害者符合攻击目标的设定。例如,受害者可能有符合特定地理条件的联系人,或者安装了特定的应用程序。然后,这些信息可以用于进一步的恶意活动。

8.png

收集并上传受害者的联系人名单和已安装应用程序的详细信息

自动权限审批

一旦授予了可访问性权限,MMRat就可以滥用它来授予自己其他权限并修改设置。例如,在前面的数据收集阶段,MMRat可以自动授予自己READ_CONTACTS权限来收集联系人数据。

上图中的代码片段显示了MMRat如何自动获得权限。它通过启动系统对话框并自动批准传入的权限请求来实现这一点。自动审批功能是通过在屏幕上找到“ok”或相关关键词,并使用可访问功能模拟点击来实现的。这意味着MMRat可以绕过用户干预,并授予自己执行恶意活动所需的权限。

9.png

请求权限并启动自动点击

10.png

关键词,如“ok”和其他类似的单词和短语

操作和捕获用户输入

MMRat滥用可访问性服务,通过键盘记录捕获用户输入和操作。这些数据可用于获取受害者的凭证,并记录受害者的操作,以便稍后在设备上回放。

与其他专注于特定场景的键盘记录恶意软件不同,例如只在受害者使用银行应用程序时记录键盘操作,MMRat记录用户操作的每个动作,并通过C&C通道将它们上传到服务器。MMRat背后的攻击者似乎想要从受害者那里收集大量的操作日志,以确定恶意软件的下一步行动。

11.png

记录用户操作并将其上传到命令与控制服务器

每个日志都是一个LogInfo结构,通过Protobuf序列化。

12.png

除了传统的键盘记录外,该恶意软件还对锁屏模式特别感兴趣。如果检测到用户正在解锁设备,恶意软件会收集模式值,并通过命令与控制通道上传到服务器。这使得攻击者可以访问受害者的设备,即使它是锁定的。

13.png

在锁定屏幕上进行键盘登录以获取模式值

捕获屏幕内容

MMRat可以捕获受害者设备的实时屏幕内容,并将内容流程传输到远程服务器。为了捕获屏幕内容,恶意软件主要依赖于MediaProjection API来记录受害者的屏幕。然而,我们还发现恶意软件使用另一种方法获取屏幕内容并绕过FLAG_SECURE保护,恶意软件将其称为“用户终端状态”。

根据观察,我们认为屏幕内容捕获功能与远程控制功能结合使用,因此攻击者可以在进行银行欺诈时查看设备的实时状态。我们发现,恶意软件不会捕获凭证,而是会不断检查命令,如果在30秒内没有收到命令,它会停止屏幕内容流程。

14.png

如果没有收到命令,则停止屏幕内容流程

Android MediaProjection API

为了方便地使用MediaProjection API并将视频数据流式传输到远程服务器,MMRat滥用了一个名为rtmp-rtsp-stream-client-java的开源框架。这使得它可以记录屏幕并通过实时流媒体协议(RTSP)将实时视频数据流传输到远程服务器。在接收到MEDIA_STREAM命令后,MMRat可以根据发布的配置记录两种类型的数据:屏幕和相机数据。

例如,当记录屏幕数据时,MMRat启动一个名为DisplayActivity的活动。该活动通过调用createScreenCaptureIntent请求记录权限,该操作会触发系统对话框弹出窗口以授予权限。如上所述,系统对话框是通过自动点击自动批准的。

15.png

请求权限和录屏

一旦录制请求获得批准,MMRat就开始录制屏幕,并通过调用开源框架存储库提供的API startStream将数据流式传输到C&C服务器。

16.png

Strat记录和数据流

用户终端状态

捕获屏幕内容的所谓“用户终端状态”方法与使用MediaProjection API的方法大不相同。顾名思义,MMRat并不将录屏为视频。相反,它滥用可访问服务,每秒递归地转储窗口中的所有子节点,并通过C&C通道上传转储的数据。因此,结果只包含文本信息而没有图形用户界面,因此类似于“终端”。

17.png

转储所有窗口并遍历根节点以递归方式获取所有子节点

尽管该方法有些粗糙,并且需要攻击者在服务器端进行额外的工作来重建数据,但它在收集远程检查和控制所需的信息(例如,用于点击和输入的节点信息)方面非常有效。由于这种方法不依赖于MediaProjection API,它可以绕过FLAG_SECURE的保护,FLAG_SECURE是一个可以添加到窗口参数以防止截屏和录屏的标志。

此外,使用Protobuf和基于Netty的自定义协议增强了性能。这在及时传输大量屏幕数据时特别有用,为攻击者提供类似视频流的效果。

远程控制

MMRat恶意软件滥用无障碍服务来远程控制受害者的设备,执行诸如手势、解锁屏幕和输入文本等操作。这可以被威胁行为者用来进行银行欺诈,再加上被盗的凭据。

18.png

执行动作

正如“MMRat如何执行银行欺诈”一节所述,研究人员认为,即使在执行其远程访问例程之前,MMRat也会执行逃避流程:

1.唤醒:恶意软件利用可访问性服务来模拟屏幕上的双击来唤醒设备。

2.解锁屏幕:恶意软件使用之前窃取的解锁模式解锁屏幕。

19.png

唤醒并解锁屏幕

最后,MMRat可以在受害者不积极使用手机时远程控制设备。

隐藏痕迹

MMRat恶意软件具有在接收到C&C命令UNINSTALL_APP时将其自身删除的能力。这种行为通常发生在银行欺诈实施之后,使追踪其活动变得更加困难。

20.png

自动从受害者的设备中自我删除

总结

MMRat是一个强大的Android银行木马,对手机用户构成了相当大的威胁,特别是在东南亚。它的关键功能,包括键盘记录、录屏和远程控制访问,使它能够有效地执行银行欺诈。

缓解建议

1. 只从官方商店下载应用程序,MMRat通常是从冒充官方应用商店的钓鱼网站下载的。

2. 始终使用可靠的平台,如Google Play Store或Apple App Store。

3.定期更新设备软件。更新通常包括防范MMRat等新安全功能。

4.在授予可访问性权限时要谨慎。MMRat利用Android的无障碍服务来进行恶意活动,始终仔细检查应用程序请求的权限。

5.在设备上安装信誉良好的安全解决方案,这有助于提前预防。

6.对你的个人和银行信息保持警惕,MMRat的目标是实施银行欺诈,所以要小心你在网上分享的信息和你提供给应用程序的数据。

本文翻译自:https://www.trendmicro.com/en_us/research/23/h/mmrat-carries-out-bank-fraud-via-fake-app-stores.html如若转载,请注明原文地址

  • 分享至

取消 嘶吼

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟


文章来源: https://www.4hou.com/posts/5wEv
如有侵权请联系:admin#unsafe.sh