“漏洞猎人”龚广:Root是一场精妙的密室逃脱

  黑客的快感源于什么呢?

虽掘蝼蚁之穴,却荡破千里之堤;麾下万马千军,仍如入无人之境。

大抵如此。

2015年11月,在日本举行的 Pwn2Own Mobile 黑客大会上。龚广面对一部 Nexus 6 手机。他轻轻点击了一个网址,随即一片沉静,似乎什么都没发生。然而短短片刻,桌面上突然出现了一个新的图标。原来,在电光火石间,系统已经自动从 Google Play 市场下载并且安装了一个被他指定的App。这一切都静静地发生在水面之下,手机的主人根本无从发现。

现场短暂的沉默,继以雷动的掌声,祝贺他优雅地扒掉 Android 系统的底裤。

一个漏洞,优雅地推倒 Android

观众并不知道,这一系列流畅的进攻,其实是龚广的下策。他原本的计划是通过相互配合的两个漏洞,一举拿下系统控制权,读出手机所连接的 Wi-Fi 密码。

然而,无巧不成书。就在他动身参加比赛的两周前,谷歌发布了新的升级。阅读升级日志之后,龚广内心一惊:本来准备妥当的两个漏洞,其中一个看起来已经被谷歌发现并且修复了。

他重演了一遍攻击过程,果然失效。不过,作为江湖老手,一个优雅的黑客,他也没那么容易认输。在之前的研究中,他记得 Google Play 存在一个小的系统设计缺陷,于是用剩余的十多天时间重新写攻击代码,最终在比赛开始之前一天完成了攻击程序。这才有了前面发生的一切——仅仅使用一个漏洞就击溃了 Android 系统的防线。

虽然这次攻击看起来赏心悦目。但是龚广告诉雷锋网,他的攻击并没有提取到系统的顶级权限,也就是“Root”。

密室逃脱,Root 更像一种轮回

在 Android 系统安全中,Root 就是皇冠上的明珠。如果能拿到它,就可以成为手机中的上帝,对所有的文件为所欲为,并且可以读取手机主人的所有敏感信息。

虽说在日常生活中,我们普通人似乎都可以下载一个 Root 工具把自己的手机“干翻”,但是 Root 却远比想象中艰难。龚广告诉雷锋网,Root 需要一连串漏洞(一般为3-4个)的有效配合才可以实现。

如果打一个“优雅”的比方,那大概就是:

黑客在制造一枚精确制导的导弹,穿过系统为进攻者准备的导弹防御系统——四道不同的关卡,最终准确地击中敌人的菊花。

这四道关卡,就像四个暗箱。它们层层嵌套,每一个看上去都无懈可击。而你想获得自由,就必须冲破这四层枷锁,少一个都不行。如果你愿意,就随我变成一段复仇的代码,享受一下鲜血四溅的乐趣吧。

故事马上开始。

{反绑的绳索} 网页脚本

手机的主人通过 Chrome 浏览器点击了链接,于是我们成功地闪入了手机之中。但是,我们发现:

自己不仅被困在 Chrome 这间宫殿当中,还被反绑了手脚。

因为我们既没有权限读取 Chrome 之外的信息,也没有权力对系统发号施令。

作为一个网页脚本,我们最多有权调整一下网页的布局、图片的位置。显然,作为一个刺客,这点权力是没有卵用的。这个时候,我们突然发现了房间里的一张桌子,我们用桌角可以割开捆绑自己的绳子。

当我们重新解放双手的时候,我们已经成功地利用了第一个漏洞。此时已经没有任何人可以阻挡我们从口袋里掏出“作案工具”了。

{无门的宫殿} Chrome

然而,我们的境况并没有变得太好,因为这间叫做 Chrome 的宫殿是没有门的。如果我们无法逃逸出去,将会困死在这里。

然而俗话说,上帝在关上一道门的时候,必定会打开一扇窗。天窗是宫殿里唯一和外界连通的渠道。这扇天窗显然不是为了人进出而设计的,而是为了房间内外空气流通(App内外信息交互)之用。但是在我们眼里,它成为了一个绝好的漏洞。

我们用手中的工具,把屋里的家具改装成了一把梯子,终于够到天窗。此时,我们完成了 Root 中的经典动作——沙箱逃逸。

{金色的钥匙} 系统服务进程权限

