安卓恶意软件MMRat通过虚假应用商店进行银行欺诈 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

安卓恶意软件MMRat通过虚假应用商店进行银行欺诈

xiaohui 技术 2023-09-02 11:20:00
58429
收藏

导语:趋势科技移动应用信誉服务(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如若转载,请注明原文地址
  • 分享至
取消

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

扫码支持

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

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务