2024 年 3 月,卡巴斯基的网络安全研究人员发现了以前未知的名为 LianSpy 的 Android 间谍软件。
该恶意软件自 2021 年 7 月以来一直处于活动状态,旨在捕获截屏视频、泄露用户文件以及收集通话记录和应用程序列表。该恶意软件采用各种规避技术,包括使用俄罗斯云服务 Yandex Disk 进行 C2 通信,避免专用基础设施不被发现。
间谍软件可能是通过未知漏洞或直接物理访问受害者的设备部署的。
LianSpy首先检查其是否具有系统应用程序状态,以自动获取必要的权限。否则,它会请求屏幕覆盖、通知、后台活动、联系人和通话记录的权限。一旦它获得了必要的权限,它就可以确保它不会在受控环境中执行。如果安全,它会使用预定义的值设置其配置,并将此信息存储在 SharedPreferences 中,以便在重新启动时保持持久性。
“一旦激活,间谍软件就会隐藏其图标并注册一个内置的广播接收器以接收来自系统的意图。卡巴斯基发布的报告写道:“该接收器会触发各种恶意活动,例如通过媒体投影API捕获屏幕,以root身份截取屏幕截图,泄露数据并更新其配置。“为了更新间谍软件配置,LianSpy 每 30 秒在威胁参与者的 Yandex 磁盘上搜索与正则表达式”^frame_.+\\.png$“匹配的文件。如果找到,该文件将下载到应用程序的内部数据目录中。然后,间谍软件使用硬编码的 AES 密钥解密下载文件中的覆盖层(有效载荷结束后写入的数据)。
间谍软件将收集的受害者数据存储在 SQL 表 Con001 中,其中包括数据类型及其 SHA-256 哈希。加密过程涉及使用安全的伪随机数生成器生成 AES 密钥,以防止定时攻击。然后,使用嵌入在间谍软件中的硬编码公共 RSA 密钥对此 AES 密钥进行加密。只有拥有相应私钥的RSA密钥才能解密被盗数据,确保强大的保护。
LianSpy支持高级规避技术。它伪装成支付宝或系统服务等合法应用程序,并可以通过修改设置来隐藏通知图标来绕过 Android 12 的隐私指示器。它还使用 NotificationListenerService 隐藏来自后台服务的通知,并禁止使用特定短语的状态栏通知。
LianSpy可以使用具有root访问权限的screencap命令偷偷捕获屏幕截图,不会留下任何恶意活动的痕迹。它依靠云和 pastebin 服务来隐藏恶意活动,并加密泄露的数据以防止受害者身份识别,即使云凭据被泄露也是如此。它还通过修改后的 su 二进制文件获得 root 访问权限,建议使用未知漏洞或物理设备访问进行交付。
间谍软件不使用其基础设施,而是依赖 Yandex Disk 进行数据泄露和存储配置命令。与其 C2 服务器的通信是单向的,恶意软件会自行处理更新检查和数据泄露。Yandex Disk 凭据可以通过硬编码的 pastebin URL 进行更新,该 URL 可能因恶意软件变体而异,这些 URL 的列表包含在 IoC 部分。
卡巴斯基发布的报告总结道:“通过专门利用 Yandex Disk 和 pastebin 服务等合法平台进行数据泄露和 C2 通信,威胁行为者使归因变得复杂。“这种新型的Android威胁与针对俄罗斯用户的持续恶意软件活动没有重叠,我们将对相关活动保持警惕监控。”