宝藏就在眼前的房间里,然而这个华丽的房间却大门紧锁。这扇大门拥有一个奇特的锁,要想打开它,必须用找到一把金色的钥匙:系统服务权限。

作为一个黑客,我当然知道这把钥匙藏在哪。只不过这把钥匙被放在一个密码箱中,一般人绝对没有可能碰到。当我成功地破解了密码箱,拿到了金色钥匙的一瞬间,我已经成功利用了第三个漏洞。

推开门,我将要面对最终的水晶球——Android 系统的内核。

{迷之水晶} Linux 内核

站在水晶球面前,我知道我们距离成功只有一步之遥。只要知道最终的咒语,我们就可以解开 Android 的秘密。水晶球向四周散射出耀眼的光芒,无数0和1交替闪烁在四周的墙壁上,这是 Android 系统 Linux 内核的底层代码。而我们要做的,就是在这数以亿记的数字中,找到那一个微小的错误。这个错误可能是驱动程序的漏洞,也可能是内核本身的漏洞。总之,它就是打开一切的咒语。

在审看了数万行代码之后,一个微小的错误终究没能逃脱我们的眼睛。

我们高声喊出了最终的咒语,一道白光闪耀苍穹。我们全速奔袭,终于冲破了 Android 构建的虚拟世界,霎那间回到了我们的天地。周遭景物依然熟悉,然而世界已经日月新天。

这恰似轮回。

以上就是一次 Root 的全过程。当我们完成了这个过程,就可以带领千军万马重新杀回手机之中。那时节,将是金鼓齐鸣,片甲不留。

走上“绞刑架”,一个漏洞的宿命

然而,这些漏洞的命运是悲惨的。因为他们本不该存在于世上。曾经让我们纵横捭阖的漏洞免不了一个个走上绞刑架。

作为硬件生产厂商的高通和联发科,还有作为软件商的谷歌,会根据龚广和诸多黑客提供的样本进行漏洞修复。如果手机厂商选择跟进,升级到最新的硬件固件和 Android 系统版本(当然很多厂商为了系统的稳定和用户体验,并不会及时对所有的软件进行升级),那么一切都会变得更加困难。

未来的某一天,当我们再次通过浏览器回到 Android 系统之中,也许会发现:

桌子被抹去了棱角,天窗增加了守卫,密码箱换了样式,而水晶球的咒语不再灵验。

这个时候,就是“龚广们”再次出发的季节了。

如今,龚广去年用于攻破 Android系统的漏洞已经被谷歌修复,他也再次受邀到Pwn2Own做演讲,分享这次攻击的技术细节和 Android 世界的惊心动魄。

谷歌不断地增加“漏洞缓解措施”,是否会让漏洞利用或者 Root 越来越难呢?龚广给出了肯定的答案。不过,沉思片刻之后,他告诉雷锋网(公众号:雷锋网):正是由于越来越难,这件事才变得越来越有意思。

背景资料:龚广,360手机卫士安全研究员。主攻浏览器和 Android 漏洞挖掘,向谷歌提供大量 Android 高危漏洞,数次获得谷歌现金激励,被称为 Android 系统的“赏金猎人”;多次参加国际黑客大会并发表主题演讲。 

   

   

 

  本文作者:史中

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-11-08 21:57:24

“漏洞猎人”龚广:Root是一场精妙的密室逃脱的相关文章

数据库出现漏洞可获取用户ROOT权限

数据库是在科技界最流行的产品了,所有大型的科技巨头都是它们的主要客户,包括,雅虎.Facebook.谷歌.Netflix.推特.eBay等. 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式.数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用.

黑客也有解不开的难题?我“鹅鹅鹅战队”不服!

 这世间所有的工作,大概都是"寻找". 雕塑家要寻找的,是那尊本来就藏在石头中的完美的维纳斯. 文学家要寻找的,是那些拥有让人热泪盈眶魔力的文字排列方式. 黑客们要寻找的,是在黑暗的逻辑空间中,那条被他们所坚信的,通向自由的道路. 据此,有人把顶级黑客比作"老司机",大概分这么两类: 1.有一类是喜欢真实路况的"城市赛车手",在川流的车海中寻找到那条转瞬即逝的缝隙.他们的战场,是如真实的城市一般复杂的 Windows.MacOS.Safari.C

