一种名为 Gorilla 的复杂新型 Android 恶意软件在网络安全领域出现了,它专门被设计用来拦截包含一次性密码(OTP)的 SMS。
这种恶意软件在后台悄无声息地运行,利用 Android 系统的权限机制来获取受感染设备上的敏感信息。
初步分析表明,Gorilla 主要针对银行客户以及诸如 Yandex 等热门服务的用户,它对窃取到的 SMS 进行分类,以便攻击者更轻松地利用这些信息。
该恶意软件利用了 Android 系统的关键权限,包括 “READ_PHONE_STATE” 和 “READ_PHONE_NUMBERS” 权限,来访问 SIM 卡信息并从受感染设备中获取电话号码。
一旦安装,Gorilla 会使用 WebSocket 协议与它的命令与控制(C2)基础设施建立持久连接,其连接格式为 “ws://\(URL/ws/devices/?device_id=\)android_id&platform=android”,以此与它的操控者保持持续通信。
这种连接使得恶意软件能够实时接收命令并将敏感数据泄露出去。
Catalyst 的研究人员发现,Gorilla 采用了一种不寻常的技术来逃避检测,它避免使用 getInstalledPackages 或 getInstalledApplications 应用程序编程接口(API),因为使用这些接口需要 REQUEST_INSTALLED_PACKAGES 权限,而这可能会引起怀疑。
相反,该恶意软件通过查询启动器意图来确定软件包名称、应用程序名称和版本,这样它就能在保持较低存在感的同时收集有关已安装应用程序的信息。
该恶意软件的命令与控制(C2)面板显示出其复杂的运作方式,被盗取的 SMS 被系统地归类在诸如“ Banks” 和 “Yandex” 等标签下,这表明它针对金融信息和热门服务采取了有针对性的攻击方式。
这种分类使攻击者能够快速识别并利用拦截到的 SMS 中包含的有价值的验证码和敏感信息。
从本质上讲,Gorilla 通过一系列后台服务运行,即使在用户不主动使用设备时也能确保其持续运行。
为了符合 Android 系统的要求,这些服务利用 startForeground API 以及 FOREGROUND_SERVICE 权限来显示一条通知,有效地将其恶意活动伪装成合法的系统进程。
技术分析:命令结构和功能
该恶意软件的命令结构揭示了三种主要的操作类型,每种操作类型在攻击链中都有特定的功能。
“device_info” 命令会提取并向攻击者传输有关受感染设备的详细信息。
“update_settings” 命令目前似乎处于休眠状态,因为它只是记录接收情况而不采取进一步行动,但它很可能允许对恶意软件的行为进行远程配置。
最关键的是,“send_sms” 命令允许攻击者从受感染设备向指定的接收者发送带有自定义消息文本的 SMS。
// Command handling structure in Gorilla malware
// Three primary command types:
device_info // Transmits device information
update_settings // Currently inactive but logs receipt
send_sms // Allows remote SMS sending with specified text
在积极利用 SMS 拦截功能的同时,Gorilla 包含的一些组件表明它计划扩展其功能。
未使用的 WebViewActivity 类的存在尤其令人担忧,因为这个组件通常用于呈现 HTML 内容,并且在银行恶意软件中常被用来显示逼真的网络钓鱼页面,以获取银行凭证或信用卡信息。 该恶意软件还包含一个有趣但目前未激活的持久化机制,其形式为 USSDReceiver 类。
这个组件被设计用来监听拨打的代码 “*#0000#”,并在检测到该代码时启动 MainActivity。虽然目前它未被注册或激活,但这种机制可以为攻击者提供一种额外的方法,确保即使在用户尝试删除恶意软件之后,它仍能继续运行。
发表评论
您还未登录,请先登录。
登录