XCode病毒事件之XCodeGhost样本分析

0x00 序

事情的起因是@唐巧_boy在微博上发了一条微博说到:一个朋友告诉我他们通过在非官方渠道下载的 Xcode 编译出来的 app 被注入了第三方的代码,会向一个网站上传数据,目前已知两个知名的 App 被注入。

 

随后很多留言的小伙伴们纷纷表示中招,@谁敢乱说话表示:”还是不能相信迅雷,我是把官网上的下载URL复制到迅雷里下载的,还是中招了。我说一下:有问题的Xcode6.4.dmg的sha1是:a836d8fa0fce198e061b7b38b826178b44c053a8,官方正确的是:672e3dcb7727fc6db071e5a8528b70aa03900bb0,大家一定要校验。”另外还有一位小伙伴表示他是在百度网盘上下载的,也中招了。

0x01 样本分析

在@疯狗 @longye的帮助下,@JoeyBlue_ 为我们提供了病毒样本:CoreService库文件,因为用带这个库的Xcode编译出的app都会中毒,所以我们给这个样本起名为:XCodeGhost。CoreService是在”/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/”目录下发现的,这个样本的基本信息如下:

12345678910$shasum CoreService

f2961eda0a224c955fe8040340ad76ba55909ad5 CoreService

$file CoreService

CoreService: Mach-O universal binary with 5 architectures

CoreService (for architecture i386): Mach-O object i386

CoreService (for architecture x86_64): Mach-O 64-bit object x86_64

CoreService (for architecture armv7): Mach-O object arm

CoreService (for architecture armv7s): Mach-O object arm

CoreService (for architecture arm64): Mach-O 64-bit object

用ida打开,发现样本非常简单,只有少量函数。主要的功能就是先收集一些iPhone和app的基本信息,包括:时间,bundle id(包名),应用名称,系统版本,语言,国家等。如图所示:

 

随后会把这些信息上传到 init.icloud-analysis.com。如图所示:

 

http://init.icloud-analysis.com并不是apple 的官方网站,而是病毒作者所申请的仿冒网站,用来收集数据信息的。

 

目前该网站的服务器已经关闭,用whois查询服务器信息也没有太多可以挖掘的地方。这说明病毒作者是个老手,并且非常小心,在代码和服务器上都没有留下什么痕迹,所以不排除以后还会继续做作案的可能。

0x02 检测方法

为了防止app被插入恶意库文件,开发者除了检测”/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs” 目录下是否有可疑的framework文件之外,还应该检测一下Target->Build Setting->Search Paths->Framework Search Paths中的设置。看看是否有可疑的frameworks混杂其中:

 

另外因为最近iOS dylib病毒也十分泛滥,为了防止开发者中招,支付宝的小伙伴还提供了一个防止被dylib hook的小技巧:在Build Settings中找到“Other Linker Flags”在其中加上”-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null”即可。

 

最后的建议是:以后下载XCode编译器尽可能使用官方渠道,以免app被打包进恶意的病毒库。如果非要用非官方渠道,一定要在下载后校验一下哈希值。

0x03 思考&总结

虽然XCodeGhost并没有非常严重的恶意行为,但是这种病毒传播方式在iOS上还是首次。也许这只是病毒作者试试水而已,可能随后还会有更大的动作,请开发者务必要小心。这个病毒让我想到了UNIX 之父 Ken Thompson 的图灵奖演讲 “Reflections of Trusting Trust”。他曾经假设可以实现了一个修改的 tcc,用它编译 su login 能产生后门,用修改的tcc编译“正版”的 tcc 代码也能够产生有着同样后门的 tcc。也就是不论 bootstrap (用 tcc 编译 tcc) 多少次,不论如何查看源码都无法发现后门,真是细思恐极啊。

0x04 追加更新

1 很多开发者们担心最近下载的Xcode 7也不安全。这里笔者没有使用任何下载工具的情况在苹果官网上下载了Xcode_7.dmg并计算了sha1的值。

http://adcdownload.apple.com/Developer_Tools/Xcode_7/Xcode_7.dmg

$ shasum Xcode_7.dmg

4afc067e5fc9266413c157167a123c8cdfdfb15e Xcode_7.dmg

 

所以如果在非App Store下载的各位开发者们可以用shasum校验一下自己下载的Xcode 7是否是原版。

2 @FlowerCode同学通过分析流量发现病毒开发者的服务器是搭建在Amazon EC2的云上的。服务器已经关闭 。

 

3 根据palo alto networks公司爆料,被感染的知名App Store应用为”网易云音乐”!该app应用在AppStore上的最新版本2.8.3已经确认被感染。并且该应用的Xcode编译版本为 6.4(6E35b),也就是XcodeGhost病毒所感染的那个版本。网易云音乐在AppStore上目前的状态:

 

 

“网易云音乐”逆向后的函数列表,可以找到XcodeGhost所插入的函数:

 

受感染的”网易云音乐”app会把手机隐私信息发送到病毒作者的服务器”init.icloud-analysis.com”上面:

 

4 根据热心网友举报,投毒者网名为”coderfun”。他在各种iOS开发者论坛或者weibo后留言引诱iOS开发者下载有毒版本的Xcode。并且中毒的版本不止Xcode 6.4,还有6.1,6.2和6.3等等。

 

 

 

5 根据热心网友提醒,我们在中信银行信用卡的应用”动卡空间”中也发现了被插入的XcodeGhost恶意代码,受感染的版本为3.4.4。

 

 

被插入的部分恶意代码如下:

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/122968.html<

(0)
运维的头像运维
上一篇2025-02-22 14:23
下一篇 2025-02-22 14:24

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注