一场被阻止的超级风暴背后:“手抖”笔误引发的大漏洞 BadKernel 为什么这么可怕

   如果你在付款 1000 万美元时多打了0,变成 10000 万美元,这应该算一个重大失误.而源代码中"observe_accept_invalid"异常类型被误写为"observe_invalid_accept"后,造成的后果可能比上述多加一个 0 更严重. 这个漏洞由 360 手机卫士阿尔法团队挖掘出来,在今年 8 月向国家信息安全漏洞库(CNNVD)报送了关于 Chrome V8 引擎"BadKernel"的漏洞情况.该漏洞存在于 Ch

Debian Ubuntu Root权限受到威胁 Tomcat本地提权漏洞CVE-2016-1240 请安全运维尽快升级

2016年9月30日,legalhackers.com网站发布了一个关于Tomcat漏洞的公告,所涉及漏洞的编号为CVE-2016-1240.Debian系统的Linux上管理员通常利用apt-get进行包管理,debian包的一个初始化脚本中存在漏洞,会让deb包安装程序自动执行启动脚本,脚本位置/etc/init.d/tomcatN 攻击者可以在拥有Tomcat低权限的情况下,利用该漏洞获得系统的root权限.受影响的系统包括Debian和ubuntu,其他使用debian包的系统也可能会受

从Web漏洞到Root权限全展现

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 很早就想写一篇从基本的Web漏洞到最后的Root权限的全过程展现的文章,但是一直苦于没有时间,最近比较轻松,所以抓紧时间写出了本文.废话不多说了,还是一起来看文章吧. 经常看黑防的朋友一定知道F2Blog的漏洞利用,这次我们讲解地就是利用F2Blog拿到WebShell到最后获得Root的过程,相信这里面有很多的技巧大家可以学到. 首先到mi

MySQL现高危漏洞,可致服务器root权限被窃取

上周,一位名叫Dawid Golunski的波兰黑客发现了存在于MySQL中的漏洞:一个远程root代码执行漏洞和一个权限提升漏洞.当时,Golunski只提供了第一个漏洞的poc,但是承诺之后会透露第二个漏洞(CVE-2016-6663)的更多细节. 本周二,Golunski公布了针对两个漏洞的PoC:第一个PoC针对的是之前的高危权限提升漏洞,而另一个PoC针对的则是一个新的root权限提升漏洞,利用这个漏洞,攻击者能够获取到整个数据库的权限. 漏洞编号 CVE-2016-6663 CVE-

新漏洞可获取root权限 所有安卓机躺枪

Android系统的安全问题可以用源源不断来形容,最近一个新的严重漏洞被发现,该漏洞甚至可以获取root权限. 安全专家David Manouchehri日前公布了这个名为脏牛(Dirty COW)的Linux漏洞的源代码,该漏洞允许攻击者在内核操作中不断提升自己的权限并作为合法用户来执行远程代码. 该漏洞由安全专家Phil Oester发现,之后Manouchehri在上周末通过存放在GitHub上的源代码证明同样也能够利用该漏洞入侵Android设备. 相关推特 Manouchehri表示使

发现高通驱动严重漏洞 360手机卫士团队获谷歌公开致谢

日前,谷歌发布了7月安全公告,批量修复了Android平台的多个安全漏洞.其中360手机卫士阿尔法团队的安全研究员龚广.陈豪提交的1个严重漏洞.1个高危漏洞和1个中危漏洞已被修复,并获得谷歌的公开致谢.据了解,此次是360手机卫士团队累计第10次获得谷歌的公开致谢.截至目前,360手机卫士团队共帮助谷歌发现了24个漏洞. 图1:谷歌7月安全公告批量修复漏洞 致谢360手机卫士团队 值得一提的是,在谷歌的不断鼓励以及360手机卫士安全研究员的不断努力和引领下,如今国内各安全厂商紧随360手机卫士团

安卓系统现新漏洞:点一下链接就中招

"利用安卓系统服务漏洞进行沙箱逃逸,一些有名的系统服务可以被转化为沙箱逃逸漏洞,利用这个漏洞,很快我 们就能知道刚才我所连接的手机Wi-Fi密码以及过往该手机连接过的Wi-Fi密码",在第二届MOSEC移动安全技术峰会上,360手机卫士安全研究员 龚广带来了最新的移动安全研究成果:"安卓Chrome沙箱逃逸的一种姿势". 众所周知,在安卓系统中,系统服务是安全漏洞的主要贡献者,不幸的是,由于Chrome沙箱进程运行于isolated_app域中,此域中的进程只能访问