蒸米 · 2015/09/22 3:01php
做者:没羽,蒸米,阿刻,迅迪 @ 阿里移动安全html
截胡,麻将术语,指的是某一位玩家打出一张牌后,此时若是多人要胡这张牌,那么按照逆时针顺序只有最近的人算胡,其余的不能算胡。现也引伸意为断别人财路,在别人快成功的时候抢走了别人的胜利果实。git
虽然XcodeGhost做者的服务器关闭了,可是受感染的app的行为还在,这些app依然孜孜不倦的向服务器(好比init.icloud-analysis.com,init.icloud-diagnostics.com等)发送着请求。这时候黑客只要使用DNS劫持或者污染技术,声称本身的服务器就是”init.icloud-analysis.com”,就能够成功的控制这些受感染的app。具体能干什么能,请看咱们的详细分析。github
另外,有证据代表unity 4.6.4 – unity 5.1.1的开发工具也受到了污染,而且行为与XcodeGhost一致,更恐怖的是,还有证据证实XcodeGhost做者依然逍遥法外,具体内容请查看第三节。算法
PS:虽然涅槃团队已经发出过攻击的demo了2,但不少细节并无公布。因此咱们打算在这篇文章中给出更加详细的分析过程供你们参考。安全
在受感染的客户端App代码中,有个Response方法用于接收和处理远程服务器指令。服务器
Response方法中根据服务器下发的不一样数据,解析成不一样的命令执行,根据咱们分析,此样本大体支持4种远程命令,分别是:设置sleep时长、窗口消息、url scheme、appStore窗口。app
经过4种远程命令的单独或组合使用能够产生多种攻击方式:好比下载安装企业证书的App;弹AppStore的应用进行应用推广;弹钓鱼页面进一步窃取用户信息;若是用户手机中存在某url scheme漏洞,还能够进行url scheme攻击等。函数
其通讯协议是基于http协议的,在传输前用DES算法加密http body。Response方法拿到服务器下发送的数据后,调用Decrypt方法进行解密:工具
若是解密成功,将解密后的数据转换成JSON格式数据:
而后判断服务器端下发的数据,执行不一样的操做。以下面截图是设置客户端请求服务端器sleep时长的操做:
在逆向了该样本的远程控制代码后,咱们还原了其服务端代码,进一步分析其潜在的危害。
首先咱们在服务端能够打印出Request的数据,以下图:
红色框标记的协议的头部部分,前4字节为报文长度,第二个2字节为命令长度,最后一个2字节为版本信息,紧跟着头部的为DES的加密数据。咱们在服务端将数据解密后显示为:
这里有收集客户端信息上传到控制服务器。
一样咱们返回加密数据给客户端:
明文信息为:
客户端根据App的运行状态向服务端提供用户信息,而后控制服务器根据不一样的状态返回控制数据:
该样本先判断服务端下发的数据,若是同时在在“alertHeader”、“alertBody”、“appID”、“cancelTitle”、“confirmTitle”、“scheme”字段,则调用UIAlertView在客户端弹框显示消息窗口:
消息的标题、内容由服务端控制
客户端启动受感染的App后,弹出以下页面:
当服务端下发的数据同时包含“configUrl”、“scheme”字段时,客户端调用Show()方法,Show()方法中调用UIApplication.openURL()方法访问configUrl:
经过在服务端配置configUrl,达到下载安装企业证书App的目的:
客户端启动受感染的App后,目标App将被安装(注意:演示应用为测试应用,不表明恶意软件推广该应用):
demo地址:http://v.youku.com/v_show/id_XMTM0Mjg0MDc4OA==.html
经过在服务端配置configUrl,达到推送钓鱼页面的目的:
客户端启动受感染的App后,钓鱼页面被显示:
demo地址:http://v.youku.com/v_show/id_XMTM0Mjg0NTM2NA==.html
经过在服务端配置configUrl,达到推广AppStore中的某些应用的目的:
phishing1.html页面内容:
客户端启动受感染的App后,自动启动AppStore,并显示目标App的下载页面:
demo地址:http://v.youku.com/v_show/id_XMTM0Mjg0NDA4MA==.html
在你们觉得一切都完结的时候,百度安全实验室称已经确认”Unity-4.X的感染样本”。而且逻辑行为和XcodeGhost一致,只是上线域名变成了init.icloud-diagnostics.com。这意味,凡是用过被感染的Unity的app都有窃取隐私和推送广告等恶意行为。
Unity是由Unity Technologies开发的一个让玩家建立诸如三维视频游戏、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。不少有名的手机游戏好比神庙逃亡,记念碑谷,炉石传说都是用unity进行开发的。
更使人恐怖的是,在百度安全实验室确认后没多久,你们就开始在网上寻找被感染的Unity工具,结果在我搜到一个Unity3D下载帖子的时候发现”codeFun与2015-09-22 01:18编辑了帖子”!?要知道codeFun就是那个自称XcodeGhost做者的人啊。他居然也一直没睡,大半夜里一直在看你们发微博观察动静?随后发现你们知道了Unity也中毒的事情,赶忙去把本身曾经投毒的帖子删了?
如今再去看那个帖子已经被做者删的没有任何内容了。。。 http://game.ceeger.com/forum/read.php?tid=21630&fid=8
但根据XcodeGhost做者没删以前的截图代表,从unity 4.6.4 – unity 5.1.1的开发工具都有可能被投毒了!
虽然病毒做者声称并无进行任何广告或者欺诈行为,但不表明别人不会代替病毒做者进行这些恶意行为。而且做者依然还在逍遥法外!因此马上!立刻!删掉那些中毒的app吧!
1 在百度安全实验室的帮助下,咱们已经拿到了UnityGhost的样本。基本信息以下:
$shasum libiPhone-lib-il2cpp.a-armv7-master.o
625ad3824ea59db2f3a8cd124fb671e47740d3bd libiPhone-lib-il2cpp.a-armv7-master.o
$ file libiPhone-lib-il2cpp.a-armv7-master.o
libiPhone-lib-il2cpp.a-armv7-master.o: Mach-O object arm
复制代码
UnityGhost样本的行为和XcodeGhost很是类似,基本函数以下:
UnityGhost在启动时会检测是不是在虚拟机和调试器中运行,若是是则不产生恶意行为:
UnityGhost一样也会收集用户手机的各类信息(时间,bundle id(包名),应用名称,系统版本,语言,国家等)并上传到一个新的服务器”http://init.icloud-diagnostics.com”:
在接收到服务器返回的指令后,UnityGhost一样也能够进行多种恶意行为:下载安装企业证书的App;弹AppStore的应用进行应用推广;弹钓鱼页面进一步窃取用户信息;若是用户手机中存在某url scheme漏洞,还能够进行url scheme攻击等。 弹出诈骗对话框用到的函数:
弹出网页或者推广应用用到的函数: