导语:Gooligan是2016年利用OAuth的一款安卓恶意软件,研究人员对拿下Gooligan共分为三个部分进行讲解,第二部分是对Gooligan内部工作原理进行了深度分析。
在如何拿下Gooligan(一):对Gooligan起源和工作原理的初步分析中描述了Gooligan的起源和工作原理概览,本文将对其内部工作原理进行深度分析,而第三部分将讲述不同的币值化策略和拿下Gooligan的过程。
感染
最初,攻击者会欺骗用户去安装Gooligan分阶段的app,一旦app安装并执行,攻击者就可以执行下图中的5个步骤来入侵该设备。
从上图可以看出,前4个阶段大多来源于Ghost Push。Gooligan的开发者主要变化是用复杂的注入过程将app上架到应用商店中。最初,大量的代码重用让研究者很难区分Ghost Push样本和Gooligan样本。研究人员在发现了全部的击杀链之后,就可以写下精确的检测签名了。
Payload解码
大多数的Gooligan样本将恶意代码隐藏在一张假照片assets/close.png中。图片是用硬编码函数(异或加密)加密的。加密是用来避免被检测到签名,因为Gooligan中的部分代码来源于其他恶意软件。加密恶意payload也是一种比较古老的恶意软件技术,从2011年开始就被安卓恶意软件使用了。
除了加密函数意外,Gooligan另外一个比较奇怪的是完整性验证算法。一般来说,close.png文件的完整性验证是为了确保前10个字节和最后10个字节是一致的。如上图所示,该方案中前5个字节(val 1)是与最后5个字节对比的,而6到10字节(val 2)是与前5个字节比较的。
手机root
与Snappea和Ghostpush类似,Gooligan也使用Kingroot利用套件来获取root权限。Kingroot一共有三个步骤,首先,恶意软件手机设备相关信息发送给利用服务器;第二步,服务器查询利用数据库并建立专为该设备打造的payload;第三步,设备接收payload,恶意软件运行payload获取root权限。
驻留设置
获取设备root权限后,Gooligan会修复install-recovery.sh脚本,而且在工厂模式重置后仍然驻留。从修复的角度讲,这种恢复能力机制是Gooligan最让人头痛的,因为老一点的设备只能通过OTA更新或设备刷写来移除。而且安卓4.4以下的设备是没有验证启动(verfied boot)的。
面对这种复杂的环境,以及用户的迫切需求,研究人员使用一种很少使用的策略:协调性拿下。拿下的目标是使Gooligan基础设施的一些关键元素停止服务,来确保恶意软件不能工作或更新。
应用商店中的应用操作
感染的最后一步是将共享库注入到应用商店应用中。共享库函数允许Gooligan操作应用商店的应用下载app和注入视图。
研究人员追踪了注入代码,该库本身是暴露的,开发者只增加了调用应用商店函数所必须的代码。所有的欺骗逻辑都在主app中,一个可能的原因是开发者更熟悉Java语言。
受影响的设备
根据位置的传播
受感染的设备主要位于印度、拉丁美洲、亚洲。其中19%的感染源来自印度,受感染最多的8个国家的感染数量超过了感染总数的50%。
根据手机制造商的分布
感染的大多都是大品牌,三星、Mircomax是受感染最多的品牌,其中Micromax是印度的手机制造商,但是在美国和欧洲市场没有出现过,主要市场在印度和俄罗斯。
属性
最初的线索
Gooligan HAproxy配置信息
研究人员对Gooligan patient zero代码进行了深入分析,发现一个不寻常的文本字符串oversea_adjust_read_redis。通过该字符串,研究人员发现了中国的一篇讨论加载平衡器配置的博客,通过该博客找到了Gooligan后端服务的全部配置。
#Ads API acl is_ads path_beg /overseaads/ use_backend overseaads if is_ads … #Payment API acl is_paystatis path_beg /overseapay/admin/ use_backend overseapaystatis if is_paystatis ... # Play install acl is_appstore path_beg /appstore/ use_backend overseapaystatis if is_appstore ...
通过分析暴露的HAproxy配置信息,就可以找出基础设施的位置以及后台服务的结构。通过配置片段,发现后台有点击欺骗的API、从客户端接收支付的API、以及应用商店滥用的API。还有一个负责的管理和数据相关的API,是不可见的。
基础设施
通过HAproxy配置中暴露的API和IP,加上对Gooligan二进制文件的了解,就可以重建Gooligan的基础设施图。整体来看,Gooligan被分割为2个数据中心,一个位于中国,一个位于美国,使用的是AWS的IP地址。在被拿下后,所有的基础设施都搬迁到了中国。
幕后黑手
Gooligan的幕后黑手是谁呢?基于对基础设施和其他数据的分析,研究人员认为这是一个来自中国大陆的运营团队。公开信息显示,该组织声称是一家外贸公司,但是主要运营不同的诈骗方案。
下一篇文章将介绍Gooligan的币值化方案和拿下Gooligan的过程。