3个月前 (07-31)  黑客攻击 |   抢沙发  39 
文章评分 2 次,平均分 4.5

本文是 360 Nirvan Team 团队针对 XcodeGhost 的第二篇分析文章。

我们还原了恶意iOS应用与C2服务器的通信协议,从而可以实际测试受感染的iOS应用可以有哪些恶意行为,具体行为见下文。

最后,我们分析了攻击的发起点:Xcode,分析了其存在的弱点,及利用过程,并验证了该攻击方法。

0x01 恶意行为与C2服务器


通信密钥分析

恶意程序将其与服务器通信的数据做了加密,如下图所示:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

密钥的计算方法:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

通过分析,密钥为:stringWi,生成密钥的方式比较有迷惑性。

恶意行为分析

恶意行为一:做应用推广

方法是:首先检测用户手机上是否安装了目标应用,如果目标应用没有安装,则安装相应应用,其中目标应用由C2服务器控制。

我们逆向了恶意代码与C2服务器的通信协议,搭建了一个测试的C2服务器。然后通过C2服务器可以控制客户端安装第三方应用(演示应用为测试应用,不代表恶意软件推广该应用),见视频,

视频链接:http://v.youku.com/v_show/id_XMTMzOTk0NDc2MA==.html

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

这是第一个针对 XcodeGhost 能力的视频演示。

恶意行为二:伪造内购页面

相关代码如下:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

恶意行为三:通过远程控制,在用户手机上弹提示

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

0x02 Xcode 的弱点及利用


Xcode 的利用过程描述

Xcode 中存在一个配置文件,该配置文件可以用来控制编译器的链接行为,在受感染的 Xcode 中,该文件被修改,从而在链接阶段使程序链接含有恶意代码的对象文件,实现向正常iOS应用中注入恶意代码的目的。

被修改的文件内容如下:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

从上图可以看到,程序会链接恶意对象文件 CoreService。

从链接过程的 Log 中可以看到其是如何影响链接过程的:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

注:实际上可以让 CoreService 从文件系统中消失,且在链接Log中没有任何额外信息。

通过在配置文件中添加的链接选项,在工程的编译设置中无法看到,这就增加隐蔽性:涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

对恶意代码 CoreService 的分析

首先 CoreService 的文件类型为:Object,即对象文件。

查看 CoreService 中的符号,可以看到:涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

导入的符号有:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

验证概念

首先编写一个 ObjC 的类,测试如下图:

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

制作出对象文件 ProteasInjector.o,然后用这个文件替换掉 CoreService 文件,编译程序,然后反汇编,结果如下:涅槃团队:Xcode幽灵病毒存在恶意下发木马行为

可以看到代码被注入到应用中。

 

除特别注明外,本站所有文章均为铁匠运维网原创,转载请注明出处来自http://www.tiejiang.org/21941.html

关于

发表评论

暂无评论

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享