This post was updated 2533 days ago and some of the ideas may be out of date.

前言:

最近网上和微博上面爆出了,有人在Xcode中加入恶意代码,致使很多应用感染XcodeGhost病毒。病毒产生的过程是这样的,因为我国特殊的网络政策,致使我们访问苹果服务器特别缓慢(要吐血的慢),所以很多苹果开发者会选择从百度网盘等第三方渠道下载Xcode编译器,有心人就利用这个特点。在官方原版的Xcode中加入了恶意代码,打包后上传到百度网盘等渠道中,当开发人员使用这些经过修改的编译器打包后会将那段恶意代码打包到APP包中,这些代码就是简单的搜集用户使用信息的代码(就相当于,在APP中使用的是其他人的友盟账号的原理是一样的),因此苹果当然会通过审核。这样当用户使用这些APP的时候,就会将这些统计数据上传到病毒作者的服务器上面,此处为http://init.icloud-analysis.com

域名判别:

init.icloud-analysis.com域名的注册信息如下:

XcodeGhost1
可以看出,这个域名肯定不是苹果的域名(苹果公司没必要设置隐私保护),病毒作者在2015年2月25日注册的这个域名,并设置隐私保护。说句玩笑话,如果我是病毒作者,我会伪装成国内知名的统计的域名,混淆起来更难识别。
目前此域名已经停止解析,但是从ping的缓存可以看出作者使用的cdn保护了自己的ip。

XcodeGhost2

检测APP的过程:

下面进入文章的正题,我们要检测手机上的APP是否感染病毒,刚才差点跑偏变成社工病毒作者了,哈哈!
我们使用著名的Charles进行抓包检测。
1.首先我们要安装Charles,这里就不演示了,大家自行google。
2.打开Charles,在菜单栏选择 Proxy->Proxy Settings

XcodeGhost4

这里端口默认即可,Enable transparent HTTP proxying 的勾勾打上,保存即可。
3.打开MAC OS的“网络偏好设置”,可以看到自己的内网ip,这里我的为192.168.1.11

XcodeGhost5
4.在iOS设备上面的“设置->无限局域网->详细信息->HTTP代理->手动”,此处填写电脑内网ip,我填写192.168.1.11,端口填写8888。

XcodeGhost6
5.打开某个应用,此时Charles就会出现请求地址了,如果在请求地址里面出现了init.icloud-analysis.com,就说明这个应用感染了XcodeGhost病毒

XcodeGhost7

总结:

看来iOS系统也不是百分之百安全,如果你是越狱用户,这个病毒是不是直接就读取你的短信内容了呢?此文章仅供参考,谢谢大家!