Google Play商店被发现新型银行木马Xenomorph

Google Play商店被发现新型银行木马Xenomorph

介绍

2022 年 2 月,ThreatFabric 发现了一种新的 Android 银行木马,我们称之为Xenomorph。这个名字来自于它与另一个臭名昭著的银行木马 Alien 的明显联系,Xenomorph 从中采用了类名和有趣的字符串。

Google Play商店被发现新型银行木马Xenomorph

根据收集到的情报,56 家不同欧洲银行的用户是这个新的 Android 恶意软件木马的目标,该木马分布在官方Google Play 商店安装量超过50.000

就像著名的雷德利斯科特系列的怪物主角一样,这种恶意软件与它的前身有一些共同之处。然而,尽管 Xenomorph 与过去两年传播最广泛的恶意软件之一有着明显的联系,但 Xenomorph 在功能上与 Alien 截然不同。这一事实,除了存在未实现的功能和恶意软件上存在的大量日志记录外,可能表明该恶意软件可能是对原始Alien 负责的参与者的正在进行的新项目,或者至少是熟悉其代码库的人。不过,目前这只是猜测。

分配

正如我们之前所讨论的,威胁参与者越来越多地集中精力潜入 Google Play 商店 ( MITRE T1475 )。

谷歌似乎采取了一些措施来减少应用市场上的恶意应用数量,但这些努力往往不足以阻止犯罪分子进入应用商店。作为我们日常威胁搜寻的一部分,ThreatFabric 分析师会遇到商店中的恶意应用程序并将其报告给 Google。

ThreatFabric 发现的应用程序之一是冒充“Fast Cleaner”,该应用程序旨在通过删除未使用的杂乱和删除电池优化块来加速设备。该应用程序本身似乎很成功,在 Google Play 上报告了超过50.000 次安装。这并不少见,我们已经看到此类应用程序部署了 Vultur 和 Alien 等恶意软件系列。

Google Play商店被发现新型银行木马Xenomorph

经过分析,我们认为该应用程序属于Gymdrop滴管系列。Gymdrop 是 ThreatFabric 于 2021 年 11 月发现的一个 dropper 系列。之前有人观察到它部署了 Alien.A 有效载荷。从 dropper 下载的配置中,ThreatFabric 能够确认此 dropper 系列继续采用此恶意软件系列作为其有效负载。然而,与过去不同的是,托管恶意代码的服务器还包含另外两个恶意软件家族,根据特定的触发器,它们也被返回而不是 Alien。

首先,我们观察到属于新一波ExobotCompact.D的样本,它在过去几周一直处于新的复苏状态,冒充 Google Play 商店应用程序以及不同的银行应用程序。

Google Play商店被发现新型银行木马Xenomorph

然而,尽管我们第一次观察到 ExobotCompact.D 和 Alien.A 由同一个 dropper 基础设施分发,但最让我们惊讶的是一个全新的恶意软件家族的存在。这就是 ThreatFabric 发现Xenomorph的方式。

功能

以下是 Xenomorph 功能的完整列表:

Google Play商店被发现新型银行木马Xenomorph

无障碍服务

这种 Android 银行恶意软件正在大量开发中,主要支持现代 Android 银行木马所需的最低功能列表。如前所述,它的主要攻击向量是使用覆盖攻击来窃取凭据,结合使用短信和通知拦截来记录和使用潜在的 2FA 令牌

为该恶意软件提供支持的可访问性引擎以及基础设施和 C2 协议都经过精心设计,可扩展和更新。

该恶意软件的日志记录功能存储的信息非常广泛,如果将其发送回 C2 服务器,可用于实现键盘记录,以及收集受害者和已安装应用程序的行为数据,即使它们不属于目标列表。

int v0 = arg4.getEventType();
    switch(v0) {
        case 1: {
            UtilGlobal.Log("onAccessibilityEvent", "###    type: TYPE_VIEW_CLICKED");
            break;
        }
        case 2: {
            UtilGlobal.Log("onAccessibilityEvent", "###    type: TYPE_VIEW_LONG_CLICKED");
            break;
        }
        case 4: {
            UtilGlobal.Log("onAccessibilityEvent", "###    type: TYPE_VIEW_SELECTED");
            break;
        }
        case 8: {
            UtilGlobal.Log("onAccessibilityEvent", "###    type: TYPE_VIEW_FOCUSED");
            break;
        }
         . . . 
        case 0x20: {
            UtilGlobal.Log("onAccessibilityEvent", "###    type: TYPE_WINDOW_STATE_CHANGED");
            this.windowStateChangedEvent(arg4); // function responsible for injections
            break;
        }
        case 0x40: {
            UtilGlobal.Log("onAccessibilityEvent", "###    type: TYPE_NOTIFICATION_STATE_CHANGED");
            this.notificationStateChanged(arg4); // function responsible for logging notifications
            break;
        }
        . . .
    } 

