文章转自:http://drops.wooyun.org/tips/4342
注:译文未获得平底锅授权,纯属学习性质翻译
原文:https://www.paloaltonetworks.com/content/dam/paloaltonetworks-com/en_US/assets/pdf/reports/Unit_42/unit42-cool-reaper.pdf
综述
宇龙酷派是中国第三大以及全球第六大智能手机生产厂商。近期我们研究发现很多高端酷派手机在预装软件均包括一个后门程序,我们将此后门称为:CoolReaper
在看到很多酷派用户反馈手机上的可疑现象后,我们下载了多个中国区发行的官方固件,当中大多数都包括了coolreaper这款后门应用。
CoolReaper表现出下面行为:
- 静默下载、安装或者激活随意应用且不通知用户
- 清楚用户数据、卸载已安装应用或者禁用系统应用
- 伪造OTA信息提示用户升级系统其实是安装一些推送的应用
- 发送短信或者彩信以及伪造手机中的短信或者彩信
- 拨打电话
- 上传用户设备信息、位置信息、应用使用情况、通话记录、短信记录到酷派server。
手机生产厂商通常会在设备中安装一些定制软件,可是coolreaper貌似不那么简单。
一些移动运营商也会预装一些软件用于收集用户使用习惯和数据。Coolreaper比这些做的很多其它非常相似一个后门。
中国的酷派用户在网上反馈后门应用静默安装软件已经推送广告的行为。
只是这些反馈信息均被酷派忽略或者删除。
酷派同一时候还在他们的很多固件中还更改了底层安卓系统。这些变动主要目的是隐藏后门coolreaper组件不被用户发现以及不被其它应用分析。
这使用杀毒软件无法轻易检測到此后门应用。
9月,一个名乌云白帽子发现coolreaper后台系统的漏洞。后台呈现出coolreaper的各种操作指令。
现阶段酷派手机后门仅仅能影响到中国用户,可是酷派的国际化战略意味着这款后门应用将有可能影响全球Android用户
酷派后门
User Reporting for this Threat
酷派是宇龙集团旗下智能手机品牌,港股编号:02369
依据华尔街日报及易观国际分析显示酷派是全球第六大智能手机生产厂商。而实际上,基于最新的IDC数据分析报告酷派占全球3.7%的市场份额。
从2012年開始。酷派就已经成为了中国第三大智能手机制造厂商,2014第二季度占有市场份额11.5%。仅排在小米和联想之后。2014上半年酷派在中国4G手机市场份额占15.8%位居第一。
酷派手机旗舰系列取名halo(又叫大神手机),此系列涵盖了3G与4G两种通信制式。
酷派通用也有便宜产品。下面是其官方商城售卖的手机:
- The Halo (Dazen) series: Dazen F1, Dazen F1 Plus, Dazen 1S, Dazen F2, Dazen Note
- The S series: Coolpad S6
- The K series: Coolpad K1
- The Magview series: Magview 9970, Magview 8971
- Others: Coolpad 8730L, Coolpad 8720L, Coolpad 7295, Coolpad 9150W, Coolpad 9080W, Coolpad 5951, Coolpad 7295C, Coolpad 8908

