网络安全公司ThreatFabric在最新发布的一份分析报告中指出,他们于今年6月份在暗网交易市场发现了一种正在被出租的新型安卓恶意软件,被其开发者命名为“Cerberus(地狱三头犬)”。
Cerberus的开发者表示,在决定出租它之前,它已经被用于恶意攻击活动两年,并且绝对是从零开始编写的代码,而绝非建立在现有的一些银行木马泄露的源代码基础上。经过彻底的分析,Cerberus开发者的这一说法得到了ThreatFabric分析师的肯定。
要说Cerberus的开发者有多嚣张?他们有一个官方的Twitter帐户,不仅用于发布有关Cerberus的宣传信息(甚至是视频)的,而且还通过它来讽刺杀毒软件厂商(如分享来自VirusTotal的检测截图),甚至直接与恶意软件研究人员进行讨论。
独特的反分析技术
除了对有效载荷和字符串进行混淆,Cerberus还使用了一种独特且非常有想法的技术来逃避恶意软件分析人员对它的分析——使用受感染设备的加速度传感器,它实现了一个简单的计步器,用来测量受害者的运动。
这个想法其实很简单——如果受感染设备属于一个真实的人,那么这个人迟早会四处走动,步数也就会增加。如果步数没有增加,那么它则可以判断自己很可能是在一个动态分析环境(如沙箱)或恶意软件分析人员的测试设备上运行。
整个检测过程是通过如下代码来完成的:
Cerberus具体如何运作?
当Cerberus首次在受感染设备上启动时,它将首先隐藏自己的图标。然后,它将请求一些权限:
在用户授予其所请求的权限后,Cerberus就会利用这些权限获取更多的权限,如发送消息和拨打电话所需的权限。
此外,Cerberus还会禁用Play Protect(谷歌预装的防病毒解决方案),在完成持久性的建立之后之后,Cerberus就会在僵尸网络中注册受感染的设备并等待来自C2服务器的命令,同时还为执行“屏幕覆盖攻击”做好了准备。
以下是Cerberus目前版本所支持的命令,足以将一部安卓设备变成“肉鸡”:
Cerberus都有哪些功能?
Cerberus具有与其他大多数安卓银行木马相同的功能,如屏幕覆盖攻击、短信控制以及联系人列表收集。除此之外,它还具有键盘记录的功能,具体如下:
- 覆盖:动态(从C2服务器获得的局部注入)
- 键盘记录
- 短信收集:短信列表
- 短信收集:短信转发
- 设备信息收集
- 联系人列表收集
- 已安装APP列表收集
- 地理位置收集
- 覆盖:目标列表更新
- 短信:发送
- 呼叫:USSD请求
- 呼叫:呼叫转移
- 远程操作:APP安装
- 远程操作:App启动
- 远程操作:App删除
- 远程操作:显示任意web页面
- 远程操作:截屏
- 通知:推送通知
- C2恢复能力:备用的C2列表
- 自我保护:隐藏APP图标
- 自我保护:防止被删除
- 自我保护:反分析检测
- 架构:模块化
大多数安卓银行木马都是使用屏幕覆盖攻击来欺骗用户提交他们的个人信息(如信用卡信息、手机银行账户和密码、电子邮箱账户和密码),Cerberus也不例外。
利用用户授予的可访问性服务权限,Cerberus能够获取用户正在使用的APP的包名,以确定是否显示网络钓鱼覆盖页面,代码如下:
部分网络钓鱼覆盖页面如下(前两个旨在窃取账户和密码,后一个旨在窃取信用卡信息):
ThreatFabric公司的分析师表示,Cerberus目前共配备了30个APP的网络钓鱼覆盖页面,包括7个法国银行APP、7个美国银行APP、1个日本银行APP和15个非银行APP,具体如下:
结论
尽管还不够成熟,无法提供一套完整的安卓银行恶意软件功能,如RAT、RAT with ATS(自动事务脚本)、反向连接代理、媒体数据流式传输,以及更为丰富的目标列表,但Cerberus不应被轻视。
一方面来自Cerberus目前正在被作为商品出售,另一方面则来自于它模块化的架构,这使得它能够不断进化,最终很可能会成长到能够与顶尖的银行木马相媲敌。