TrickMo:TrickBot变种绕过双因子认证 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

TrickMo:TrickBot变种绕过双因子认证

ang010ela 恶意软件 2020-03-29 10:20:00
774248
收藏

导语:​研究人员发现一个TrickBot变种可以绕过银行app的双因子认证。

IBM X-Force研究人员发现一款安卓恶意软件使用TrickBot木马来感染用户。该app被命名为TrickMo,可以绕过银行交易认证所用的双因子认证和强认证。研究人员分析认为TrickMo仍然在开发中,目前主要攻击德国用户。德国也是TrickBot最早出现的地方。

桌面木马和移动组件

木马尝试注入移动设备的过程至少有十年的历史。当用户在桌面感染了Trickbot这样的恶意软件后,就会看到一个请求移动设备操作系统类型和电话号码的web注入。然后,如果表明使用的是安卓设备,木马就会用web注入伪装成银行欺骗受害者安装伪造的安全app。该app的目的就是获取和使用登入网上银行网站所需的安全验证码。

研究人员分析发现恶意安卓app最可能是通过TrickBot传播的,因此将其命名为TrickMo。TrickMo也是交易认证码窃取恶意软件中最新的版本,其主要功能有:

· 窃取个人设备信息

· 拦截SMS消息

· 记录定向应用的一次性密码

· 锁定手机

· 从设备上窃取图片

· 自毁和移除

因为银行会发布更多的高级安全措施,银行恶意软件也在不断地更新。比如,TrickMo可以打破最新的一次性密码方法。

恶意软件分析

研究人员分析发现TrickMo滥用了accessibility服务。任意app可以请求accessibility权限,并实现屏幕读取、修改对象大小和颜色、听力增强等功能。近年来,许多恶意安卓应用都在攻击场景中使用了accessibility服务。

安装成功后,TrickMo组件就会打开和发送视图开启用accessibility设置活动,让用户授予其accessibility权限,然后使用accessibility服务进行恶意活动,涉及的恶意活动包括:

· 防止用户卸载app;

· 修改设备的设置使其成为默认SMS APP;

· 监控当前运行的应用程序;

· 擦除屏幕上的文本。

安卓操作系统中包含许多需要同意或拒绝的对话框,程序根据用户在屏幕上的按钮或输入来执行动作。TrickMo用户使用accessibility服务来识别和控制部分屏幕,并在给与用户选择之前自己先做出选择。

在下图中,可以看到恶意软件可以在呈现给用户对话框时检测到,并根据预定义的选择让用户做出选择。

IBM Trusteer

图 2: accessibility服务中自动按键的函数

TrickMo的驻留能力

TrickMo与常见的安卓恶意软件不同,它注册了一个监听“android.intent.action.SCREEN_ON”和“android.provider.Telephony.SMS_DELIVER” 广播动作的接收器。然后用AlarmManager来设置一个暂停的intent来在预定义的时间后运行自己的服务。换句话说,TrickMo的服务会在设备设备交互或接收到新的SMS消息后启动。

IBM Trusteer

图 3:当接收到SCREEN_ON广播后启动恶意软件服务

配置

TrickMo用共享的preference机制来保存恶意软件运行时使用的设置和数据。其中一些设置是布尔值,表示一些可以被C2服务器或SMS消息关闭的特征,可以有效地指导恶意软件执行特定任务。

其中一些设置包括:

· C2服务器的URL;

· 服务唤醒的时间间隔;

· 重要的package名;

· Accessibility权限状态;

· 锁定屏幕状态;

· 录音状态;

· SMS APP状态;

· Kill switch状态。

混淆

为了隐藏自己,阻止研究人员分析,TrickMo使用了混淆器来混淆函数、类和变量的名。2020年1月的一个TrickMo版本中就含有检查app是否运行在root设备或模拟器上的代码来防止被分析。

如下图所示,可以看到加密和解密的共享preference文件,使用java “PBEWithMD5AndDES”算法进行加密。

IBM Trusteer

IBM Trusteer

图 4: TrickMo的加密和解密的共享preference文件

C2通信

窃取设备数据

为了与master主机进行通信,TrickMo的代码中含有一个硬编码的C2服务器URL地址。运行后,会通过非加密的HTTP请求周期性地连接到指定的服务器,并通过JSON对象发送含有受害者手机数据。窃取的数据包括:

· ID

· IMSI

· IMEI

· 手机号

· 运营商

· AID

· 型号

· 品牌

· 版本

· Build

· 电池电量

· Wi-Fi 连接状态

· 唤醒时间

· 恶意软件是否被设置为默认的SMS应用?

· 信号强度

· 屏幕尺寸

· 安装的应用列表

· 设备上保存的SMS消息

窃取和隐藏SMS消息

一些银行使用基于SMS的交易认证,TrickMo也被配置为周期性地窃取保存在设备上的SMS消息。

恶意软件会发送一个含有收集的设备数据和所有保存的SMS消息的包到C2服务器。因此使用了accessibility服务来将恶意软件设置为默认的SMS app,所以可以删除那些只有攻击者可以看到的SMS消息。

Figure 5

图 5: 发送到TrickMo C2服务器的设备数据和SMS消息

通过窃取的SMS建立的通信信道

此外,TrickMo还有一个自动发送SMS消息到C2服务器的机制。

在一些样本中,恶意软件使用该机制来发送重要动作的日志数据。恶意软件可以在设备上保存一个SMS消息,在收集号码域标记为internal。SMS消息就会例可发送给服务器,通知恶意软件运营者执行的任务。

下图是TrickMo发送给服务器的日志。如果恶意软件成功成为默认的SMS app,就会发送俄语的“the app has been replaced”。如果原始SMS app被复原了,就会发送“the app returned to its original place”。

Figure 6a

Figure 6b

图 6: 发送给攻击者C2服务器的SMS提供者替换日志

控制TrickMo

TrickMo的运营者可以通过2个信道控制恶意软件:

· 使用JSON对象通过明文的HTTP协议通过C2服务器;

· 通过加密的SMS消息。

有一些预定义的命令可以修改恶意软件的配置,使其执行特定的任务。包括:

· SMS控制

- 更新C2服务器地址——以http://开头的SMS

- 发送AES加密的SMS消息给发送者——以“sms://”开头的SMS

- 更新服务唤醒间隔——2

- Kill switch——4

· C2控制

- 更新C2服务器地址——1

- 更新服务唤醒间隔——2

- 锁定屏幕——5

- 在webview中展示一张来自任意URL的图片——11

- 发送任意SMS消息——8

- 窃取设备上保存的图片——12和13

- 用accessibility设置默认SMS app——6

- Kill switch——4

更多技术细节参见:

https://securityintelligence.com/posts/trickbot-pushing-a-2fa-bypass-app-to-bank-customers-in-germany/

本文翻译自:https://securityintelligence.com/posts/trickbot-pushing-a-2fa-bypass-app-to-bank-customers-in-germany/如若转载,请注明原文地址
  • 分享至
取消

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

扫码支持

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

发表评论

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