相对零售渠道,酷派更大的出货渠道是中国三大运营商:中国移动、中国联通以及中国电信。(定制机)
虽然不像苹果和三星那么出名。酷派在中国依旧非常畅销而且在国际市场迅速扩张,尤其是在4G手机市场。
2014上半年,酷派生产制造29款新手机。当中12款支持4G网络。2013全年酷派生产了三千七百二十万台设备,并在2014年仅三月一个月中就生产了六百万台设备。
酷派的目标是在2014年销售六千万台手机,大神系列估计销售超过一千万台。
酷派全球扩张
依据华尔街日报报道,酷派计划向东南亚、欧洲以及美国市场进军。
在美国酷派官网销售下面三种机型:
- Coolpad Quattro 4G (Coolpad 5860E)
- Coolpad Flo
- Coolpad Quattro II
2014年。酷派与MetroPCS公司(已被T-Mobile并购)合作在美国售出了超过一百三十万的Quattro 4G设备。2014年,酷派与GoSmart Mobile合作開始在美国销售酷派Flo手机
2013年初。酷派联合 Vodafone 与 France Télécom 在超过10个欧洲国家销售8860U 以及 8870U。
2014年7月初,酷派与东南亚的一运营商合作在印度和印尼运作。而且计划进军泰国、缅甸以及马来西亚市场。
截至2014年9月,在这些国家已经销售超过50万大神系列手机。
CoolReaper: The Coolpad Backdoor
2013年10月报告中的可疑界面開始出现中国用户的酷派手机中。
用户反馈广告推送出如今通知栏,通过OTA升级后系统并未得到升级而是出现一些不是用户安装的新应用。
为了定位这些反常事件我们開始调查酷派官方rom以及酷派修改过的rom
酷派提供大神系列、s系列、k系列zip格式的官方rom以及其它机型的定制官方rom。这些rom均能在酷派官方论坛或者官方服务中心下载到。
酷派提供这些固件给用户OTA升级或者又一次刷机. 我们推測(并未确认)手机出厂时也是刷的这些rom。
2014年11月我们从酷派官方论坛下载了大神系列8个机型的45个官方rom。为了增大測试范围。我们又下载了其它20个机型的32个第三方rom。这些第三方固件都是基于官方固件修改的。
我们总共调查了77个酷派手机rom。当中64个包括后门coolreaper。大神系统8个机型有41个rom有后门,其它23个第三方固件设计16种机型也都有后门。我们确认至少有24种不同的酷派手机种存在coolreaper后门。
下表是我们分析后的rom后门存在情况。
CoolReaper Files and Versions
在分析的这些rom后门coolreaper分别下面文件名称的形式存在:
- /system/app/CP_DMP.apk
- /system/app/CP_DMP.odex
- /system/app/GoogleGmsFramework.apk
- /system/app/GoogleGmsFramework.odex
- /system/lib/libgmsframework.so
libgmsframework.so并非个库文件,其实是一个apk文件。在同一个rom里此文件的内容与GoogleGmsFramework.apk相同。
唯一差别是这个伪造的库文件使用调试证书签名。
我们发现的12个不同此coolreaper版本号例如以下表
开发人员使用了编译日期作为版本号号。使用编译日期+时间作为版本号名称。利用这两个特征我们能够确认CoolReaper开发日期是2013年10月12号或者更早。
2014年5月我们注意到此后门做了一个版本号升级,从2.x升级到3.0。同一时候后门的文件名称由CP_DMP.apk变更为GoogleGmsFramework.apk。我们怀疑酷派这么做是由于网上实用户反馈CP_DMP.apk是恶意软件。
Origin
有一种可能Coolreaper后门是由第三方制造的。只是依据分析我们相信后门是由酷派官方制作而且安装到酷派手机种的。
全部的CoolReaper的签名是酷派公司的,41个受影响的官方rom中都使用的相同的签名。
一些官方rom对底层安卓系统做了修改用于使coolreaper消失在用户和杀软的视线中。
用于给coolreaper发送控制指令的server使用的域名 coolyun.com 和 51Coolpad.com 是由酷派官方注冊的。
而且给用户提供云服务。
11月,Coolreaper后台控制系统被暴露。酷派确认存在此系统而且许诺修复漏洞。
这个控制系统是coolyun.com的子域名。
CoolReaper Analysis
为了分析后门的功能,我们从大神F2种提取一个coolreaper样本。F2基于android4.4,rom编译于11月18号
Build ID: 4.4.051.P2.141118.8675
ROM_SHA-1:39240a84070040c27221b477f101bf9b1555d7ce
PATH:/system/app/GoogleGmsFramework.apk
APK_SHA-1:3753244484c4a8b2b2dc8c3b7e119eabd0490398
后门apk使用了ProGuard进行代码混淆。混淆后的命名使得逆向工作十分困难。为了方便分析代码。我们參考其意图尝试重命名进行还原。读者将在这份报告中看到很多这样重命名后的截图。
我们重命名方法遵循下面原则:
CoolPreaper的开发人员留下了很多debug信息能够帮助鉴别原类名或者方法名,假设可能我们尽量使用这些命名。
代码质量较高,开发人员保持使用特定的框架。
重命名的时候依据此框架。
当我们无法识别开发人员意图命名时,我们依据此此对象的功能来命名。
更改方法名使得代码可读性更高而且并不影响代码逻辑。
System Application with System User ID
在安装有后门的固件中,CoolReaper以系统应用安装。
全部的样本都有着相同的包名"com.android.update.dmp"。特征字符"DMP"出如今文件名称、包名、C2的URL中以及其它地址,我们怀疑DMP就是 “Data Management Platform.”的缩写。
在配置文件AnroidManifest.xml中,coolreaper定义了android:sharedUserId属性为“android.uid.system”
这样做coolreaper将拥有系统UID并以system权限运行。
目的是将其变成系统应用而非第三方应用。
下面是从官方固件中提取的coolreaper的签名信息
Owner: EMAILADDRESS=android@yulong.com, CN=YuLong, OU=YuLong, O=YuLong,
L=ShenZhen, ST=GuangDong, C=CN
Issuer: EMAILADDRESS=android@yulong.com, CN=YuLong, OU=YuLong, O=YuLong,
L=ShenZhen, ST=GuangDong, C=CN
Serial number: fb1ecd58cb8358f7
Valid from: Fri Oct 22 08:26:53 PDT 2010 until: Fri Sep 21 08:26:53 PDT 2035
Certificate fingerprints:MD5: DB:DB:3B:ED:34:72:B1:B3:C4:CA:59:BE:CD:33:9F:44SHA1: 5D:F8:F0:82:12:61:A2:34:D1:11:02:8E:FD:DF:FA:3C:88:89:76:49Signature algorithm name: SHA1withRSAVersion: 3
User Interface
CoolReaper显示的应用名字是"Android System",而且使用了其它真正系统应用的图标。
CoolReaper在应用桌面是不可见的。
CoolReaper实现了非常少的用户交互的组件。当中一些是不生效的。比方 com.android.update.dm.MainActivity . 另一些恶意意图的功能,像组件 com.android.update.dmp.PretendedOTADialog 用于显示一些伪造的OTA升级通知。 com.android.update.dmp.weblinkhandler.WebLinkActivity 用于通过远程控制打开指定页面。
大多数的恶意功能均是静默实现不须要与用户进行交互。用户非常难发现和阻止。
Code Structure
CoolReaper主要代码能够切割成两个组件:DMP和ICU
在DMP的java class都有前缀"com.android.update.dmp"。他们负责接收从C2server发送的命令、下载相关文件表现为本地恶意行为。此组件能够通过开机、联网、点亮屏幕触发。当这些事件发生时,DMP在后台启动一个服务:com.android.update.dmp.SystemOptService
在ICU组件中的java class前缀为:com.android.icu,他们负责手机用户信息并发送到C2server。ICU以系统服务形式运行:com.android.icu.service.SystemPipeService
以上分析显示DMP和ICU是分别开发的,他们有着不一样的功能、不一样的路径、不同的的C2地址而且不相互影响。
Component Functionalities
CoolReaper中的DMp和ICU组件实现了非常多功能,当他们组合起来时变成一个非常强大的后门。
DMP组件主要负责远程控制设备,此组件的具备下面功能:
- 下载指定APK文件,OTA升级且不须要用户确认
- 后台安装apk不须要用户确认
- 启动随意已安装的应用且不须要用户确认
- 启动随意应用指定的服务不须要用户确认
- 后台静默卸载随意应用不需用户确认
- 桌面随意创建或者删除快捷方式
- 清除指定应用数据不须要用户确认
- 禁用或者激活随意系统应用不须要用户确认
- 通知用户正常OTA升级
- 伪造OTA升级通知
- 使用之前下载好的升级包强制OTA升级
- 拨打随意电话不须要用户确认
- 发送指定短信内容到指定号码不需用户确认
- 插入随意指定短信活彩信到收信箱而且在通知栏显示伪造通知
- 通过默认浏览器打开指定链接
- 设置或者获取系统变量
- 弹出通知栏或者对话框,假设用户点击将会下载指定apk
- 弹出通知栏,用户点击后拨打指定号码
- 弹出通知栏,用户点击后显示指定页面
- 弹出通知栏。用户点击后登录或者安全指定应用
- 上传用户磁盘信息到c2server
- 上传用户手机是否root的信息到C2server
另一方面。ICU组件主要负责手机用户信息发送到C2server。ICU收集例如以下信息:
- 设备硬件信息
- 设备地理位置信息包括城市、省份信息
- 安装的应用以及使用频率信息
- 通话数以及短信收发数量
- 网络信息。包括联网类型以及联网时间
上述功能明显表明CoolReaper能够扮演后门的角色。
后台操作者能够轻易的在用户设备上卸载或者禁用安全软件、安装恶意软件、窃取用户信息以及注入虚假信息。
除了这些功能外,代码里很多调试字符串就包括"backboor"keyword。比方下面的类"BackDoorManager"含有有一个方法"processBackDoor"
当启动伪造OTA升级功能时。反馈报告里的信息是"the preset app back door is opened!",以及在默认配置文件里一个item取名为"isBackDoorMsgSended"
这些调试信息、反馈信息自身显然不是恶意软件,可是通过这些字符串能够看出CoolReaper的制作者的意图是想在设备中安置后门。
CoolReaper包括太多功能不能再这里一一描写叙述。附录中将贴出其后门功能的代码截图
Command and Control Servers and the Coolyun Service
CoolReaper的DMP和ICU组件使用不同URL群作为他们的指令server。
DMP组件的后台的域名和ip信息例如以下:
- dmp.51Coolpad.com
- dmp.coolyun.com
- 13.142.37.149
在我们分析时这些域名解析到13.142.37.149,CoolReaper有能力在不论什么时候更新C2的地址
DMP组件使用HTTP POST请求与C2server通信,当获取到命令或者上传信息的时候,它会使用特别的User-agent:"UAC/1.0.0 (Android <Build.VERSION.RELEASE>; Linux)"。这里的<Build. VERSION.RELEASE>是安装在手机中android操作的系统的版本号。
在CMP组件里,Coolreaper使用了13个不用的URL用来注冊设备、获取指令、返回运行结果、上传运行信息、下载apk文件以及运行其它任务。
这些URL例如以下:
- http://dmp.51Coolpad.com/dmp/api/getfirstpushmsg
- http://dmp.coolyun.com/dmp/api/userregister
- http://dmp.coolyun.com/dmp/api/getstrategy
- http://dmp.coolyun.com/dmp/api/getpushmsg
- http://dmp.coolyun.com/dmp/api/reportpushmsg
- http://dmp.coolyun.com/dmp/api/updatepushmsg
- http://dmp.coolyun.com/dmp/api/exceptupload
- http://dmp.coolyun.com/dmp/api/setuserstate
- http://dmp.coolyun.com/dmp/api/getapkupdate
- http://dmp.coolyun.com/dmp/api/strategyandupdate
- http://dmp.coolyun.com/dmp/api/ctruleservlet
- http://dmp.coolyun.com/dmp/api/ctrulereportservlet
- http://dmp.coolyun.com/dmp/api/strategyandupdate
ICU组件使用例如以下URL下载配置数据以及上传用户信息:
- http://icudata.coolyun.com/
- http://icudata.51Coolpad.com/
- http://113.142.37.246/filereceiver
- http://icucfg.coolyun.com/
- http://icucfg.51Coolpad.com/
- http://113.142.37.246/icucfg
- http://file.Coolpadfuns.cn/actioncollect
coolyun.com除了发送指令控制设备外还解析为酷派官方云服务:酷云。
通过酷云。酷派提供服务以及应用给安卓用户。我们对照了CoolReaper以及酷云client来确认它是否是酷云的合法管理应用
酷云client的包名为:com.android.coolwind 。
它在cooyun.com以及各大应用市场均能下载。我们注冊了一个酷云帐号发现其仅仅给用户提供了少量服务。包括备份联系人以及云存储。这些功能和coolReaper比起来简直小巫见大巫。
其实,处理使用相同的C2域名外,CoolReaper和酷云唯一的关系就是ICU组件在设备上收集酷云帐号而且发送到C2server。
CoolReaper Back-End
一般来说像像CoolReaper这样的后门的后台控制系统是非常难被找到或者公开的,可是近期酷派开发给我们了一个机会去见识下酷派究竟是怎么使用这个后门的。
2014年9月19号。乌云白帽子"爱上平地山"在乌云网上报酷派漏洞酷派官方静默安装apk功能后台存在高危漏洞(演示定制机是怎样在你的手机默默安装)。同天酷派确认此漏洞而且评论"感谢提供。我们尽快解决,谢谢。"
乌云负责任的漏洞披露流程,意味着漏洞细节不能立即公开。
虽然如此。作为一个乌云白帽子我们能在酷派确定漏洞一个天数后看到漏洞细节。
漏洞细节是一个代码运行导致被getshell,然后白帽子进入了酷云权限管理平台:auth.coolyun.com。平台上显示有例如以下功能:
- PUSH伪装OTA推app
- 静默安装apk
- PUSH激活应用
- PUSH后台命令
通过安全牛的报道,得到一张没有马赛克的后台系统截图。
显示该系统具有例如以下功能:
- 静默安装apk
- 静默卸载apk
- 后台激活第三方应用
- 后台激活第三方服务
- PUSH后台指令下发
- PUSH推送APK
- PUSH激活应用
- PUSH打开网页链接
- PUSH推送HTML
- PUSH推送拨打电话
- PUSH短信伪装插入
- PUSH彩信伪装插入
- PUSH伪装OTA推APP
- PUSH推OTA升级包
- PUSH发OTA升级广播
上面的描写叙述的功能和分析的CoolReaper实现的代码均能相应上
2014年11月21日。安全牛发表了第二篇文章酷派公关陈述:仅用于内部測试。
要求安全牛撤稿。安全牛要求其发送正式信函而且出示相关证明,之后酷派并未回应。
Hiding CoolReaper from Users
酷派手机的固件除了包括CoolReaper后门外还做其它修改意图来隐藏此后门
Hidden from list of Installed Packages
第一处变动位于/system/framework/services.odex 此文件为安装系统实现了基础服务以及其它组件。
酷派修改了PMS中的getInstalledPackages方法用于收集安装于android的包。
修改还特意照应了"com. android.update.dmp"酷派后门,用于阻止其返回给请求程序。
此处修改不仅从用户角度隐藏了此后门包同一时候也能规避杀软和MDM。也就是说杀软是无法扫描到它以及推断它是否为恶意软件。
Disable Notifications Menu
第二处修改是在 /system/app/SystemUI.odex 。酷派更改了com.android.systemui.statusbar.BaseStatusBar类的getNotificationLongClicker方法。
通常来讲。当android应用在系统通知栏显示通知时。用户能够通过长按通知栏来鉴别此通知的来源而且能够禁用此通知。
可是通过更改代码。不论什么CoolReaper的通知信息都将阻止用户去鉴别来源。
Evading Pre-Installed Antivirus Program
第三处修改是用于预安装酷派自家的安全应用"酷管家",此款应用提供基本杀毒以及其它安全服务。每当应用安装或者更新的时候,酷管家都将进行安全扫描。与之前的修改相似,假设扫到包名为"com.android.update.dmp"将会绕过其扫描。
CoolReaper Reach and Impact
Customer Reports
9月30号在谷歌搜索后门CoolReaper的应用名“CP_DMP.apk”,我们发现有236条搜索结果。当中大多数是酷派用户在论坛讨论此文件
从2013年9月開始,用户開始讨论他们的酷派手机发生的一些例如以下莫名行为:
- 设备自己主动升级
- 设备频繁在通知栏收到广告通知
- 设备静默安装很多游戏
- 设备提示OTA升级,重新启动后发现系统并未升级仅仅是多出了11个新应用
用户抱怨之后不久,coolreaper进行了一次升级。版本号由2.x升级到3.0.应用名由CM_DMP.apk变为GoogleGmsFramework.apk。我们觉得此次升级的意图是为了隐藏后门来躲避用户已经定位的文件。这招貌似成功逃过了用户通过应用名"CP_DMP.apk"来定位后门的方法。
下图的帖子中一个用户询问:为何删除了CP_DMP.apk,几天后广告又出现了,我们该怎么搞它?
Geographic Range of Impact
我们不知道多少酷派设备包括coolreaper后门,考虑到coolreaper被增加到近期12月生产的24种机型里,以及IDC发布的酷派销售目标,故影响的设备非常可能超过一千万。
大多受影响的设备都是在中国,貌似这个后门是为中国人定制的。
后门的一处代码显示通过推断设备SIM卡的IMSI来确定其运营商归属
2014年11月25日,我们在加利福利亚购买一部酷派FLo手机并未发现其包括有CoolReaper后门,这个手机制造时间超过一年,应该是它制造日期太早没来得及放入后门。我们并未分析前面提到的另两款在美国销售的机型以及其在欧洲和东南亚销售的机型。
仅仅有中国发行的ROM能够被下载。
Coolreaper存在非中国地区可能基于下面几个原因:
- 在C2C站点像eBay这也,一些酷派手机从中国用户手中流出
- CoolReaper已经被安装在国外销售的机型中仅仅是并未出如今我们所分析的设备
- 通过官方OTA升级CoolReaper被远程安装,CP_OTA.apk具有此功能。这个包被安装在美国销售的酷派FLo上。实用户抱怨,删除CP_DMP.apk后。其有被自己主动又一次安装。这个又一次安装的过程可能是通过ota机制实现实的。
2014年10月,两位用户反馈酷派5950t被植入后门
除了上面两位用户的反馈,11月11号我们检測到CoolReaper控制指令http请求报文。
Detection and Protection
CoolReaper非常难被杀软检測到以及删除。酷派通过更改android底层系统来绕过安全软件的检測coolreaper。coolreaper使用的是酷派官方证书签名。这也又能够绕过一些基于白名单机制的检測的安全软件。另外。假设杀软能检測到此后门,也没有在非ROOT的情况下删除后门的权限,由于coolreaper是以系统应用安装的。
2014年4月以及7月。
三个coolreaper的样本被上传到VirusTotal。8月23、24,安全机构将这三个样本定性为恶意、可疑文件。虽然样本被标识为"Generic"或者"agent"族,这些表明安全机构没有精确定位到此恶意应用。
一些机构将其定位为"Trojan.Android.Andup.a"是不准确的。
酷派个人用户,我们建议通过root explorer软件查看你的手机是否有下面文件:
- /system/app/CP_DMP.apk
- /system/app/CP_DMP.odex
- /system/app/GoogleGmsFramework.apk
- /system/app/GoogleGmsFramework.apk
- /system/lib/libgmsframework.so
假设存在以上随意一个文件,你的手机就非常有可能存在CoolReaper后门。假设你的手机已经root,你能够使用root权限轻易的删除这些文件。
只是,酷派还是有可能通过OTA升级给你安装新的后门。
Conclusions and Risks
基于以上分析我们对Coolreaper做了例如以下总结:
- Coolreaper使用酷派官方数字证书签名。安装在酷派官方固件中使用酷派的server控制发送指令
- 酷派承认存在手机管理接口。而这个接口的功能更Coolreaper实现的功能相应。这个接口的服务存在漏洞以及被人利用入侵
- 酷派官方固件做了修改来避免用户以及杀软发现coolreaper
- 在很多用户反馈和抱怨被强制推送了广告和应用后酷派并未解决这些问题
或许酷派制作这款程序的目的是为了帮助用户提升用户体验。
手机厂商在设备上安装定制软件,可是coolreaper功能已经全然超出了用户的预期。这个后门能让酷派全然控制随意酷派手机。中国用户已经反馈此系统正用于推送广告和应用。
其实coolreaper的管理接口非常可能被攻击者利用漏洞拿下。这样对用户的威胁将会更大。虽然如今被修复一个。可是谁能保证以后不再有了。
已知的coolreaper后门仅影响中国用户。可是随着酷派的全国扩张这个后门非常可能影响到全球Android用户。
Appendix A:
Significant Malicious Behaviors
Coolreaper实现的大多数功能都能归类为恶意意图,下列代码展示此后门的各种行为。
后台安装下载apk
后台卸载apk
打开指定应用
清除指定应用数据
激活禁用指定系统应用
伪造ota更新用于打开后门
拨打指定号码
发送随意短信
伪造随意短信到收信箱
弹出收到伪造短信的通知
伪造随意彩信到收信箱
获取或者设置系统变量