基于恶意软件代码中存在许多命令但未实现的事实,Xenomorph 似乎处于起步阶段。除此之外,使用的大量日志记录也表明这可能是一个正在进行的恶意软件项目。

尽管到目前为止有很多“正在进行中”的功能,但 Xenomorph 包含支持更多功能的代码。它的可访问性引擎非常详细,并且在设计时考虑了模块化方法。它包含机器人所需的每个特定操作的模块,并且可以轻松扩展以支持更多功能。在不久的将来看到这个机器人具有半 ATS 能力也就不足为奇了。

与许多其他 Android 银行木马一样,该木马严重依赖覆盖攻击机制来欺骗受害者泄露个人身份信息 (PII),然后犯罪分子可以利用这些信息进行欺诈。如果恶意软件获得了它在启动后坚持要求的 Accessiblity Services 权限,它将自动授予自己所有需要的权限,然后在设备上静默执行。

以下是请求权限的一些屏幕截图:

Google Play商店被发现新型银行木马Xenomorph

作案手法

Xenomorph 的主要攻击向量是由 Accessibility Services 权限支持的经典覆盖攻击。一旦恶意软件在设备上启动并运行,其后台服务就会在设备上发生新情况时接收可访问性事件。如果打开的应用程序是目标列表的一部分,则 Xenomorph 将触发覆盖注入并显示冒充目标包的 WebView Activity。以下是触发覆盖的几个示例:

Google Play商店被发现新型银行木马Xenomorph

此功能由您在下面的代码段中看到的代码执行:

protected void onStart() {
    super.onStart();
    this.context = this;
    OverlayInjectResource v0 = UtilGlobal.getPackageInjection(this, UtilGlobal.SettingsRead(this, "AITG"));
    this.resource = v0;
    this.hideStop = true;
    if(!this.stopActivity && v0 != null) {
        try {
            WebView v0_2 = new WebView(this);
            this.wv = v0_2;
            v0_2.getSettings().setJavaScriptEnabled(true);
            this.wv.setScrollBarStyle(0);
            this.wv.setWebViewClient(new MyWebViewClient(null));
            this.wv.setWebChromeClient(new MyWebChromeClient(null));
            this.wv.addJavascriptInterface(new WebAppInterface(this), "Android");
            String v3 = this.resource.getPageResource(this);
            this.wv.loadDataWithBaseURL(null, v3, "text/html", "UTF-8", null);
            this.setContentView(this.wv);
        }
        catch(Exception v0_1) {
            v0_1.printStackTrace();
        }

        return;
    }
}

此外,该恶意软件能够滥用辅助功能服务来记录设备上发生的所有事情。在撰写本文时,收集到的所有信息仅显示在本地设备日志中,但将来只需进行非常小的修改即可为恶意软件添加键盘记录和可访问性记录功能。

目标

作为第一步,恶意软件会发回设备上已安装软件包的列表,并根据设备上存在的目标应用程序下载相应的覆盖以注入。Xenomorph 返回的覆盖目标列表包括来自西班牙、葡萄牙、意大利和比利时的目标,以及一些通用应用程序,如电子邮件服务和加密货币钱包

Google Play商店被发现新型银行木马Xenomorph

C2 通信与命令

对于 C2 通信,Xenomorph 依赖于开源项目Retrofit2

Retrofit 是 Square 开发的适用于 Android、Java 和 Kotlin 的类型安全 REST 客户端。该库提供了一个强大的框架,用于验证和与 API 交互以及使用 OkHttp 发送网络请求。


注意ThreatFabric 想要明确提及 RetroFit 是合法且合法的产品。创建此项目的开发人员无法控制其软件的滥用。


在获得无障碍服务权限后,Xenomorph 将首先向 C2 注册并验证自己,方法是在端点“ ping ”发送包含以下信息的请求:

{
    "api":"%DEVICE_SDK_NUMBER%",
    "apps":["%LIST%","%OF%","%INSTALLED%", "%APPS%"],
    "imei":"%IMEI%",
    "model":"%MODEL%",
    "numbers":["%LIST%","%OF%","%CONTACTS%"],
    "tag":"%BOT_TAG%",
    "uid":"%UID%"
}

消息使用不断变化的 AES 密钥和 IV 以及消息的散列进行加密,以确保通信的完整性。发送到 C2 的第一条消息具有以下格式并使用硬编码的testKey。上面显示的关于设备的初始信息包含在标签“ id ”中:

{
    "hash":"%BASE64_ENCODED_SHA256%",
    "id":"%ENCRYPTED_DATA%",
    "iv":"%IV_FOR_AES%",
    "type":"request_verify"
}

在此交换之后,机器人可以成功注册并与 C2 通信。在这个阶段,恶意软件会定期轮询来自 C2 的新命令,收到以下响应:

{ 
    "type": "get_coms",
    "coms": ["<COMMANDS>"]
}

‘ coms ‘ 的值可以为空,也可以是下一节中描述的任何值。

命令

下表包含可以从 C2 发送的所有接受的命令:

命令描述
sms_log记录短信
notif_ic_disable禁用拦截通知
inj_list列出注入
notif_ic_enable启用通知拦截
sms_ic_disable禁用短信拦截
inj_enable启用注入
app_list获取已安装应用列表
sms_ic_enable启用短信拦截
inj_update更新注入列表
inj_disable禁用注入
sms_ic_update未实现
sms_ic_list未实现
notif_ic_list未实现
self_cleanup未实现
notif_ic_update未实现
fg_disable未实现
fg_enable未实现
app_kill未实现

端点

这是 Xenomorph 用于与其 C2 通信的端点列表

端点描述
/ping用于初始验证步骤
/metrics用于从 c2 检索命令并发送泄露信息

与Alien的相似之处

拥有完全模块化的 Accessibility Service 引擎和使用 Retrofit2 的选择都可以让人想起另一个强大的 Android 银行木马SOVA。然而,尽管有这种设计相似之处,但这两个系列在实现上却完全不同。另一方面,它与另一个已经存在 2 年多的 Android 银行木马有很多相似之处:Alien。

这两个家族之间的第一个相似之处是使用相同的 HTML 资源页面来诱骗受害者授予辅助功能服务权限,但是在 Xenomorph 之前,许多家族都重复使用了该权限。

这种新的恶意软件还通过使用“SharedPreferences”文件使用了一种非常相似的状态跟踪方式。此文件通常用于跟踪应用程序的状态。然而,Xenomorph 使用的变量命名风格让人想起 Alien,尽管可能更详细。

可能最有趣的事实是用于存储 Xenomorph 配置的 sharedPreferences 文件的实际名称:该文件名为ring0.xml

这可能看起来像任何其他通用随机字符串,但它恰好与原始 Alien 恶意软件开发背后的假定参与者的名称一致。

Google Play商店被发现新型银行木马Xenomorph

如果这看起来像是一个巧合,那么首先在 Cerberus 中观察到许多非常奇特的日志记录字符串和类名,然后在其继任者 Alien 中观察到。

Google Play商店被发现新型银行木马Xenomorph

目前 Alien 的功能集比 Xenomorph 的要大得多。然而,考虑到这种新的恶意软件还很年轻,并且采用了强大的模块化设计,不难预测在不久的将来会出现新功能。

结论

Xenomorph 的出现再次表明,威胁行为者正将注意力集中在将应用程序登陆官方市场。考虑到我们最近刚刚观察到Medusa 和 Cabassous 也在并行分布,这也是滴管和分销参与者的地下市场活动增加的一个信号。

Xenomorph 目前是一个普通的 Android 银行木马,有很多未开发的潜力,很快就会发布。现代银行恶意软件正在以非常快的速度发展,犯罪分子开始采用更精细的开发实践来支持未来的更新。Xenomorph 处于这一变化的最前沿。

当前版本的 Xenomorph 能够滥用辅助功能服务从不知情的受害者那里窃取 PII,阻止卸载并拦截 SMS 和通知。ThreatFabric 预测,如果需要更多时间来完成开发,该恶意软件可能会达到更高的威胁级别,与其他现代 Android 银行木马相当。

MTI & CSD

在我们的移动威胁英特尔服务 (MTI) 中跟踪此和其他移动恶意软件。立即试用我们的 MTI 供稿![email protected]发送消息,即可在30 天内免费访问我们的门户

如果您想了解更多关于我们如何在移动设备上检测移动恶意软件的信息,您可以通过以下方式直接联系我们:[email protected]

附录

病毒样品

App名称包名称SHA-256
Fast Cleanercom.census.turkey64c0f71d9c903f7b22a193a7844ea98a5f9db62b4dcc139f75f6d9698645f369
Fast Cleanercom.laundry.vessel76e9359cfa98bb326f544577394b007132db63fd19fedde73a76162744b93c6f
Fast Cleanercom.tip.equip2d6f26c16d29d4e68ece44e3ac558cd557d906684ee1a546ea982e7a64ddf0ce
Fast Cleanercom.spike.old2877b27f1b6c7db466351618dda4f05d6a15e9a26028f3fc064fa144ec3a1850

Xenomorph C2

C2描述
simpleyo5[.]tkMain C2
simpleyo5[.]cfBackup C2
art12sec[.]gaBackup C2
kart12sec[.]gqBackup C2
homeandofficedeal[.]comOverlay C2

Xenomorph目标

包名称APP名称
ca.mobile.explorerCA Mobile
cgd.pt.caixadirectaparticularesCaixadirecta
com.abanca.bm.ptABANCA – Portugal
com.bbva.mobile.ptBBVA Portugal
com.exictos.mbanka.bicBanco BIC, SA
pt.bancobpi.mobile.fiabilizacaoBPI APP
pt.novobanco.nbappNB smart app
pt.sibs.android.mbwayMB WAY
wit.android.bcpBankingApp.millenniumMillenniumbcp
be.argenta.bankierenArgenta Banking
be.axa.mobilebankingMobile Banking Service
be.belfius.directmobile.androidBelfius Mobile
com.beobank_prod.badBeobank Mobile
com.bnpp.easybankingEasy Banking App
com.ing.bankingING Banking
com.kbc.mobile.android.phone.kbcKBC Mobile
com.binance.devBinance – Buy & Sell Bitcoin Securely
com.bitfinex.mobileappBitfinex
com.coinbase.androidCoinbase – Buy & Sell Bitcoin. Crypto Wallet
com.kraken.tradePro: Advanced Bitcoin & Crypto Trading
com.plunien.poloniexPoloniex Crypto Exchange
com.squareup.cashCash App
com.transferwise.androidTransferWise Money Transfer
com.wavesplatform.walletWaves.Exchange
net.bitbay.bitcoinBitcoin & Crypto Exchange – BitBay
net.bitstamp.appBitstamp – Buy & Sell Bitcoin at Crypto Exchange
org.electrum.electrumElectrum Bitcoin Wallet
piuk.blockchain.androidBlockchain Wallet. Bitcoin, Bitcoin Cash, Ethereum
app.wizink.esWiZink, tu banco senZillo
com.bankinter.launcherBankinter Móvil
com.bbva.bbvacontigoBBVA Spain
com.bbva.netcashBBVA Net Cash ES & PT
com.cajasur.androidCajasur
com.db.pbc.mibancoMi Banco db
com.grupocajamar.wefferentGrupo Cajamar
com.imaginbank.appimaginBank – Your mobile bank
com.indra.itecban.mobile.novobancoNBapp Spain
com.indra.itecban.triodosbank.mobile.bankingTriodos Bank. Banca Móvil
com.mediolanumBanco Mediolanum España
com.rsiruralvía
com.targoes_prod.badTARGOBANK – Banca a distancia
com.tecnocom.cajalaboralBanca Móvil Laboral Kutxa
es.bancosantander.appsSantander
es.caixagalicia.activamovilABANCA- Banca Móvil
es.caixaontinyent.caixaontinyentappCaixa Ontinyent
es.cecabank.ealia2091appstoreABANCA Pay – Paga y envía dinero con el móvil
es.cecabank.ealia2103appstoreUniPay Unicaja
es.cm.androidBankia
es.evobanco.bancamovilEVO Banco móvil
es.ibercaja.ibercajaappIbercaja
es.lacaixa.mobile.android.newwapiconCaixaBank
es.liberbank.cajasturappBanca Digital Liberbank
es.openbank.mobileOpenbank – banca móvil
es.pibank.customersPibank
es.univia.unicajamovilUnicajaMovil
www.ingdirect.nativeframeING España. Banca Móvil
com.latuabancaperandroidIntesa Sanpaolo Mobile
com.lynxspa.bancopopolareYouApp
com.sella.BancaSellaBanca Sella
it.bcc.iccrea.mycartabccmyCartaBCC
it.bnl.apps.bankingBNL
it.carigeCarige Mobile
it.copergmps.rt.pf.android.sp.bmpsBanca MPS
it.creval.bancapertaBancaperta
it.nogood.containerUBI Banca
it.popso.SCRIGNOappSCRIGNOapp
posteitaliane.posteapp.appbpolBancoPosta
posteitaliane.posteapp.apppostepayPostepay
com.android.vendingGoogle Play
com.connectivityapps.hotmailConnect for Hotmail & Outlook: Mail and Calendar
com.google.android.gmGmail
com.mail.mobile.android.mailmail.com mail
com.microsoft.office.outlookMicrosoft Outlook: Organize Your Email & Calendar
com.paypal.android.p2pmobilePayPal Mobile Cash: Send and Request Money Fast
com.yahoo.mobile.client.android.mailYahoo Mail – Organized Email

from

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注