走进Evasi0n,越狱黑客如何拿到iOS权限

发表于2013-02-07 16:44| 8469次阅读| 来源CSDN| 145 条评论| 作者张宁

iOSEvasi0nevad3rsplanetbeingpod2gMuscleNerd越狱
摘要:Evad3rs团队成员David Wang接受了福布斯的采访,为我们讲述了整个iOS6的破解历程。他指出这次破解iOS6至少了利用了5个不同的漏洞。国外许多媒体都用了这样一句话来形容他们的工作:incredible work(难以置信的工作)下面就给大家详细的分析Evad3rs如何一步步夺取iOS内核权限的。

苹果一直在控制着用户手中的iOS设备,你将一部iPhone购买回家,但是却发现很多事情你不能做主。你不能随便安装第三方应用,不能随意修改桌面设置。让人感觉,更像是从苹果租用硬件。

2013年2月4日,一个自称是evad3rs的黑客团队,在其网站evasi0n上,第一次提供了iOS6的完美越狱,它为iPhone5、iPad3、iPad mini和其他iOS设备提供了目前最先进的iOS6.1完美越狱程序,允许用户从他们的手机、平板电脑中解除掉苹果加持的各种限制机制。截止目前evasi0n完美越狱工具已有200万iOS用户下载,这足以看出全球用户对于越狱的热情。用户可以安装自定义主题,安装第三方输入法,安装Cydia商店中的MyWi热点工具。可以说,这次的完美越狱工具的开发几乎是个奇迹,因为这次的iOS系统破解远比以往任何时候都要困难。

难以置信的工作

在iOS6 GM发布之后,就有不少越狱团队第一时间尝试进行越狱。此后iOS6正式版放出,绿毒团队的领头人p0sixninja标示,iOS6的防护级别高的令人不可思议,其操作系统的严密性超过了以往任何一款OS。因此越狱的难度是前所未有的。但最后他还是放口:黑客不会被任何框架所束缚。

小插曲:去年12月,随着全球都在“欢度”世界末日的到来。越狱黑客Dream JB表示他会在12月22日放出iOS 6的完美越狱工具。但是到了22日那天,大家才发现他只是和我们开了一个末日玩笑。

越狱梦之队:evad3rs

为了达成iOS6完美越狱这个任务,1月25日(大洪水退去人们下船的日子),原Dev Team成员、越狱黑客pod2g在Twitter上宣布:与红雪团队的MuscleNerd(肌肉男)、Chronic-Dev(绿毒)团队的pimskeks、planetbeing组成了一个新团队——evad3rs。(@pimskeks @planetbeing @pod2g @MuscleNerd)

随即evasi0n.com官网上线。每一天,整个团队都会向外界公布越狱的最新进度:68%、85%、91%……整个iOS6完美越狱工具的开发过程仅用了10天时间。国外许多媒体都用了这样一句话来形容他们的工作:incredible work(难以置信的工作)

@planetbeing真名是Yiduo David Wang,来自俄勒冈的波特兰,是Evad3rs四人团队的一员。他近日接受了福布斯的采访,为我们讲述了整个iOS6的破解历程。他指出这次破解iOS6至少了利用了5个不同的漏洞。据悉,这次他们使用的手法,比Stuxnet更黑!(Stuxnet蠕虫是摧毁伊朗和浓缩离心机设施的那个著名病毒)下面宁哥就给大家详细的分析Evad3rs如何一步步夺取内核权限。

如何破解iOS 6

最初,Evad3rs使用libimobiledevice来代替iTunes,连接到电脑上。它与iTunes一样使用了相同的设备连接协议。libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。由于苹果官方并不支持Linux系统,但是Linux上的高手绝对不能忍受因为要连接iOS设备就换用操作系统这个事儿。因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本USB接口library。经常用Linux系统的人一定对libimobiledevice不陌生,但是许多Windows和Mac用户也许就不知道了。事实上,它同iTools一样,都是可以替代iTunes,进行iOS设备管理的工具。因为源码是开放的,可以自行编译,所以对很多开发者而言可以说更为实用。

