请选择 进入手机版 | 继续访问电脑版
  • 关注官方微信 微信公众号 添加方式:
    1:搜索微信号(gogolinux
    2:扫描左侧二维码
  • 登录 注册
  • 一起学LINUX - GOGOLINUX

    查看: 737|回复: 17

    Xcode编译器里有鬼– XcodeGhost样本分析

    [复制链接]

    3

    主题

    3

    帖子

    26

    积分

    新手上路

    Rank: 1

    积分
    26
    发表于 2019-3-13 12:18:11 | 显示全部楼层 |阅读模式
    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/”目录下发现的,这个样本的基本信息如下: 
    #!bash 
    $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的值。
      所以如果在非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。




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

      6 在@Saic的提示下我们发现受感染的app还拥有接收黑客在云端的命令并按照黑客的指令发送URLScheme的能力: 

      URLScheme是iOS系统中为了方便app之间互相调用而设计的。你可以通过一个类似URL的链接,通过系统的Openurl来打开另一个应用,并可以传递一些参数。一个恶意的app通过发送URLScheme能干什么呢?
    . 可以和safari进行通讯打开钓鱼网站。 
    . 可以和AppStore进行通讯诱导用户下载其他AppStore应用。 
    . 可以和itms-services服务通讯诱导用户下载无需AppStore审核的企业应用。 
    . 向支付平台通讯发送欺骗性的支付请求等。 
      7 目前已经官方确认中毒的app有:微信,网易云音乐,豌豆荚的开眼等。




    0x05 病毒作者现身 
      微博地址:http://weibo.com/u/5704632164


      发表长微博内容:
      "XcodeGhost" Source 关于所谓”XcodeGhost”的澄清
      首先,我为XcodeGhost事件给大家带来的困惑致歉。XcodeGhost源于我自己的实验,没有任何威胁性行为,详情见源代码:http://github.com/XcodeGhostSource/XcodeGhost
      所谓的XcodeGhost实际是苦逼iOS开发者的一次意外发现:修改Xcode编译配置文本可以加载指定的代码文件,于是我写下上述附件中的代码去尝试,并上传到自己的网盘中。
      在代码中获取的全部数据实际为基本的app信息:应用名、应用版本号、系统版本号、语言、国家名、开发者符号、app安装时间、设备名称、设备类型。除此之外,没有获取任何其他数据。需要郑重说明的是:出于私心,我在代码加入了广告功能,希望将来可以推广自己的应用(有心人可以比对附件源代码做校验)。但实际上,从开始到最终关闭服务器,我并未使用过广告功能。而在10天前,我已主动关闭服务器,并删除所有数据,更不会对任何人有任何影响。
      愿谣言止于真相,所谓的"XcodeGhost",以前是一次错误的实验,以后只是彻底死亡的代码而已。
      需要强调的是,XcodeGhost不会影响任何App的使用,更不会获取隐私数据,仅仅是一段已经死亡的代码。
      再次真诚的致歉,愿大家周末愉快
    碎银子打赏,作者好攒钱娶媳妇:  


    <img alt="SosoImg"/>

    大嘴杨怪2015-09-23 14:25:33 
      为什么不用原厂的,我相信你们英语都能看懂啊,

    我了个去2015-09-20 17:26:03 
      根据seo的情况个人感觉不太像单人作战,更像团体作战,如果真是作者自己一个人的试验,则让我想起一句电影台词:有时候正是人们不报期望之人,做出了人们不敢期望之事。

    第二飞雪2015-09-19 12:00:02 
      下载没有感染哈。。。

    Mark2015-09-19 10:16:01 
      有种预感,这只是一个开始。。。

    try01112015-09-19 07:34:30 
      xcode不是免费的吗 为什么不去appstore下 就算是黑苹果也能进appstore下载软件啊 用得着在第三方渠道下吗

    debugknight2015-09-19 07:03:29 
      还好作者只是小试牛刀做个统计

    Trojan-King2015-09-19 03:28:09 
      离线下载有毒,p2p有毒,墙大赞,哈哈哈哈

    Real_雅小洁2015-09-19 02:58:18 
      卸载了网易云就可以了吗?

    极客江南2015-09-19 00:10:57 
      通过迅雷下载的同学也检查下```有木有病毒

    Constantine2015-09-18 23:52:02 
      @迅雷强伊文 刚下了遍X7是4afc0开头的

    Constantine2015-09-18 23:49:30 
      @迷糊蛋 商店下载是要输密码啊 几个APP一起下载只要输一次

    Huc-Unis2015-09-18 22:52:14 
      有恶意代码的APP苹果也给审核通过?

    Westford_lau劉輝2015-09-18 22:52:01 
      官方的被墙进不来,墙内第三方提供的居然带毒。。GFW万岁

    BillKerman2015-09-18 20:59:27 
      那iPad有影响么?都是iOS设备

    王宝木木2015-09-18 20:50:17 
      一大波中病毒app来袭,1.网易云音乐 2.微信 版本6.2.5 3.滴滴打车 4.12306 5.中信银行动卡空间 6.下厨房 7.51卡保 8.中国联通 9.高德地图 10.简书 11.豌豆荚的开眼 12.网易公开课 13.下厨房 14.51卡保险箱 15.同花顺 16.Lifesmart 17.马拉马拉 18.药给力 19.喜马拉雅 20.口袋记账 21.有货 23.股票雷达

    __总相宜2015-09-18 20:40:21 
      居然连程序猿的开发工具都被黑了,太狠了!

    heeb王沛2015-09-18 20:32:38 
      偶尔几个人而已,不至于说公司吧

    星乐轩2015-09-18 20:30:59 
      iOS用户请注意最近下载的APP!如果之前有遇到任何程序弹出非系统需要输入 Apple ID 或密码的网站,并输入过密码的,还请尽早修改!暂时已知受影响的:中国联通的手机营业厅;高德地图;简书;豌豆荚的开眼;网易公开课;滴滴出行;网易云音乐;12306;下厨房;51卡保险箱;同花顺;中信银行动卡空间。

    吾非良辰却能日天2015-09-18 19:31:06 
      赞!

    吾非良辰却能日天2015-09-18 19:29:28 
      瞬间觉得老人机的胜利

    愿和全人类共扯一个蛋2015-09-18 18:30:23 
      大炸弹被引爆了……后面的问题是,用户一旦有损失责任应该算谁头上?APP的开发这貌似也算是受害者……

    刘向2015-09-18 18:00:00 
      有免费正版不去下……

    熊健羲_2015-09-18 17:57:30 
      细思恐极,顿时觉得自己的手机不安全了

    XDDDDDDDDDDDDDDDDDDDDDDDDDDDDD2015-09-18 17:35:24 
      吓得我赶紧重装一遍Xcode压压惊

    HexTeto2015-09-18 17:31:25 
      大如网易这样的公司竟然也会犯这样的低级错误. 这个锅真的无法甩给GFW

    JoyChou2015-09-18 17:28:21 
      火钳刘明

    阿伏别懒了快学习2015-09-18 17:17:16 
      我有朋友的手机电脑出现问题了。 苹果 账号密码被盗,手机和电脑同时被远程刷机删账号

    jAs0nE2015-09-18 17:16:12 
      醉了…网易云音乐也中招了

    Brandon橙2015-09-18 17:09:00 
      原来开发者也有那么多蠢货啊

    KoncaFung2015-09-18 17:08:01 
      软件还是尽量从官方渠道下载好。大概6年前曾经爆出有个汉化版的PuTTY会将用户输入的账号和密码发送到特定邮箱。

    Mio睿柯2015-09-18 16:58:54 
      出了事大家开始互相埋怨了

    民乐东里2015-09-18 16:56:14 
    哎 

    努力为Github作贡献的PC2015-09-18 16:47:02 
      由于 App 开发者使用非苹果公司官方渠道的 Xcode 工具开发 App 时,会向正常的 App 中植入恶意代码,目前了解到此恶意代码会上传 App 内使用信息并非用户隐私信息,但也有 iCloud 弹窗反复出现要求输入密码。

    love龙背山2015-09-18 16:46:39 
      光润通专注于研发、生产、销售光纤网络产品,核心产品主要有光纤网卡、光纤模块、波分设备、光纤收发器、光纤跳线、光分路器等。

    喵丶了个依2015-09-18 16:42:54 
      有没有大神用普通话解释下这个东西对普通用户有啥影响啊?拜谢……

    雷小某2015-09-18 16:32:00 
      @共匪 这是有何不满么

    星光______2015-09-18 16:29:16 
      喜闻乐见

    少想少说多GAN2015-09-18 16:27:38 
      ios也不靠谱了诶

    精神科赵主任2015-09-18 16:26:51 
      要是官方能流畅的下,誰脑子有坑去第三方下啊

    雷小某2015-09-18 16:12:34 
      @test 看微博链接

    雷小某2015-09-18 16:11:58 
      看微博链接,怎么会没有呢?

    雷小某2015-09-18 15:52:17 
      init.icloud-analysis.com->104.238.125.92(2015-04)->xyzhushou.me ->(?)weibo.com/xyzhushou 雷锋不谢,剩下的看各位自行研判了

    恰同学少年-意气风发2015-09-18 15:46:52 
      我查了一下我的xcode都没得

    m18402015-09-18 15:27:17 
      Apple 该出手了。对服务器上的所有app扫描。下架相关 并公布名单给用户。

    wefgod2015-09-18 14:35:59 
      @疯狗 难道之前的yanzhaomen?就是因为?

    恰空尼2015-09-18 14:02:35 
      有 Twitter 网友使用 Charles 软件分析得到,至少有新版网易云音乐、中信银行动卡空间、12306 和滴滴打车等应用被注入 XcodeGhost 代码。

    ggshiney2015-09-18 13:38:37 
      我深信,此刻我手机里中招的iOS app不止网易云音乐。想起来当年Ken Thompson宣称编译器里留后门的历史了。当然如今这事往深了想可以发散很多:国内出境网络质量;外企在国内布cdn的政策;几乎被滥用的各种“云网盘式”分发模式,开发环境自身的安全性完整性验证;乃至广告刷榜的app运营模式问题。

    冰火九天2015-09-18 13:18:05 
      撇开技术不谈,看看作者所在公司正在推广的某音乐,似乎明白了什么

    倦卧微闻浅草香2015-09-18 13:05:14 
      所以同时核对文件大小,MD5值,和SHA1很有必要

    peng_gong2015-09-18 13:03:46 
      Reflections on trusting trust: http://t.cn/RwAyvkF

    杨恩泽Eanling2015-09-18 13:03:11 
      事实又一次证明了,除了官网和MAS下载的,其余渠道来的软件都会有问题!

    Constantine2015-09-18 13:01:01 
      ftmdx啊 窝也中招了

    c4bbage2015-09-18 13:00:25 
      @yoyokko 关注,这应该是一个开始而已。

    Ecauchy2015-09-18 12:48:34 
      其实比较好玩的是明明网易云音乐是最大受害者,结果原链接里的评论一溜烟地骂“垃圾网易!”

    InteI2015-09-18 12:37:41 
      iOS版本已中招,那OS X上的网易云音乐也不能幸免吧?

    HAPENLY2015-09-18 12:29:16 
      我擦!网盘的不会有问题吧!

    2胖吃不胖2015-09-18 12:27:55 
      QQ音乐,嘀嘀打车,==,很多app都有这个问题,搞得好像就这一个有问题一样。你也是真蛋疼!

    机智橙_珠理珠理奈savosavooooki2015-09-18 11:50:25 
      想知道,网易云音乐的木马,会导致什么情况??

    简悦云风2015-09-18 11:43:59 
      那些用过不明渠道的 putty, SecureCRT 的网易同学都毕业了吗?

    Ivan2015-09-18 11:41:40 
      这他妈的…… 时间,bundle id(包名),应用名称,系统版本,语言,国家

    TiiDa張2015-09-18 11:33:59 
      还好没用过网易云音乐。。。

    wangeek2015-09-18 11:17:16 
      擦,好多人中招了要

    抽烟的贼2015-09-18 11:08:12 
      估计国内80%的IDE都是第三方下载的

    飞刀宽2015-09-18 11:04:12 
      传说中的ios牛逼哄哄的App审核呢?

    乌云-漏洞报告平台2015-09-18 11:02:28 
      警惕!网易云音乐APP已被证实受到此次Xcode恶意打包IDE事件影响,目前该感染版本依然在App Store线上,国内开发者们真的需要重视并且立刻自查,立刻!

    zjumelody2015-09-18 10:12:37 
      把病毒framework删掉后就不能真机调试了,提示找不到文件,Build Settings里面也已经把相关信息也删除了还是提示找不到文件,clean和删除app都没用,模拟器倒是没问题,求解

    你好feng72015-09-18 08:46:55 
      唉╯▂╰,感觉什么都不安全了

    sclcoder2015-09-18 08:05:52 
      干得好

    DorisDev2015-09-17 23:45:28 
      棒棒哒→_→

    -澪-2015-09-17 22:14:42 
      还能不能好好地玩耍

    唐巧_boy2015-09-17 22:01:16 
      动作好快,这么快就有分析报告了

    石-墨-烯2015-09-17 20:21:08 
      大鱼吃小鱼,小鱼吃虾米

    Ton7BrEak2015-09-17 19:27:27 
      细思极恐啊

    ppt2015-09-17 19:03:09 
      nsa?

    KellyKentKim2015-09-17 18:05:30 
      那个把官网URL复制到迅雷里下载还出问题的是怎么做到的?迅雷难道不比较哈希值吗

    疯狗2015-09-17 17:55:58 
      谜解开了,但是感觉这就是个开始。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    分享到:
    回复

    使用道具 举报

    0

    主题

    568

    帖子

    1258

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1258
    发表于 2019-4-6 11:59:50 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    586

    帖子

    1292

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1292
    发表于 2019-4-14 06:25:31 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    568

    帖子

    1258

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1258
    发表于 2019-4-14 16:17:39 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    460

    帖子

    1147

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1147
    发表于 2019-4-14 16:55:54 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    586

    帖子

    1292

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1292
    发表于 2019-4-15 04:09:08 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    568

    帖子

    1258

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1258
    发表于 2019-4-16 09:51:20 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    271

    帖子

    640

    积分

    高级会员

    Rank: 4

    积分
    640
    发表于 2019-4-16 21:43:03 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    586

    帖子

    1292

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1292
    发表于 2019-4-17 02:20:13 | 显示全部楼层
    回复

    使用道具 举报

    0

    主题

    593

    帖子

    1308

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1308
    发表于 2019-4-17 04:57:29 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    官方微博:

    官方头条号:

    官方微信

    手机访问:

    官方微信

    QQArchiver 手机版 小黑屋 一起学LINUX - GOGOLINUX 闽ICP备18025837号-1 Discuz! X3.4 Powered by © 2001-2013 Comsenz Inc. 

    本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

    快速回复 快速发帖 返回顶部 返回列表