CER:FreeBuf首发专业认证:Android Cerberus恶意样本分析-ODAILY

AndroidCerberus恶意样本分析恶意样本特征流程概览内存解密新dex地区白名单隐藏图标定时触发保活广播计步机制触发与C2服务器通信更新攻击命令忽略电池优化窃听短信消息激活设备管理员启动后台服务诱导启用无障碍服务请求窃听短信所需的权限启动设备锁更新辅助服务状态到payload无障碍服务木马传播机制总结参考文章

AndroidCerberus恶意样本分析

前段时间网上流传Android平台Cerberus木马家族出现了新的变种,在网上找了一番没有找到新变种的木马样本反而找到了2019年6月披露的一批样本,这里挑选了其中一个样本深入的分析下看看Cerberus木马的工作机制。

Cerberus木马的详细介绍可以阅读之前发的文章:https://mp.weixin.qq.com/s/UewBO4RgTlh9vBKzqYXEcQ

恶意样本特征

样本名称:FlashPlayer

应用包名:com.uxlgtsvfdc.zipvwntdy

SHA-256:728a6ea44aab94a2d0ebbccbf0c1b4a93fbd9efa8813c19a88d368d6a46b4f4f

流程概览

恶意样本的执行流程大概如下:

内存解密新dex

Android应用程序必须在AndroidManifest.xml文件中声明其使用的服务、广播接收器和活动组件才能使用它们。在反编译Cerberus恶意样本中很明显能看到其使用的服务、广播接收器和活动等组件并不在主dex文件中,所以这里基本可以判断其核心dex文件是在内存中动态解密的。

地区白名单

恶意样本在解密释放新的dex文件后判断当前感染者所在国是否在白名单中,如果在白名单中则不执行恶意行为。

白名单国家名单有:乌克兰、俄罗斯、白俄罗斯、塔吉克斯坦、乌兹别克斯坦、土库曼斯坦、阿塞拜疆、亚美尼亚、哈萨克斯坦、吉尔吉斯斯坦、摩尔多瓦等。

隐藏图标

如果感染者不在白名单国家则恶意软件将进一步执行,其通过禁用入口组件来实现隐藏图标使其在手机桌面上不可见来规避感染者卸载恶意应用。

定时触发保活广播

恶意软件通过在清单文件中注册高频的系统广播事件以及定时让系统时钟发送自身广播事件实现了一个简单的保活机制使其能持续的活动在系统中。

计步机制触发与C2服务器通信

在保活广播接收器组件中,实现了一个简单的计步器来触发木马与C2服务器的通信。

更新攻击命令

计步数量达到阀值后,启动HBOxMrf木马服务拉取C2服务器的攻击命令,C&C服务器地址为:http://94.156.77.32/gate.php目前服务已经无法正常访问。

客户端与C2服务器交互流程如下:

1.首先拉取C2服务器下发的攻击命令。

忽略电池优化

Cerberus木马除了定时触发保活广播,还通过将自己加入电池优化白名单中来增强持续在系统中执行恶意活动的可能。

窃听短信消息

保活广播接收器同时也在接收短信消息类型的系统广播,当收到此类型广播时则读取出短信内容和发信人并保存到配置文件中,为后续执行恶意活动窃取短信消息做准备。

激活设备管理员

Cerberus木马除了通过隐藏图标的方式防止感染者卸载自身外,还通过激活设备管理员权限来防止感染者卸载自身,同时也为了防止其他安全软件查杀卸载Cerberus木马。

启动后台服务

诱导启用无障碍服务

Cerberus木马的所有敏感操作都严重依赖于无障碍服务的启用,其通过循环拉起“启用无障碍服务界面”来诱导感染者对其进行无障碍服务授权。

请求窃听短信所需的权限

请求窃取短信消息和联系人所需的权限。

启动设备锁

根据lockDevice标记执行设备锁操作。

更新辅助服务状态到payload

无障碍服务

无障碍服务启用后通过监控界面元素,模拟点击界面授权按钮来完成权限的自我授权和设备管理员的激活操作。同时监控界面活动是否正在进行安全扫描、是否正在卸载恶意软件来避免木马被查杀和卸载。包括监控界面是否打开目标活动,将其通知给payload完成界面劫持攻击操作。

在无障碍服务中模拟点击激活按钮,完成激活设备管理员防止被用户卸载,也为后续锁定设备提供权限支撑。

监控界面是否在GooglePlay保护机制扫描界面,如果是则发送回退事件防止被查杀。

监控当前前台活动发送到payload执行相关攻击操作。

木马传播机制

Cerberus木马的作者曾在Twitter上表明,其传播采用钓鱼网站以FlashPlayer的形式进行传播来诱导用户下载安装恶意木马。建议用户在网站下载应用时应特别注意网站的真实性和安全性避免被钓鱼或劫持攻击。

总结

Cerberus恶意木马通过字符串混淆、执行流混淆、动态加载代码、动态解密字符串和实现了一个简单的计步器机制来对抗安全人员的分析工作。同时利用了Android无障碍服务的屏幕监控功能,通过监控手机屏幕内容的改变事件,模拟点击危险权限授权按钮进行自我授权、监控用户的安全扫描和卸载行为进行自我保护以及监控前台应用活动界面完成对目标的劫持攻击。

对于本次分析遗憾的是由于C2服务器的关闭导致无法获取到核心的payload代码和相关恶意指令,从而无法进行更加全面的分析木马的攻击机制。但payload想要完成攻击终究还是依赖于无障碍服务的启用,我相信Cerberus木马家族的新变种也会依赖于该功能,所以建议在日常使用Android设备时应谨慎启用设置中的无障碍服务开关。

Cerberus仍是目前较为活跃的Android平台新型木马,其作者通过租赁的方式进行盈利,同时在黑市和Twitter上宣传木马内容从而吸引恶意活动参与者购买此木马。

此类木马危害极大,普通用户在下载相关软件时请首先确认网站的真实性,确保软件来源的可靠性防止被钓鱼攻击下载到此类恶意软件。

参考文章

https://www.threatfabric.com/

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-6:963ms