话说回来Evasi0n利用了iOS系统的一个备份bug获得了几项原来无权访问的设置。如,设置设备时区的权限。正是拿到了这个时区设置文件的权限,Evasi0n在该文件中可以插入一条,Symbolic Link符号连接(又称软连接)。这样就将操作系统中的访问求情转移到了其他指定的位置,由此也就能将越狱程序通过Symbolic Link连接到时区设置文件上。

感谢Symbolic Link这个好东西

Symbolic Link相当于Win下的"快捷方式"。Unix文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系统只存在一个文件的副本,系统简单地通过在目录中建立一个新的登记项来实现这种连接。软连接有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接。另外,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。

David Wang 把它比喻成“莫斯科红色专线”。通过Symbolic Link,可以将连接转到某个特定的socket中,让不同程序之间可以互通信息。整个iOS系统中的Launch Daemon后台进程的启动程序都存放在"/System/Library/LaunchDaemon"目录下, 就是那些".plist"文件。这些程序会在设备启动时率先启动,所以他们具备root权限,可以启动其他应用。Evasi0n修改了Launch Daemon的socket,这就意味着,当iOS设备进行备份时,就会自动的让所有程序和文件都能访问时区设置文件,感谢Symbolic Link这个好东西,让所有程序可以连接Launch Daemon。

这里需要提一句为什么苹果的启动服务叫做“Launch Daemon”?从Mac OS 10.4开始,苹果就采用Launch来管理整个操作系统的services和processes了。传统的Unix会使用“/etc/rc.*”或者其他机制来管理要启动的startup services,而此后在Mac OS X则使用Launch来管理,其startup services被叫做Launch Daemon和Launch Agents。前者是开机时载入,而后者是用户登录时载入的。

如何绕过Code-signing

在iOS中,还有另一个安全保障——Code-signing。它能够阻止流氓应用访问Launch。在iOS设备上运行的代码都需要通过苹果的审核,并附带上有效的签名。一般开发者开发的程序,在正式发布到App Store之前是需要使用苹果颁发的证书进行签名的之后,再由苹果进行审核。审核成功之后,苹果也会对程序进行一次签名。当iPhone或者iPod Touch从AppStore下载安装程序的时候会调用系统进程INSTALLD(mobileinstalltion)对应用程序进行证书校验。所以一般需要安装破解软件时,都需要把此文件替换成破解版本。

如果你的MobileInstalltion没有破解的话,那么在安装或者运行程序的时候需要对你的数字证书进行检测,如果发现没有签名或者签名不对,就会自动kill掉程序。那么在这种情形下,我们可以伪造签名(当然无法通过AppStore的审核), 骗过MobileInstalltion ,使得可以正常使用。

Evasi0n构建了一枚没有代码的应用,当用户点击这个应用的时候,它就会利用Unix的“Shebang”命令,调用一个已经签名的应用代码,通过Code-signing的审查。此后,它就可以再调用上文提到的Launch执行root级的命令了。Evad3rs要通过这种方式,来对RFS(root文件系统)的只读权限使用“remount”命令变为可写。这就是为什么,我们在越狱时,要运行一次下面这个LOGO的应用。

图:在越狱时要点一下这个应用

什么是Shebang

