【安全资讯】Chrysaor间谍软件分析
引言
8月17日,安恒威胁情报中心猎影实验室发布了NSO Group的Chrysaor间谍软件的分析报告。Chrysaor是Pegasus间谍软件的Android版本,主要功能是监听目标设备并与C2服务器保持联络。可能因为Android开源的原因,Chrysaor并没有利用任何 0day,而是主要利用一些已经曝光的漏洞,所以Chrysaor间谍软件比Pegasus的攻击成本要低。
简况
攻击者首先诱导用户下载或通过无线攻击用户安装Chrysaor样本,随后立即调用Framaroot来提权,Framaroot是一个提权工具,它包含几个用于提权的漏洞,Framaroot作者为保证尽量减少Framaroot被恶意软件利用,所以 Framaroot只提供短期root,当system分区被修改时,root即会失效。为了防止漏洞被修复,也为了防止更新后提权突然失效,恶意软件删除了系统中的更新程序。
Chrysaor可以收集多种数据,例如位置、应用数据(也包括邮件、联系人、日历、短信等)、屏幕截图、输入按键记录、电话窃听。通过 Alarm 类设置循环定时任务,Chrysaor每过一段时间则会发送给 C2 服务器大量信息,例如位置信息等。而且与信息收集配合,读取特定app目录/data/data 下的内容,将其全部存储到消息队列中,并由Alarm类定期发送给服务器,受到监视的app有:WhatsApp、Twitter、Facebook、Kakoa、Viber、Skype 等。Chrysaor通过ContentObserver收集短信、联系人、邮件以及受监视的 app 的所有更改。当拨打电话时,恶意软件会在后台保持链接,用户可以正常通话,但是当尝试使用设备时只能看见黑屏,因为此时恶意软件正在挂断电话,重置通话设置,所以用户并不能与设备交互。Chrysaor还会通过lib文件监视键入键盘与捕获屏幕。
可能出于反取证的目的,Chrysaor也有自我删除功能,分别在以下三种情况触发:
1.C2服务器的指令
2.60天内无法连接到C2服务器
3.存在“/sdcard/MemosForNotes”文件
Chrysaor间谍软件使用MQTT协议进行远程通信,MQTT(Message Queue Telemetry Transport)基于“发布/订阅”模式,可用以轻量级数据通讯,构建在 TCP/IP 协议基础上。对于恶意软件来说,它只用了很小的带宽很少的代码量,却可以提供实时可靠的链接,保证了与 C2 服务器的连接。但攻击者也添加了限制条件不使用MQTT协议,恶意软件需要得知当前设备是在使用 WIFI,还是在使用流量等信息,根据具体场景决定是否使用 MQTT。MQTT协议如下图:
此外,Chrysaor 在Java层采用了非常强的混淆,以确保反病毒引擎的静态扫描不会发现恶意软件调用了哪些方法,以及一些看着就很危险的字符串也不会被扫出来,除非动态全部 hook 下来,不然静态分析对此是完全无解的。
总结
Pegasus勒索软件与Chrysaor有大量相同点,例如都会注入进程以获得键盘记录,都会使用短信来进行远控,都使用了MQTT协议等。政客、媒体、高管等高目标人群需要高度警惕此类软件,因为其设备中可能有涉及到高价值,攻击方可以不顾代价获取的信息。