目录导航
介绍
2022 年 2 月,ThreatFabric 发现了一种新的 Android 银行木马,我们称之为Xenomorph。这个名字来自于它与另一个臭名昭著的银行木马 Alien 的明显联系,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 等恶意软件系列。

经过分析,我们认为该应用程序属于Gymdrop滴管系列。Gymdrop 是 ThreatFabric 于 2021 年 11 月发现的一个 dropper 系列。之前有人观察到它部署了 Alien.A 有效载荷。从 dropper 下载的配置中,ThreatFabric 能够确认此 dropper 系列继续采用此恶意软件系列作为其有效负载。然而,与过去不同的是,托管恶意代码的服务器还包含另外两个恶意软件家族,根据特定的触发器,它们也被返回而不是 Alien。
首先,我们观察到属于新一波ExobotCompact.D的样本,它在过去几周一直处于新的复苏状态,冒充 Google Play 商店应用程序以及不同的银行应用程序。

然而,尽管我们第一次观察到 ExobotCompact.D 和 Alien.A 由同一个 dropper 基础设施分发,但最让我们惊讶的是一个全新的恶意软件家族的存在。这就是 ThreatFabric 发现Xenomorph的方式。
功能
以下是 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 权限,它将自动授予自己所有需要的权限,然后在设备上静默执行。
以下是请求权限的一些屏幕截图:

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

此功能由您在下面的代码段中看到的代码执行:
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 返回的覆盖目标列表包括来自西班牙、葡萄牙、意大利和比利时的目标,以及一些通用应用程序,如电子邮件服务和加密货币钱包。

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 恶意软件开发背后的假定参与者的名称一致。

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

目前 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 Cleaner | com.census.turkey | 64c0f71d9c903f7b22a193a7844ea98a5f9db62b4dcc139f75f6d9698645f369 |
Fast Cleaner | com.laundry.vessel | 76e9359cfa98bb326f544577394b007132db63fd19fedde73a76162744b93c6f |
Fast Cleaner | com.tip.equip | 2d6f26c16d29d4e68ece44e3ac558cd557d906684ee1a546ea982e7a64ddf0ce |
Fast Cleaner | com.spike.old | 2877b27f1b6c7db466351618dda4f05d6a15e9a26028f3fc064fa144ec3a1850 |
Xenomorph C2
C2 | 描述 |
---|---|
simpleyo5[.]tk | Main C2 |
simpleyo5[.]cf | Backup C2 |
art12sec[.]ga | Backup C2 |
kart12sec[.]gq | Backup C2 |
homeandofficedeal[.]com | Overlay C2 |
Xenomorph目标
包名称 | APP名称 |
---|---|
ca.mobile.explorer | CA Mobile |
cgd.pt.caixadirectaparticulares | Caixadirecta |
com.abanca.bm.pt | ABANCA – Portugal |
com.bbva.mobile.pt | BBVA Portugal |
com.exictos.mbanka.bic | Banco BIC, SA |
pt.bancobpi.mobile.fiabilizacao | BPI APP |
pt.novobanco.nbapp | NB smart app |
pt.sibs.android.mbway | MB WAY |
wit.android.bcpBankingApp.millennium | Millenniumbcp |
be.argenta.bankieren | Argenta Banking |
be.axa.mobilebanking | Mobile Banking Service |
be.belfius.directmobile.android | Belfius Mobile |
com.beobank_prod.bad | Beobank Mobile |
com.bnpp.easybanking | Easy Banking App |
com.ing.banking | ING Banking |
com.kbc.mobile.android.phone.kbc | KBC Mobile |
com.binance.dev | Binance – Buy & Sell Bitcoin Securely |
com.bitfinex.mobileapp | Bitfinex |
com.coinbase.android | Coinbase – Buy & Sell Bitcoin. Crypto Wallet |
com.kraken.trade | Pro: Advanced Bitcoin & Crypto Trading |
com.plunien.poloniex | Poloniex Crypto Exchange |
com.squareup.cash | Cash App |
com.transferwise.android | TransferWise Money Transfer |
com.wavesplatform.wallet | Waves.Exchange |
net.bitbay.bitcoin | Bitcoin & Crypto Exchange – BitBay |
net.bitstamp.app | Bitstamp – Buy & Sell Bitcoin at Crypto Exchange |
org.electrum.electrum | Electrum Bitcoin Wallet |
piuk.blockchain.android | Blockchain Wallet. Bitcoin, Bitcoin Cash, Ethereum |
app.wizink.es | WiZink, tu banco senZillo |
com.bankinter.launcher | Bankinter Móvil |
com.bbva.bbvacontigo | BBVA Spain |
com.bbva.netcash | BBVA Net Cash ES & PT |
com.cajasur.android | Cajasur |
com.db.pbc.mibanco | Mi Banco db |
com.grupocajamar.wefferent | Grupo Cajamar |
com.imaginbank.app | imaginBank – Your mobile bank |
com.indra.itecban.mobile.novobanco | NBapp Spain |
com.indra.itecban.triodosbank.mobile.banking | Triodos Bank. Banca Móvil |
com.mediolanum | Banco Mediolanum España |
com.rsi | ruralvía |
com.targoes_prod.bad | TARGOBANK – Banca a distancia |
com.tecnocom.cajalaboral | Banca Móvil Laboral Kutxa |
es.bancosantander.apps | Santander |
es.caixagalicia.activamovil | ABANCA- Banca Móvil |
es.caixaontinyent.caixaontinyentapp | Caixa Ontinyent |
es.cecabank.ealia2091appstore | ABANCA Pay – Paga y envía dinero con el móvil |
es.cecabank.ealia2103appstore | UniPay Unicaja |
es.cm.android | Bankia |
es.evobanco.bancamovil | EVO Banco móvil |
es.ibercaja.ibercajaapp | Ibercaja |
es.lacaixa.mobile.android.newwapicon | CaixaBank |
es.liberbank.cajasturapp | Banca Digital Liberbank |
es.openbank.mobile | Openbank – banca móvil |
es.pibank.customers | Pibank |
es.univia.unicajamovil | UnicajaMovil |
www.ingdirect.nativeframe | ING España. Banca Móvil |
com.latuabancaperandroid | Intesa Sanpaolo Mobile |
com.lynxspa.bancopopolare | YouApp |
com.sella.BancaSella | Banca Sella |
it.bcc.iccrea.mycartabcc | myCartaBCC |
it.bnl.apps.banking | BNL |
it.carige | Carige Mobile |
it.copergmps.rt.pf.android.sp.bmps | Banca MPS |
it.creval.bancaperta | Bancaperta |
it.nogood.container | UBI Banca |
it.popso.SCRIGNOapp | SCRIGNOapp |
posteitaliane.posteapp.appbpol | BancoPosta |
posteitaliane.posteapp.apppostepay | Postepay |
com.android.vending | Google Play |
com.connectivityapps.hotmail | Connect for Hotmail & Outlook: Mail and Calendar |
com.google.android.gm | Gmail |
com.mail.mobile.android.mail | mail.com mail |
com.microsoft.office.outlook | Microsoft Outlook: Organize Your Email & Calendar |
com.paypal.android.p2pmobile | PayPal Mobile Cash: Send and Request Money Fast |
com.yahoo.mobile.client.android.mail | Yahoo Mail – Organized Email |
转载请注明出处及链接