基于新型MMRat木马窥伺近来木马技术与防范

admin 2023年9月23日23:12:15评论45 views字数 3680阅读12分16秒阅读模式
基于新型MMRat木马窥伺近来木马技术与防范
1. 概述
近期,东南亚用户面临了一批名为MMRat的Android银行木马的新兴威胁。该恶意软件以其复杂的安全机制脱颖而出,不仅可以绕过技术防御,实时捕获用户设备输入和屏幕内容,同时具备远程控制功能,允许攻击者在受害者手机上进行金融欺诈活动。
安天移动威胁情报团队随后对此类新型木马进行了深入分析,发现其不同于常规银行木马之处在于:

● 结合窃取的手势和密码,配合金融凭证的方式,实施金融窃取;

● 绕过金融app不能截屏和录屏的限制,采用直接每秒递归获取界面所有子节点;

● 保活手段采用1像素窗口保活;

● 采用rtmp-rtsp-stream-client-java框架配合1像素activity实现录屏;

● 采用木马中少见的Netty通信框架和Protobuf格式,完成数据通信;

本文接下来将从MMRat病毒家族的木马样例出发,对比近年来流行安卓木马的保活和恶意性技术的趋势,同时提出一些应对和防护措施。
基于新型MMRat木马窥伺近来木马技术与防范
2. 保活技术及恶意性技术分析
MMRat样本基本信息

基于新型MMRat木马窥伺近来木马技术与防范

图2-1 样本基本信息

■ 金融窃取行为

MMRat木马采用无障碍权限记录用户的手势、输入文本:

基于新型MMRat木马窥伺近来木马技术与防范

图2-2 无障碍权限记录用户手势、输入文本

用户无操作时,解锁手机,通过远程操作,实现金钱窃取:

基于新型MMRat木马窥伺近来木马技术与防范

图2-3 远程操作解锁手机

反观有名的Gigabud木马,通过模仿合法应用程序(包括政府和金融机构应用程序),并滥用屏幕捕获键盘记录技术作为捕获凭据技术的一部分来访问凭据和其他敏感信息。绕过身份验证和第二因素,替换剪贴板中的银行卡号,并通过受害者的设备远程访问执行自动支付
防护措施:
从源头避免被恶意木马感染,从官方应用市场下载和安装应用,同时在使用陌生应用输入密码时需格外谨慎。
■ 绕过屏幕保护行为
在Android的 MediaProjection API中FLAG_SECURE参数表示保护屏幕内容不被截屏或录屏,尤其是在一些金融应用、密码管理器或者其他敏感应用中大多会设置相关数据保护。
MMRat木马滥用Accessibility服务,每秒递归转储窗口中的所有子节点,并上传数据:

基于新型MMRat木马窥伺近来木马技术与防范

图2-4 Accessibility服务

其中可获取数据均为文本信息,没有图形界面,从而绕过FLAG_SECURE限制,详细包括数据如下:
  • 文本信息:nodeInfo.getText()方法来获取界面元素上显示的文本信息。
  • 控件类型:nodeInfo.getClassName()方法可以告诉你界面元素所属的控件类型,例如按钮、文本框、列表项等。
  • 控件状态:nodeInfo.isEnabled()方法可以告诉你界面元素是否可用,nodeInfo.isClickable()可以告诉你是否可点击,nodeInfo.isChecked()可以告诉你复选框或单选按钮是否被选中等。
  • 界面层级:nodeInfo.getChildCount()方法可以告诉你一个视图中有多少子视图,nodeInfo.getChild(int index)可以获取特定索引的子视图。
  • 界面坐标和大小:nodeInfo.getBoundsInScreen(Rect outBounds)方法来获取界面元素在屏幕上的位置和大小。
  • 内容描述:nodeInfo.getContentDescription()方法可以提供关于视图元素的内容描述。
  • ID 和标签:nodeInfo.getViewIdResourceName()方法可以获取视图的资源ID名称,nodeInfo.getLabelFor()可以获取与视图相关联的标签。
  • 其他辅助功能属性:nodeInfo.getPackageName()可以获取应用的包名,nodeInfo.getWindowId()可以获取窗口的ID等。
其余木马多采用注入xposed或者frida,使用hook技术绕过FLAG_SECURE保护。

防护措施:

绕过屏幕保护行为多会向设备申请无障碍权限,用户需格外警惕授予该权限。金融、密码管理器以及其他敏感应用需要frida、xposed等hook框架的检测。

