卡巴斯基研究人员发现了一种前所未见的Android间谍软件,该软件主要针对俄罗斯用户,并且可能会部署到其他地区。这个被称为“LianSpy”的恶意软件至少自2021年以来就一直活跃,但由于其“复杂的规避技术”,直到今年3月才被发现和分析。
据分析,这种威胁可以捕获屏幕录像,泄露用户文件,获取通话记录和应用程序列表。而为了逃避检测,LianSpy背后的恶意行为者采用了多种规避策略,例如利用俄罗斯云服务Yandex Disk进行C2通信。他们还避免使用专用的基础设施,并采用许多其他功能来保持间谍软件不被发现。其中一些特征表明,LianSpy很可能是通过一个未知的漏洞或直接物理访问目标手机实现部署。
技术细节
一开始,LianSpy会确定它是否是作为一个系统应用程序运行,如此便能够自动获取所需的权限。否则的话,它会请求屏幕覆盖、通知、后台活动、联系人、通话记录等权限。一旦获得授权,该间谍软件就会验证它是否在调试环境中运行。如果环境中没有调试器工件,那么LianSpy将使用预定义的值设置其配置,并使用SharedPreferences(一种通常用于存储应用程序设置的应用程序数据存储机制)在本地将这些数据存储为键值对的集合。此配置在设备重启期间持续存在,并使用链接到SharedPreferences中特定间谍软件设置的整数键。下面提供了配置参数的详细列表,包括描述和默认值。
ID(键值) | 描述 | 默认值 |
100 | 是系统应用 | false |
110 | 如果连接到Wi-Fi,允许运行 | true |
111 | 如果连接到移动网络,允许运行 | true |
113 | 威胁行为者的Yandex ID | REDACTED |
115 | 威胁行为者的Yandex磁盘OAuth令牌 | REDACTED |
121 | 收集目标设备上安装的应用程序列表 | true |
123 | 收集通话记录 | true |
124 | 收集联系人列表 | true |
128 | 以root用户的身份使用截屏二进制文件截图 | false |
136 | 通过媒体投影API捕获屏幕 | true |
302 | 屏幕截图之间的时间间隔(以毫秒为单位) | 5000 (5s) |
308 | 数据窃取任务之间的时间间隔(以毫秒为单位) | 1200000 (20min) |
400 | 逗号分隔的应用程序列表(包名子字符串),用于通过媒体投影API进行屏幕捕获或使用屏幕捕获二进制文件进行屏幕捕获 | whatsapp, viber, skype, chrome, vkontakte, telegram, android.gm, gallery, thoughtcrime.securesms, facebook, tencent.mm, snapchat, icq, tencent.mobileqq, imoim, mailapp, instagram, kakao.talk, discord, chrome, internet, browser, dolphin, firefox, opera, safari, uc browser, maxthon, baidu, yandex |
420 | 未使用 | - |
450 | 用户ID | - |
一旦被激活,该间谍软件会隐藏它的图标,并注册一个内置的广播接收器(broadcast receiver)来接收来自系统的意图。此接收器会触发各种恶意活动,例如通过媒体投影API捕获屏幕、以root用户身份获取屏幕截图、渗漏数据以及更新其配置等。
【LianSpy注册了一个恶意广播接收器】
为了更新间谍软件配置,LianSpy会每30秒在威胁参与者的Yandex磁盘上搜索匹配正则表达式“^frame_.+\\.png$”的文件。如果找到,则将该文件下载到应用程序的内部数据目录。随后,该间谍软件会用硬编码的AES密钥解密下载文件中的覆盖层(在有效载荷结束后写入的数据)。最后,配置更新程序在解密后的有效负载中搜索一组子字符串,每个子字符串都会修改LianSpy的配置。以下为可用选项的全面列表:
Substring(命令名) | 描述 |
*con+ | 启用联系人列表收集功能 |
*con- | 禁用联系人列表收集 |
*clg+ | 开启通话记录收集功能 |
*clg- | 禁用通话记录收集 |
*app+ | 启用收集已安装应用列表 |
*app- | 禁用收集已安装应用程序列表 |
*rsr+ | 时间表截图 |
*rsr- | 停止截图 |
*nrs+ | 启用屏幕录制 |
*nrs- | 禁用屏幕录制 |
*swl | 设置新的应用程序列表,存储在命令字符串之后,用于屏幕记录 |
*wif+ | 如果设备连接到Wi-Fi,允许运行 |
*wif- | 如果设备仅连接到Wi-Fi,禁止运行 |
*mob+ | 如果设备连接到移动网络,允许运行 |
*mob- | 如果设备仅连接到移动网络,禁止运行 |
*sci | 设置屏幕捕获间隔(以毫秒为单位) |
*sbi | 设置数据泄露任务间隔(以毫秒为单位) |
收集到的受害者数据加密存储在SQL表Con001中,该表还包含其他记录类型(设备信息、联系人列表、通话记录等)及其SHA-256哈希值。数据加密方案具体如下:
- 使用安全伪随机数生成器(PRNG)生成用于数据加密的AES密钥。这种方法可以阻止可能被未授权方利用的基于时间的攻击。
- 嵌入在间谍软件中的硬编码公共RSA密钥会加密AES密钥。
这种健壮的加密方案确保只有拥有相应RSA私钥的威胁参与者才能解密被盗数据。
隐形功能
LianSpy采用了非常规的复杂逃避技术,以保持不被发现。具体如下所述:
- 为了混入合法的应用程序,它的变种伪装成支付宝应用程序或系统服务。
- Android 12引入了隐私指示器功能,如果敏感数据被访问,比如屏幕被记录时,它会显示一个状态栏图标。然而,LianSpy的开发者已经通过在Android安全设置参数icon_blacklist中添加一个强制转换值来绕过该保护机制,这可以防止通知图标出现在状态栏中。
- 为了进一步隐藏它的活动,LianSpy通过利用NotificationListenerService来隐藏它调用的后台服务的通知。用于从状态栏中删除通知的关键短语列表如下。
running in the background
using battery
в фоновом режиме
использует батарею
используют батарею
- LianSpy可以使用“screencap”系统命令截取屏幕截图,该命令通常用于调试,但可以通过root权限访问。该命令不会留下截图捕获的痕迹,这使得攻击者可以偷偷地捕获屏幕内容。
- 它广泛利用合法的云和pastebin服务,使得来自受感染设备的恶意网络活动几乎无法检测到。
- 它使用健壮的加密方案加密泄露的数据。即使在APK分析期间,Yandex磁盘凭据被破坏,受害者识别仍然是不可能的。
- LianSpy使用“su”二进制文件和修改后的名称来获得root访问权限。研究分析的恶意软件样本试图在默认的“su”目录中找到一个“mu”二进制文件。这表明其试图逃避受害者设备上的root检测。通过如此强烈地依赖修改后的二进制文件来获得超级用户权限,表明该间谍软件可能是通过前所未知的漏洞或物理设备访问来传递的。
基础设施
LianSpy没有任何专用基础设施。相反地,攻击者利用Yandex磁盘窃取被盗数据和存储配置命令。受害者数据被上传到单独的Yandex磁盘文件夹中。
除了配置更新工作外,LianSpy与其命令和控制(C2)服务器的通信都是单向的,没有传入命令。恶意软件会根据其当前配置自动进行更新检查和数据泄露。
Yandex磁盘凭据可以从硬编码的pastebin URL更新,这可能因不同的恶意软件变体而异。在IoC一节中提供了这些粘贴页面的综合列表。
受害者
考虑到用于过滤通知的关键短语部分是俄语,并且LianSpy变体的一些默认配置包括俄罗斯流行的通讯应用程序的包名,研究人员假设该间谍软件针对的是该国的用户。此外,卡巴斯基的KSN遥测也证实了这一点,表明俄罗斯用户已经成为LianSpy攻击的受害者。
结语
卡巴斯基研究人员将新发现的Android间谍软件称为“LianSpy”,它展示了几个值得注意的功能。除了收集通话记录和应用程序列表等标准间谍策略外,它还利用root权限进行秘密屏幕记录和逃避检测。它对重命名的su二进制文件的依赖强烈表明在初始妥协之后存在继发感染。与出于经济动机的间谍软件不同,LianSpy专注于捕捉即时通讯信息内容,这表明它是一种有针对性的数据收集操作。
通过专门利用Yandex磁盘和pastebin服务等合法平台进行数据泄露和C2通信,威胁行为者的归因变得更加复杂。这种新颖的Android威胁与目前针对俄罗斯用户的已知恶意软件活动没有重叠,我们将保持警惕,继续监控相关活动。
妥协指标(IoC)
APK文件哈希值
084206ec8e6e5684a5acdcbd264d1a41
09088db5640381951e1b4449e930ff11
15222c61978f9133aa34b5972ce84e7e
1ccf5b723c38e30107d55040f10ce32a
22b013cfb95df6b4ba0d2d40dc4bddf4
23b9e5d4ab90506c6e9a42fa47164b84
36bc97ce040ada7142e4add4eb8cd3dd
38149658e5aba1942a6147b387f79d3f
3a4f780820043a8f855979d2c59f36f2
4c3e81bb8e972eef3c9511782f47bdea
5b16eb23a2f5a41063f3f09bc4ca47dd
69581e8113eaed791c2b90f13be0981a
707a593863d5ba9b2d87f0c8a6083f70
7de18a7dac0725d74c215330b8febd4e
842d600d5e5adb6ca425387f1616d6c4
86ea1be200219aca0dc985113747d5ea
86f7c39313500abfb12771e0a4f6d47a
8f47283f19514178ceb39e592324695a
966824d8c24f6f9d0f63b8db41f723b6
99d980a71a58c8ad631d0b229602bbe2
9f22d6bffda3e6def82bf08d0a03b880
a7142ad1b70581c8b232dc6cf934bda4
c449003de06ba5f092ee9a74a3c67e26
d46c5d134a4f9d3cd77b076eb8af28b3
d9e9655013d79c692269aeadcef35e68
da97092289b2a692789f7e322d7d5112
ec74283d40fd69c8efea8570aadd56dc
f13419565896c00f5e632346e5782be4
f37213a7ef3dc51683eec6c9a89e45af
f78eaca29e7e5b035dbcbabac29eb18d
fa3fecca077f0797e9223676d8a48391
fbc2c4226744c363e62fcfeaec1a47f1
Yandex磁盘加密凭据源
hxxps://pastebin[.]com:443/raw/X4CuaV5L
hxxps://pastebin[.]com:443/raw/0t2c1Djz
hxxps://pastebin[.]com:443/raw/8YXyQtp9
hxxps://pastebin[.]com:443/raw/hm78BGe9
hxxps://pastebin[.]com:443/raw/R509SydV
hxxps://pastebin[.]com:443/raw/dXXcZDF7
hxxps://pastebin[.]com:443/raw/81GhQUjK
hxxps://pastebin[.]com:443/raw/2PmX7Bgd
hxxps://pastebin[.]com:443/raw/zsY6tZLb
hxxps://pastebin[.]com:443/raw/rzMhGiFp
hxxps://pastebin[.]com:443/raw/85DMiWdE
hxxps://pastebin[.]com:443/raw/nSZaB3hw
hxxps://pastebin[.]com:443/raw/Wppem8U5
hxxps://pastebin[.]com:443/raw/KRqNqNrT
hxxps://pastebin[.]com:443/raw/47uLyg6q
hxxps://pastebin[.]com:443/raw/tUQFWtVY
hxxps://pastebin[.]com:443/raw/AgBMX16r
hxxps://pastebin[.]com:443/raw/wSzsbXpg
hxxps://pastebin[.]com:443/raw/e0SqYu41
hxxps://pastebin[.]com:443/raw/ZBFe2b4z
hxxps://pastebin[.]com:443/raw/cbLWwCbR
hxxps://pastebin[.]com:443/raw/fxqART5r
hxxps://pastebin[.]com:443/raw/hiAYisG8
hxxps://pastebin[.]com:443/raw/459bbu4H
hxxps://pastebin[.]com:443/raw/7kxADNLm
hxxps://pastebin[.]com:443/raw/417svXuD
hxxps://pastebin[.]com:443/raw/w4j6jNBV
hxxps://pastebin[.]com:443/raw/zy8BKYyg
hxxps://pastebin[.]com:443/raw/uc5Ft4z6
原文链接: