要点
- TrickMo银行木马最初于2019年9月发现,于2023年9月卷土重来,并增强了功能。
- 最近的TrickMo变体使用JsonPacker来隐藏其代码,这是在其他银行木马中观察到的一种打包技术。
- 最新的TrickMo变体扩展到了45个命令,引入了窃取屏幕内容、下载运行时模块、覆盖注入技术和其他高级功能等。
- TrickMo的这一迭代依赖于辅助功能服务来执行Clicker和屏幕内容窃取功能。
- 采用覆盖攻击作为从目标应用程序获取凭据的主要方法。
TrickMo银行木马活动时间表
对TrickMo银行木马活动时间线的彻底分析揭示了一场从2020年到2021年初的重大活动。2021年7月,发生了一个值得注意的变化,TrickMo的更新变体采用了Overlay攻击技术作为其窃取凭证的主要方法。随后,从2021年7月到2022年,仅鉴定出6个样本,其中2个为具有40个命令的增强集新变种。
经过一段时间的不活动后,在2023年9月检测到了三个新的TrickMo银行木马。对最新变体的详细分析显示,其中包含了五个附加命令,这突显了威胁行为者 (TA) 为改进和升级恶意软件而做出的持续努力。下图简要概述了TrickMo银行木马活动的演变时间表。
最近发现的TrickMo银行木马变体利用JsonPacker隐藏其恶意代码。这种加壳技术在银行木马中很流行,之前已经在Hydra、Ermac、SOVA等知名恶意软件中观察到过。值得注意的是,该恶意软件保持了“d2.d2.d2”的包名,以及和以前类似的命令和控制 (C&C) 服务器模式。
最新版本的TrickMo银行木马显着扩展了其武器库,总共包含45个命令。此更新的变体引入了增强的功能,包括窃取屏幕内容、下载运行时模块的能力、覆盖注入技术以及许多其他高级功能。
技术分析
APK元数据信息
- 应用名称:OnStream
- 软件包名称:d2.d2.d2
- SHA256:43e19c7bbaf2d85c3952c4f28cb11ff3c711c3bb0d8396b2ac48a9d4efb955e8
与许多其他流行的银行木马一样,TrickMo也利用辅助功能服务来执行其恶意操作。安装后,恶意软件会请求用户授予可访问权限,随后利用该权限自动授予更多权限并执行银行木马活动。
在后台,TrickMo与C&C服务器“hxxps://keepass[.]ltd/c”建立连接,并传输各种数据,包括已安装的应用程序包名称列表、区域设置、设备信息、可访问性状态、权限状态以及与恶意软件相关的其他配置详细信息。
在最近观察到的该恶意软件冒充Google Chrome的实例中,服务器指示恶意软件提示用户启用辅助功能服务。恶意软件收到的命令包括命令ID号、消息和按钮说明,如下图所示。
获得辅助功能服务的权限后,恶意软件开始专门记录“com.android.settings”包的辅助功能日志。这些日志存储在一个文本文件中,以包名称、日期和时间命名,例如“com.android.settings_2023-11-29-07-37-14.txt”。随后,这些日志文件被压缩成zip存档并传输到C&C服务器。
叠加攻击
如前所述,恶意软件最初会收集已安装应用程序的包名称来识别目标应用程序。识别出目标应用程序后,恶意软件会收到标有“30 (SaveHtml)”的命令以及包ID和覆盖URL。恶意软件继续使用包ID在受感染的设备上生成HTML文件,并将从提供的覆盖URL获取的内容保存到该文件中。该HTML文件稍后将用作HTML覆盖注入页面以显示在目标应用程序上。
此外,在与命令一起接收到的覆盖URL建立连接后,恶意软件会被提供一个代码参数。如果代码参数为 200,恶意软件将继续使用WebView将受感染设备上保存的HTML覆盖注入页面加载到目标应用程序上。此外,恶意软件还可以接收命令“11(RequestInfo)”,其中包括覆盖URL。然后,它将此URL加载到目标应用程序的WebView覆盖层中,从而允许其捕获和窃取毫无戒心的受害者输入的凭据。
针对各种目标应用程序设计的一些HTML Overlay注入页面如下:
以下是一些已确定的目标应用:
应用程序包名称 | 应用名称 |
io.metamask | MetaMask – Blockchain Wallet |
piuk.blockchain.android | Blockchain.com: Crypto Wallet |
com.moneybookers.skrillpayments | Skrill – Pay & Transfer Money |
com.paypal.android.p2pmobile | PayPal – Send, Shop, Manage |
com.samsung.android.email.provider | Samsung Email |
us.zoom.videomeetings | Zoom – One Platform to Connect |
com.microsoft.office.outlook | Microsoft Outlook |
com.wallet.crypto.trustapp | Trust: Crypto & Bitcoin Wallet |
co.mona.android | Crypto.com – Buy BTC, ETH |
com.kubi.kucoin | KuCoin: Buy Bitcoin & Crypto |
com.facebook.katana | |
com.okinc.okex.gp | OKX: Buy Bitcoin BTC & Crypto |
com.binance.dev | Binance: Buy Bitcoin & Crypto |
com.coinbase.android | Coinbase: Buy Bitcoin & Ether |
com.cmcmarkets.android.cfd | CMC: Trading App |
com.amazon.mShop.android.shopping | Amazon Shopping |
com.ubercab.eats | Uber Eats: Food Delivery |
com.ubercab | Uber – Easy affordable trips |
uk.co.hsbc.hsbcukmobilebanking | HSBC UK Mobile Banking |
com.booking | Booking.com: Hotels and more |
com.alibaba.aliexpresshd | AliExpress |
com.yahoo.mobile.client.android.mail | Yahoo Mail – Organized Email |
com.google.android.gm | Gmail |
com.netflix.mediaclient | Netflix |
com.grppl.android.shell.CMBlloydsTSB73 | Lloyds Bank Mobile Banking |
com.td | TD Canada |
de.ingdiba.bankingapp | ING Banking to go |
de.dkb.portalapp | DKB Banking |
de.fiducia.smartphone.android.banking.vr | VR Banking |
de.spardab.banking.privat | SpardaBanking |
ae.ahb.digital | Al Hilal Digital |
ca.bnc.android | National Bank of Canada |
com.adcb.bank | ADCB |
com.atb.ATBMobile | ATB Personal – Mobile Banking |
com.bmo.mobile | BMO Mobile Banking |
com.cibc.android.mobi | CIBC Mobile Banking® |
com.dib.app | DIB MOBILE |
com.myc3card.app | com.myc3card.app |
com.fab.personalbanking | FAB Mobile |
点击器
在APK文件的资产中,恶意软件包含一个clicker.json文件。此文件包含自动单击功能应运行的包名称,以及要在这些应用程序上执行的指定过滤器和操作。
该恶意软件利用辅助功能服务执行Clicker.json文件中指定的操作。对于每个事件,辅助功能服务都会从 clicker.json文件中检索信息,传递事件详细信息,然后根据JSON文件中概述的过滤器执行操作。恶意软件可以使用此功能在受害者不知情的情况下在受感染设备上自动执行任何活动。
收集屏幕内容
在早期版本中,恶意软件使用MediaProjection API来记录屏幕内容。随后,该恶意软件进行了修改,停止了屏幕录制功能。相反,更新后的恶意软件现在会观察正在运行的应用程序,捕获辅助功能事件日志,并将其保存在文本文件中。然后,收集到的数据被压缩成zip文件并传输到C&C服务器。
此外,在收到命令“15(ScreenRecord)”以及特定的包名称后,恶意软件会将这些包名称合并到其记录列表中。随后,它将记录状态设置为“启用”,提示恶意软件启动指定目标应用程序的辅助功能日志记录。
TrickMo执行的命令
通过每次升级,恶意软件都能够无缝执行操作,而无需用户交互。如前所述,在最新变体中,恶意软件引入了命令表中突出显示的五个新命令。这些命令旨在访问应用程序和通知设置、收集呼叫日志、更改图标以及启动USSD服务呼叫。
恶意软件执行的命令的完整列表如下
命令代码 | 命令名称 | 描述 |
1 | Server | Set server status in shared preference |
2 | Interval | Get interval time for custom timer |
3 | DeleteAll | Receives delete all value to abort the broadcast |
4 | SelfDestroy | Uninstall itself |
6 | SetSmsApp | Set itself as the default SMS app |
7 | TakeScreenshot | Saves device phone number |
8 | SendSms | Sends SMS from the infected device |
9 | ShowPopup | Not Implemented |
10 | ActiveInterval | Sets active interval time |
11 | RequestInfo | Collects stolen credentials from overlay web pages |
12 | GetAllPhotos | Upload all photos |
13 | GetPhoto | Uploads single photo |
14 | VNC | VNC not implemented |
15 | ScreenRecord | Receives package name to initial recording Accessibility logs |
16 | LoadModule | Downloads APK |
17 | StartOrInstall | Launch or install a particular package |
18 | SetClickerConfig | Update clicker.json file |
19 | ShowDialog | Shows dialog box |
20 | ShowNotification | Displays notification |
21 | SetVars | Sets URL value to the iconUrl variable |
22 | ReadSms | Collects SMS from the infected device |
23 | RequestIgnoreBatteryOptimizations | Request for Battery optimization permission |
24 | ShowCover | Displays overlay window with the message received from the server |
25 | UnlockScreen | Unlocks screen |
26 | DisableNotifications | Disabled notification |
27 | PressHome | Press home button |
28 | PressBack | Press back button |
29 | OpenSetNewPasswordSettings | Open password settings |
30 | SaveHtml | Saves overlay phishing HTML pages |
31 | PressRecents | Press recent button |
32 | OpenPowerDialog | Opens battery optimization dialog |
33 | KillBackgroundProcesses | Kills running background processes |
34 | RequestOverlayPermission | Request to grant Display over Window permission |
35 | RequestPermissions | Prompts for permission |
36 | OpenGoogleProtectSettings | Open Google Protect settings |
37 | TakeScreenshot | Take screenshots of the infected device |
38 | Update | Update application |
39 | OpenAccessibilitySettings | Open Accessibility Service setting |
40 | GetAllVideos | Get all videos from an infected device |
41 | GetVideo | Get specific video |
42 | OpenNotificationSettings | Open notification settings |
43 | OpenAppSettings | Open settings application |
44 | SendUssd | Makes USSD servicel calls |
45 | ReadCalls | Collects call log |
46 | ChangeIcon | Changes ICON |
结论
自2019年首次发现以来,TrickMo银行木马表现出了卓越的恢复力和适应性,最近又在2023年以升级的功能重新出现。
该恶意软件向覆盖攻击的转变、使用JsonPacker进行代码混淆,以及与命令和控制服务器的一致行为,凸显了威胁行为者致力于完善其策略。值得注意的是,最新的变体展示了先进的功能,例如覆盖注入技术、点击器功能和捕获屏幕内容的能力。
此外,一个有趣的观察结果表明,其中包含了VNC命令(尽管尚未实施),这表明TA计划在不久的将来引入新功能。TrickMo在2023年9月的复兴是移动安全领域持续挑战的明显例子,强调面对不断变化的网络威胁,需要采取主动措施并提高认识。
参考文章
https://cyble.com/blog/trickmos-return-banking-trojan-resurgence-with-new-features/