提到埃兹基埃尔•佩雷拉(Ezequiel Pereira)的家乡,Starry与萝卜兔想到的是遥远美洲的发展中国家,应该并不富裕。Magiccc想到的是足球,齐达内的偶像恩佐,奇拉维特,雷科巴和苏亚雷斯这些足坛巨星的故乡。
与佩雷拉一样,我们对彼此的了解都很浅。但也正是出于好奇,Starry隔着11个小时的时差,艰难地完成了对这个乌拉圭天才少年的采访……
1
筑梦的国度—“Uruguay”
如果大家对乌拉圭的认知,仅停留在足球和牛肉上,那么我们可能和国内大多数媒体一样,只能惊叹少年天才黑客的英雄出少年和那3.6万美元的“漏洞赏金”……
乌拉圭的名字“Uruguay”在当地土著语言里的意思是“飞翔着五颜六色小鸟的河流”,面积只有18万平方公里,人口更是仅有320万人。这么一个面积只有湖北省大小的南美小国,却是南半球最富庶的国度之一。
乌拉圭东岸共和国
因为政府比较廉洁,社会安定,乌拉圭成为整个美洲人均教育水平,医疗覆盖率最高以及犯罪率最低的国家,也因此从1930年起,乌拉圭被称为” 南美瑞士“。
“最穷总统”何塞•穆希卡和他的“甲壳虫”
Starry这里引用联合国开发计划署最新的教育指数进行对比,榜单中,乌拉圭以0.955力压德国、瑞士等欧洲发达国家,位列前30(中国排名91)
联合国开发计划署最新教育指数排行
佩雷拉就来自乌拉圭首都蒙得维的亚,在这样一个逐梦的国度,遇到了改变他一生的贵人……
2
梦的起点—“One Laptop Per Child”
佩雷拉告诉Starry,他第一次接触到电脑那会儿还在读小学。他清晰的记得,那是2009年6月,学校给每一位小朋友发放了一台笔记本电脑。对于10岁的小佩雷拉而言,这个绿颜色的大玩具简直太酷了。
直到后来他才知道,自己正是乌拉圭OLPC计划的第一批受益者。2006年12月,时任总统塔瓦雷·拉蒙·巴斯克斯·罗萨斯提出推行“一人一本”(One Laptop Per Child,简称OLPC)计划。
OLPC计划专题报道
没错,佩雷拉的贵人就是乌拉圭总统塔瓦雷·拉蒙·巴斯克斯·罗萨斯。这位乌拉圭历史上第一位中左翼总统,还是一名肿瘤学教授。在他第一个5年任期中,做了3件大事:推行OLPC计划、推进奇瑞乌拉圭工厂发展以及全国控烟,率先成为南美100%无烟国家。
乌拉圭总统塔瓦雷·拉蒙·巴斯克斯·罗萨斯
如果说罗萨斯为佩雷拉插上逐梦的翅膀,那么OLPC XO 就是天使之翼。乌拉圭是当时第一批得到“百元电脑”的国家,每部“百元电脑”的实际成本为175美元。这种电脑除了可使用开放源代码的软件外,还可运行微软的Windows系统。当时XO提供的是x3105服务器,使用双核1.8GHz Opteron 1210处理器,2GB内存,双160GB硬盘,运行Debian 4.0系统。
OLPC计划,拿到OX儿童电脑的孩子们
第二年,佩雷拉就已经开始参加初始编程班,并利用国内免费wifi的覆盖,在他11岁时,通过互联网结识了他的第一位Python老师,在线学习编程。新世界大门已被打开,天才少年从此走向自学之路……
3
梦的成长—“1/4 of her monthly salary after taxes”
其实,佩雷拉的童年并不完美。在他2岁的时候,父亲离他而去。幸运的是,他有一位强大的母亲。作为单亲妈妈,佩雷拉母亲这么多年来独自将他抚养长大。虽然辛苦,但是母亲从不强迫佩雷拉学习,也不干涉他的兴趣爱好,只是从小就引导佩雷拉,养成主动学习的好习惯。
在2012年,为庆祝儿子升入初中,佩雷拉母亲用她1/4的工资给孩子购买了人生中第一台笔记本电脑。也许佩雷拉母亲并不知道,这台电脑对于儿子的意义有多大,可能在她看来,只是单纯的礼物而已。但是,对于佩雷拉而言,这台笔记本简直就是他梦想的加速器。
有了个人电脑后,佩雷拉如同快挂一般,开始疯狂自学不同的编程语言和技术,并通过互联网的老师,以及自己摸索。除了在YouTube上看些视频以及与朋友一块打游戏外,佩雷拉更多的时间都是宅在房间学习。
梦想越来越近,天才少年即将迎来人生转折......
佩雷拉难得的街拍照
4
梦想绽放—“Bughunter Hall of Fame”
2015年,佩雷拉参加了谷歌的编码比赛,并一举拿下第一名。谷歌公司更是邀请他前往公司位于加州的总部,佩雷拉从此与谷歌结缘。
佩雷拉来到梦想的殿堂
美国之行让佩雷拉找到了人生的方向,并在一次不经意间,佩雷拉发现,梦,并不遥远:
2016年8月,从美国归来后,佩雷拉更加频繁的关注谷歌公司。并完成了他的第一次漏洞提报,使用Java枚举访问Google Apps脚本中的getClass方法,泄露内部信息。而谷歌也很快给出回应——$500赏金。
佩雷拉表示,他就随手这么一提报,很快就产生了500美元的价值,这种感觉简直太棒!所以,就是从那一刻开始,他便对此更加感兴趣,并决定继续尝试。
随后的两年,佩雷拉先后完成五次漏洞上报,并于2017年7月成功上报重大漏洞,直接进入谷歌漏洞名人堂!
Google Bughunter Hall of Fame
2018年2月,再次上报重大漏洞,晋升名人堂TOP12!并累计获得$49,337赏金!
Accessing internal Google App Engine APIs in a non-production environment, leading to Remote Code Execution ($36,337 bounty) - February 2018
Google Service Management API bug leads to authentication bypass for some specific actions ($7.5k bounty) - January 2018
Authentication bypass into Google's internal applications by changing the host header ($10k bounty) - July 2017
Google Service Management API hidden feature allows to bypass permissions check when enabling a service ($5k bounty) - December 2016
Using Java enumerations for accessing the getClass method in Google Apps Scripts, leaking internal information ($500 bounty) - August 2016
其中,在去年7月发现谷歌内部主机信息泄露漏洞,Freebuf有过一次详细的描述:
漏洞发现过程
7月11那天,我闲来无聊,所以就打算找找谷歌的漏洞。经过对谷歌不同应用服务接口的大量测试后,我发现,在向Google App Engine(GAE)服务*.appspot.com发起请求的过程中,可以在其request中改变主机头信息,间接指向访问谷歌内部服务系统*.googleplex.com的。为此,用Burp来进行一些直观地操作和观察:
Google AppEngine:GAE,是一个开发托管网络应用程序的平台,可让你在 Google 基础架构上运行自己的网络应用程序。其应用程序易于构建和维护,并可根据你的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:只需上传你自己的应用程序,便可立即生成和提供服务。
谷歌内部服务系统:https://googleplex.com或https://login.corp.google.com/,为谷歌内部员工作业服务系统。
在不断变换的主机头请求信息中,大部份都为无效,要么返回404响应,要么设置了谷歌内部人员账户认证。但只有一个内部系统网站yaqs.googleplex.com,不需任何安全验证。
在对该内网请求的过程中,访问其主页会被重定向到/eng页面下,该页面非常有意思,包含了很多谷歌应用服务和网络架构的链接节点,但当我进一步访问时,却在页脚处显示了:”Google Confidential”(谷歌内部机密信息)字样。
漏洞上报
到此,我停止了继续浏览,立即向谷歌安全团队上报了该问题。所以,也没来得及对该问题进行一个直观的验证说明,按理来说,可以以下方式的PoC来作出描述:
curl -k “https://yaqs.googleplex.com”
–resolve“yaqs.googleplex.com:443:172.217.28.180″
在给谷歌的漏洞问题上报中,我简单的说明了问题,以下为上报漏洞邮件大概: 漏洞概要:
从Google App Engine请求中获得对谷歌机密网站的访问权
重现步骤
使用BurpSuite
1、在Repeater模块下
2、将目标主机设置为 “www.appspot.com“, 目标端口设置为”443″ ,勾选”Use HTTPS” 选项
3、写入以下HTTP请求(结尾包括两个空行) GET /engHTTP/1.1 Host:yaqs.googleplex.com
4、点击发送”Go”
攻击场景
任何人可以访问到谷歌内部名为YAQS,并标有“谷歌机密”的应用系统;
我不清楚网站的具体内容和用途,我仅只对其主机进行了访问浏览,你们可以从服务访问日志进行核实(我的IP是x.x.x.x,来自乌拉圭)
漏洞证明
Burp的请求信息截图
几个小时之后,谷歌安全团队就进行了有效验证,并给我回应:
中大奖
我暗自心想,这就是一件不值一提的小事而已,其网站中包含的东西可能也就是一些技术文档资料的东西。但几个星期后,也就在我学校放假期间,我收到了谷歌的邮件回复。邮件中说,经过谷歌漏洞赏金项目组评审,我上报的那个漏洞问题可以得到10000美金的赏金,还能进入漏洞名人堂!哇…..,此刻的心情就像中奖一样!
该漏洞在于可以更改请求包中的主机头请求信息,对谷歌内部网站发起请求,攻击者可以藉此获取谷歌的一些敏感数据,目前已被谷歌修复。
5
关于未来—“I don't know what should I do”
2017年佩雷拉顺利进入乌拉圭共和国大学,作为百年高校,乌拉圭共和国大学始建于1849年,是乌拉圭最大的公立大学。
乌拉圭共和国大学
年少成名,即便是天才如他,也遇到了困惑。佩雷拉坦言“自学和主动寻找漏洞的过程中,很多时候最大的问题是不知道该怎么做,下一步该学什么,或者下一步应该尝试什么”
但当Starry试探性的询问如何定义“黑客”的时候,年仅18岁的佩雷拉毫不犹豫的给了大难。他选择永远成为一个好人——“白帽黑客”,他说“我将永远是一个好黑客,我喜欢学习和挑战自己,在Google上寻找安全问题,这笔钱(寻找安全漏洞获得的奖金)是我获得的一个好成绩,但这不是我的目标。”
Starry还留意到,佩雷拉在他的Facebook和gmail等社交平台,都给自己加上了 “Computer security enthusiast”的标签。
三观超正的乌拉圭天才少年
当问到奖金的使用上,佩雷拉显示出少有的羞涩,这个大男孩表示,他的钱都给他妈管着,自己从不乱花。
即使对未来彷徨,但是仍然拥有一颗坚定的心。
作为结束,Starry象征性的问了下佩雷拉对于初学者的学习建议。佩雷拉表示:
1. 首先寻找资源学习一下基础的编程知识。比如对计算机编程感兴趣的孩子可以尝试麻省理工学院特别为儿童制作的名为“Scratch”的程序。
2. 有了基础知识之后,可以尝试学习真正的编程语言(例如Python)。
3. 充分运用网络资源,寻找在线课程进行学习。
4. 多尝试实践自己感兴趣的方向。比如佩雷拉很鼓励身边朋友寻找各平台的安全漏洞,他认为大家都应该尝试实践。
对于网络安全感兴趣的小伙伴,佩雷拉也提供了一些白帽黑客学习的平台,例如:HackerOne, BugCrowd 、HackThisSite等等。他表示,这些平台上有非常多资源供大家讨论学习,自己也会经常出没(求偶遇求勾搭)
佩雷拉告诉Starry,当前他拒绝了很多优秀的工作机会,因为他觉得还不是时候,他选择沉下心来继续学习和钻研技术,完成自己的学业计划。
对于未来,他想先获得计算机工程学士学位,然后做一些计算机安全专业或硕士学习。而在这之后,他希望能在像Google或Facebook这样的大型科技公司找到工作。
佩雷拉表示非常欢迎与来自中国的朋友进行交流,你可以通过这些找到他:
Ezequiel Pereira(Montevideo)
Gmail:eze2307@gmail.com
Facebook:Ezequiel Pereira
另外,Starry还找到佩雷拉2015年从美国回来后接受采访的节目,有兴趣的朋友可以了解一下:
https://www.canal10.com.uy/reporto-un-error-google-y-fue-recompensado-n253095
文章参考:Freebuf《挖洞经验 | 价值1万美金的谷歌内部主机信息泄露漏洞》
网友评论