回归最本质的信息安全

;

如何拿下Gooligan(二):深度分析内部工作原理

2018年3月22日发布

39,386
0
4

导语:Gooligan是2016年利用OAuth的一款安卓恶意软件,研究人员对拿下Gooligan共分为三个部分进行讲解,第二部分是对Gooligan内部工作原理进行了深度分析。

如何拿下Gooligan(一):对Gooligan起源和工作原理的初步分析中描述了Gooligan的起源和工作原理概览,本文将对其内部工作原理进行深度分析,而第三部分将讲述不同的币值化策略和拿下Gooligan的过程。

感染

最初,攻击者会欺骗用户去安装Gooligan分阶段的app,一旦app安装并执行,攻击者就可以执行下图中的5个步骤来入侵该设备。

 11.PNG

从上图可以看出,前4个阶段大多来源于Ghost Push。Gooligan的开发者主要变化是用复杂的注入过程将app上架到应用商店中。最初,大量的代码重用让研究者很难区分Ghost Push样本和Gooligan样本。研究人员在发现了全部的击杀链之后,就可以写下精确的检测签名了。

Payload解码

大多数的Gooligan样本将恶意代码隐藏在一张假照片assets/close.png中。图片是用硬编码函数(异或加密)加密的。加密是用来避免被检测到签名,因为Gooligan中的部分代码来源于其他恶意软件。加密恶意payload也是一种比较古老的恶意软件技术,从2011年开始就被安卓恶意软件使用了。

12.PNG

除了加密函数意外,Gooligan另外一个比较奇怪的是完整性验证算法。一般来说,close.png文件的完整性验证是为了确保前10个字节和最后10个字节是一致的。如上图所示,该方案中前5个字节(val 1)是与最后5个字节对比的,而6到10字节(val 2)是与前5个字节比较的。

手机root

13.PNG

与Snappea和Ghostpush类似,Gooligan也使用Kingroot利用套件来获取root权限。Kingroot一共有三个步骤,首先,恶意软件手机设备相关信息发送给利用服务器;第二步,服务器查询利用数据库并建立专为该设备打造的payload;第三步,设备接收payload,恶意软件运行payload获取root权限。

驻留设置

获取设备root权限后,Gooligan会修复install-recovery.sh脚本,而且在工厂模式重置后仍然驻留。从修复的角度讲,这种恢复能力机制是Gooligan最让人头痛的,因为老一点的设备只能通过OTA更新或设备刷写来移除。而且安卓4.4以下的设备是没有验证启动(verfied boot)的。

14.PNG

面对这种复杂的环境,以及用户的迫切需求,研究人员使用一种很少使用的策略:协调性拿下。拿下的目标是使Gooligan基础设施的一些关键元素停止服务,来确保恶意软件不能工作或更新。

应用商店中的应用操作

感染的最后一步是将共享库注入到应用商店应用中。共享库函数允许Gooligan操作应用商店的应用下载app和注入视图。

研究人员追踪了注入代码,该库本身是暴露的,开发者只增加了调用应用商店函数所必须的代码。所有的欺骗逻辑都在主app中,一个可能的原因是开发者更熟悉Java语言。

受影响的设备

根据位置的传播

受感染的设备主要位于印度、拉丁美洲、亚洲。其中19%的感染源来自印度,受感染最多的8个国家的感染数量超过了感染总数的50%。

15.PNG

根据手机制造商的分布

感染的大多都是大品牌,三星、Mircomax是受感染最多的品牌,其中Micromax是印度的手机制造商,但是在美国和欧洲市场没有出现过,主要市场在印度和俄罗斯。

16.PNG

属性

最初的线索

Gooligan HAproxy配置信息

17.PNG

研究人员对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地址。在被拿下后,所有的基础设施都搬迁到了中国。

18.PNG

幕后黑手

Gooligan的幕后黑手是谁呢?基于对基础设施和其他数据的分析,研究人员认为这是一个来自中国大陆的运营团队。公开信息显示,该组织声称是一家外贸公司,但是主要运营不同的诈骗方案。

下一篇文章将介绍Gooligan的币值化方案和拿下Gooligan的过程。

本文翻译自:https://www.elie.net/blog/security/taking-down-gooligan-part-2-inner-working如若转载,请注明原文地址: http://www.4hou.com/info/news/10786.html

点赞 4
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

ang010ela

这个人很懒,什么也没留下

发私信

发表评论