在计算机科学中,Shebang(也称为Hashbang)是一个由井号和叹号构成的字符串行(#!),其出现在文本文件的第一行的前两个字符。 在文件中存在Shebang的情况下,类Unix操作系统的程序载入器会分析Shebang后的内容,将这些内容作为解释器指令,并调用该指令,并将载有Shebang的文件路径作为该解释器的参数。Shebang这一语法特性由#!开头,即井号和叹号。 在开头字符之后,可以有一个或数个空白字符,后接解释器的绝对路径,用于调用解释器。 在直接调用脚本时,调用者会利用Shebang提供的信息调用相应的解释器,从而使得脚本文件的调用方式与普通的可执行文件类似。

修改launchd.conf文件

现在RFS已经可写了,Evasi0n接下来就是先修改launchd.conf文件,当修改了launch配置文件之后,前面的工作就可以保存下来了。这样每次iOS设备重启的时候,就不必再连上USB进行越狱操作了。之前,很多iOS系统不完美越狱就是因为没有拿到修改launchd.conf的权限。造成每次重新开机都要再越狱一次,很麻烦。

破解AMFID防护机制

对于黑客来说,没有夺取到kernel(内核)权限,都不算作真正把系统征服。在iOS的系统内核中,还有一层叫做AMFID(Apple Mobile File Integrity Daemon)的防护机制,它是用来监测移动文件完整性的守护进程。AMFID会校验代码签名,防止流氓程序运行。Evasi0n利用launchd.conf文件,为AMFID加载一个library,让每次AMFID在做校验的时候,都会返回一个“approved”的肯定回答。David Wang在福布斯记者的采访中,并没有给出具体的破解方法,只是留下一句话:苹果自己应该明白这一点。

异常向量,萃取内核地址

除了内核级的应用签名之外,苹果为了防止黑客在内核级的内存中随意修改,iOS还有最后一道那就是ASLR(Address Space Layout Randomization)随机地址空间布局。当系统加载时,ASLR都会将他们随机分配到内存的不同位置,防止某些内容总是存储在内存的特定部分,让黑客有规律可寻。

聪明的Evad3rs团队,使用了ARM exception vector(异常处理向量)。exception vector其实经常会用到,处理器异常、出错时(其实不完全是出错),它就会抓来这个vector找相应的处理函数。例如,遇到看不懂的指令,它就会抓0x4地址指令。也就是“ldr pc, _undefined_instruction”,接着就会跳到undefined instruction的函数去处理。当程序出现异常时,ARM异常向量就会给出崩溃的内存地址,黑客拿到足够多的信息,就可以找到内核在内存的分布范围,这样整个内核的内容也就被抓到了。

夺取内核控制权

搞定ASLR之后,Evad3rs利用iOS连接USB的一个漏洞,把内核内存的某个地址传给一个应用,而应用返回来的内容就可以用来改写这部分内存地址。由此Evad3rs就可以修改内核任何部分的内容了。据Wang所说,当你拿到了内核的权限时,整个系统就没有任何“安全机制”能阻止我们了,我们赢了!


2013-2-7 最新更新:

Pod2g在Twitter上称,evasi0n网站目前独立IP访问量超过500万,PV突破了4000万,而在整个用户群中,中国用户的数量最大。有近300万的中国用户访问了evasi0n网站,占总访问量的20.12%。美国用户比例为16.88%,将近250万用户。其次是法国、德国、意大利、英国、俄罗斯等地区的用户。

文章来源:forbes、mcuapps、pcbeta、idigitaltimes、gogojesseco、theiphonewiki

(责任编辑:张宁)

走进Evasi0n,越狱黑客如何拿到iOS权限相关推荐

  1. 黑客发布兼容苹果 iOS 15 和 iOS 16 的越狱工具

    12 月 15 日消息,苹果公司一直在努力提高其操作系统和设备的安全性,黑客已经越来越难为 iOS 创建越狱工具.不过 palera1n 团队通过不懈努力,近日发布了一个越狱工具,不仅兼容 iOS 1 ...

  2. 苹果七绕过基带激活2020_【快讯:苹果135亿的基带订单,高通疑有诈直接拒绝了;网传索尼移动考虑退出东南亚手机市场;黑客成功获取iPhone XS 权限】...

    资讯一 [接到苹果135亿的基带订单,高通疑有诈直接拒绝了] 苹果和高通的神仙打架还在继续.本周,苹果指责,由于高通不供应基带芯片,他们被迫改用Intel的产品. 而顺应苹果的说法,外媒曝光出来一封邮 ...

  3. iOS黑客Luca Todesco演示iOS 10 beta 8越狱

    知名 iOS 黑客 Luca Todesco 今天发布了一段视频,演示了 iOS 10 beta 8 系统的越狱.当然,Todesco 的越狱软件并不会发布,但成功演示了 iOS 10 可以进行越狱. ...

  4. iOS 7.X完美越狱工具放出 支持所有iOS设备

    今晚,evad3rs越狱团队放出了最新的全系列iOS设备 完美越狱工具evasi0n.支持所有的iPhone.iPod touch.iPad.和iPad mini,可实现 ios7越狱. 越狱前注意事 ...

  5. EntboostChat 0.9(越狱版)公布,iOS免费企业IM

    恩布互联公布IOS免费企业IM 0.9越狱预览版本号,支持全部iPhone4/5手机(6未上真机測试),iPad平板,主要功能包含单聊.群聊,企业组织结构,文本.表情.图片.文件.截图.离线消息等: ...

  6. 苹果5越狱教程_苹果新越狱工具发布,支持iOS 13最新版,详细安装教程看这里...

    11月8日,苹果发布iOS 13.2.2更新,旨在解决后台频繁关闭问题,同时iPad OS也同步推出13.2.2版本.11月11日,漫长的等待终于结束,作为使用checkm8漏洞的首个版本,万众期待的 ...

  7. ios 权限提示语_iOS工作室都在用按键v1.6.1(体验版)

    按键精灵iOS v1.6.1(体验版)已发布到cydia 新增工作室专场 还支持VIP自助换绑 欢迎下载使用~ 源地址:http://apt.mobileanjian.com VIP换绑方法如下: 1 ...

  8. ios 权限提示语_撩妹神技?iOS 微信偷偷上线“拍一拍”

    微信 概要 / 最近微信新功能不断,安卓和 iOS 前后上线了「修改微信号」功能,给了网友们"重新做人"的机会,这不,又来了一个新功能,iOS 的微信可以"拍一拍&quo ...

  9. Windows、Linux 纷纷被爆漏洞,黑客可直取 root 权限!

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 无论是开源还是闭源,没有绝对安全的操作系统. 一夕间,多款操作系统被爆存在安全漏洞,其中包括开发者最为常用的 Windows 和 Linu ...

最新文章

  1. C++递归与非递归实现链表的反转
  2. 英特尔分拆McAfee:31亿美元将多数股权卖给投资公司TPG
  3. BZOJ.4888.[TJOI2017]异或和(树状数组)
  4. iphone打字怎么换行_库克扎心!12年iPhone老用户换机小米10 Pro,每天玩机七八小时...
  5. Linux 检查域名服务,linux上的域名服务
  6. 如何利用计算机解决问题,《用计算机解决问题的一般步骤》讲课教案
  7. 微信小程序 对request方法二次封装
  8. mysql rpm包安装指定路径_安装rpm包时指定路径
  9. [转]JDK动态代理
  10. 使用RMAN备份数据库和归档日志合二为一
  11. 分享整理的 Python 学习路线图,(附工具+视频+书籍+面试)
  12. 【转】解决IE8无法加载webplayer流媒体播放器的方法
  13. clion opencv安装_Mac 下搭建 Clion + OpenCV4.x 的开发环境
  14. ssm连接mysql引入外部配置文件username无法被正确解析
  15. 斗地主服务器维护中,天天斗地主游戏问题解决方法
  16. JAVA JSP学生助学金管理系统 jsp学生资助管理系统jsp学生管理系统jsp贷款管理系统jsp大学生贷款管理系统
  17. python代码美化工具
  18. 用于目标检测的细粒度动态头
  19. 最近k8s遇到的一些问题
  20. Python练习 02

热门文章

  1. Since your iTunes Connect status is Metadata Rejected, we do NOT require a new binar被拒原因总结
  2. 微信公众号自定义菜单栏添加历史消息方法(亲测有效)
  3. excel打开很慢_Excel打开很慢,告诉你妙招搞定
  4. MultipartFile.transferTo(dest) 报 FileNotFoundException
  5. transferto遇到的问题
  6. 微信小程序:文件操作
  7. 个人简历英语词汇大全
  8. winForm中RichTextBox富文本框的使用
  9. android 序列化 xml serializable,关于Android中的序列化Serializable和Parcelable的学习
  10. 51单片机DS18B20温度传感器原理及实验