■ 保活行为
保活技术旨在确保木马能够在后台保持运行,以提供某些服务或功能,而不被系统或任务管理器杀死。
MMRat木马1像素activity保活,其中android:excludeFromRecents="true",可使最近任务列表中不显示该 Activity 组件:
<activity android:theme="@style/OnePixelActivity"android:name="com.mm.user.ui.activity.DisplayActivity" android:exported="true" android:finishOnTaskLaunch="false" android:excludeFromRecents="true" android:launchMode="singleTask"/>
<activity android:theme="@style/OnePixelActivity"android:name="com.mm.user.ui.activity.RequestPermissionActivity" android:exported="true"android:finishOnTaskLaunch="false" android:launchMode="standard" android:configChanges="screenSize|orientation|navigation|keyboardHidden|keyboard"/>
注册广播监听屏幕亮屏,亮屏关闭1像素窗口:

基于新型MMRat木马窥伺近来木马技术与防范

图2-5 注册广播监听屏幕亮屏

其余木马多使用AutoStarter开源项目,针对国产手机品牌做保活:

基于新型MMRat木马窥伺近来木马技术与防范

图2-6 使用AutoStarter开源项目对xiaomi、vivo手机品牌做保活

双进程保活:

基于新型MMRat木马窥伺近来木马技术与防范

图2-7 双进程保活

静默播放音乐保活:

基于新型MMRat木马窥伺近来木马技术与防范

图2-8 静默播放音乐保活

使用 JobScheduler 或 WorkManager 来安排定期执行任务。这些 API 可以更有效地管理资源和电池寿命,并确保任务在适当的时候执行。
使用 AlarmManager 来定期唤醒应用的组件,以确保应用保持活跃。但要谨慎使用,因为它可能对电池寿命产生负面影响。
防范措施:
谨慎授予应用权限,可依此限制应用的后台行为;启动电池优化模式;及时更新android系统,高版本android系统有更严格的后台运行限制。
■ 录屏行为
MMRat木马开启1像素窗口,随后调用 createScreenCaptureIntent请求录制权限,再通过无障碍权限自动授予:

基于新型MMRat木马窥伺近来木马技术与防范

图2-9 开启1像素窗口

基于新型MMRat木马窥伺近来木马技术与防范

图2-10 请求录屏

采用rtmp-rtsp-stream-client-java框架收集实时视频数据:

基于新型MMRat木马窥伺近来木马技术与防范

图2-11 采用rtmp-rtsp-stream-client-java框架收集实时视频数据

其余银行木马多采用常规请求录屏操作:

基于新型MMRat木马窥伺近来木马技术与防范

图2-12 常规请求录屏

防范措施:

应谨慎授予设备的录屏权限,同时在敏感界面操作禁止录屏和截屏。

通信框架
Netty 是一个高性能的网络通信框架,专为构建可扩展性和高吞吐量的网络应用程序而设计。它通过异步和事件驱动的模型,可以处理数千个并发连接而不会阻塞。
Protocol Buffers (protobuf) 是一种高效的二进制序列化格式,比起文本格式(如JSON和XML)具有更小的数据体积和更快的编解码速度。这意味着在网络传输中,protobuf可以减少带宽占用和处理时间,提高数据传输效率。
MMRat木马使用Netty网络通信框架和Protobuf的自定义格式,可以完成高效和高自由度的数据通信。

基于新型MMRat木马窥伺近来木马技术与防范

图2-13 使用Netty网络通信框架和Protobuf的自定义格式进行通讯

在样本中使用Protobuf组织的远控指令数据格式如下所示:

基于新型MMRat木马窥伺近来木马技术与防范

图2-14 远控指令数据格式

近来比较流行的airvat开源木马,采用监听fcm中DataSnapshot事件,获取远控指令:

基于新型MMRat木马窥伺近来木马技术与防范

图2-15 监听fcm中DataSnapshot

解析远控指令:

基于新型MMRat木马窥伺近来木马技术与防范

图2-16 解析远控指令

相关数据上传到firebasestorage:

基于新型MMRat木马窥伺近来木马技术与防范

图2-17 上传数据至firebasestorage

防范措施:

远控及上传数据行为会产生大量流量数据,因此警惕设备的异常大型流量请求。

基于新型MMRat木马窥伺近来木马技术与防范
3. 总结
移动端银行木马通常以伪装成合法金融应用程序的形式出现,窃取用户的金融数据,包括账户信息、信用卡号码和密码。一些恶意应用还可以监控用户的键盘输入,以截取登录凭据。攻击者通过目标定制攻击,配合社会工程学如虚假的通知、警告或奖励等来欺骗用户手法越发常见,因此用户需要保持警惕,并采取必要的安全预防措施,以降低受到这些威胁的风险。

建 议

从官方应用商店下载应用程序,避免使用第三方应用市场;

不要点击来源不明的短信或电子邮件中的链接;

定期更新设备操作系统和应用程序;

不要在公共wifi网络上访问敏感金融账户,并定期检查银行和金融账户的交易;

原文始发于微信公众号(赤弋安全团队):基于新型MMRat木马窥伺近来木马技术与防范

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月23日23:12:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于新型MMRat木马窥伺近来木马技术与防范https://cn-sec.com/archives/2060882.html

发表评论

匿名网友 填写信息