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

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

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

一、恶意行为与C2服务器

1、通信密钥分析

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

密钥的计算方法:

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

2、恶意行为分析

恶意行为一:做应用推广‍

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

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

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

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

相关代码如下:

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

二、Xcode 的弱点及利用

1、Xcode 的利用过程描述

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

被修改的文件内容如下:

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

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

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

通过在配置文件中添加的链接选项,在工程的编译设置中无法看到,这就增加隐蔽性:

2、对恶意代码 CoreService 的分析

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

查看 CoreService 中的符号,可以看到:

导入的符号有:

3、验证概念

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

制作出对象文件ProteasInjector.o,然后用这个文件替换掉CoreService文件,编译程序,然后反汇编,结果如下:

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

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

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2015-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

数据库备份相关

汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql ADO.Net简单演示:https://gith...

39790
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统 (源码购买说明)

系列目录 方便朋友获取一个开发框架,无论是开发还是学习用途将受益匪浅,出售此框架源码价格666,终身免费升级,在线解答问题 您可以通过QQ 729994997 ...

1.2K50
来自专栏散尽浮华

Linux下快速迁移海量文件的操作记录

有这么一种迁移海量文件的运维场景:由于现有网站服务器配置不够,需要做网站迁移(就是迁移到另一台高配置服务器上跑着),站点目录下有海量的小文件,大概100G左右,...

34370
来自专栏魏艾斯博客www.vpsss.net

WP-Sweep 插件清理 WordPress 垃圾评论和数据结构

50520
来自专栏潇涧技术专栏

React Native Upgrade

文中的代码和图片我都反复检查过了,基本上没有泄露公司的重要信息的数据,如若发现有泄露的话请立即告知我 ;-)

13420
来自专栏Youngxj

JuiceSSH及图形界面整合

74790
来自专栏LeoXu的博客

[翻译]Ext JS 教程-MVC架构 原

大规模的客户端应用程序常常难于去编写、组织机构和维护。随着你加入更多的功能,并且投入更多的开发人员,它们渐渐趋向于失去控制。ExtJS 4 带来了一种新的不仅...

18810
来自专栏進无尽的文章

推送-远程通知推送教程

本文翻译自:raywenderlich.com,原文作者:Jack Wu,译者:JMStack

20020
来自专栏不止是前端

Vue:一个空白的Vue项目,开箱即用

440110
来自专栏菩提树下的杨过

IntelliJ IDEA 13试用手记(附详细截图)

从去年开始转java以来,一直在寻找一款趁手的兵器,eclipse虽然是很多java程序员的首选,但是我发现一旦安装了一些插件,workspace中的项目达到数...

13030

扫码关注云+社区

领取腾讯云代金券