● 结合窃取的手势和密码,配合金融凭证的方式,实施金融窃取;
● 绕过金融app不能截屏和录屏的限制,采用直接每秒递归获取界面所有子节点;
● 保活手段采用1像素窗口保活;
● 采用rtmp-rtsp-stream-client-java框架配合1像素activity实现录屏;
● 采用木马中少见的Netty通信框架和Protobuf格式,完成数据通信;
图2-1 样本基本信息
■ 金融窃取行为
图2-2 无障碍权限记录用户手势、输入文本
图2-3 远程操作解锁手机
FLAG_SECURE
参数表示保护屏幕内容不被截屏或录屏,尤其是在一些金融应用、密码管理器或者其他敏感应用中大多会设置相关数据保护。图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等。
FLAG_SECURE
保护。防护措施:
绕过屏幕保护行为多会向设备申请无障碍权限,用户需格外警惕授予该权限。金融、密码管理器以及其他敏感应用需要frida、xposed等hook框架的检测。
<
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"
/>
图2-5 注册广播监听屏幕亮屏
图2-6 使用AutoStarter开源项目对xiaomi、vivo手机品牌做保活
双进程保活:
图2-7 双进程保活
静默播放音乐保活:
图2-8 静默播放音乐保活
图2-9 开启1像素窗口
图2-10 请求录屏
图2-11 采用rtmp-rtsp-stream-client-java框架收集实时视频数据
图2-12 常规请求录屏
应谨慎授予设备的录屏权限,同时在敏感界面操作禁止录屏和截屏。
图2-13 使用Netty网络通信框架和Protobuf的自定义格式进行通讯
图2-14 远控指令数据格式
图2-15 监听fcm中DataSnapshot
图2-16 解析远控指令
图2-17 上传数据至firebasestorage
远控及上传数据行为会产生大量流量数据,因此警惕设备的异常大型流量请求。
建 议
从官方应用商店下载应用程序,避免使用第三方应用市场;
不要点击来源不明的短信或电子邮件中的链接;
定期更新设备操作系统和应用程序;
不要在公共wifi网络上访问敏感金融账户,并定期检查银行和金融账户的交易;
原文始发于微信公众号(赤弋安全团队):基于新型MMRat木马窥伺近来木马技术与防范
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论