加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

发布时间:2016-12-26 10:12:04 所属栏目:建站 来源:雷锋网
导读:副标题#e# 浏览器就像一扇窗,通过这扇窗,黑客可以攻入电脑的心脏。 就像情场高手,通过眼睛,融化一个人的心灵。 黄正,百度安全实验室 X-Team 掌门人。2016年,这个信仰“技术可以改变世界”的低调黑客大牛以一己之力挖掘无数浏览器漏洞,创下了排名微软

应用到fuzz这块,有两个策略,去做相反的事情,去改变初始的状态。比如:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

我们应用这种想法也找到了一些漏洞:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

其中在document.execCommand("undo");这块我们至少收获了5枚漏洞。但是也有不少撞洞的情况。

所以我们需要样本生成策略,去发现别人发现不了的漏洞。

我们首先想的是把调用关系做得非常深,制造非常复杂的回调场景。比如以下这个POC,我们多次在事件响应函数中去触发另一个事件响应函数,最终导致解析出错:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

看下这个崩溃的调用栈:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

我们还可以去fuzz别人搞得少的方向。

Fuzz 别人搞得少的方向,第一个是OBJECT。

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 应该是一个浏览器控件,浏览器控件是有自己独立的前进、后退功能的,如果与父页面的前进后退功能混用,会导致问题。

我们整理了系统中所有clsid:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

在OBJECT这块我们至少也收获了5个漏洞。

Fuzz 别人搞得少的方向,第二个是unicode。

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

很少看见有人做fuzz的时候会随机的用一些unicode字符串来测试,我们在这块收获了EDGE一个越界读漏洞。

Fuzz 别人搞得少的方向,第三种是正则表达式。

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

fuzz别人搞得少的方向,第四种是JS解析引擎。

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

现在JS引擎的内存破坏漏洞越来越多了。我们在这块也挖到不少漏洞,由于目前还都是 0day 的状态,所以不拿我们自己发现的 POC 举例,拿一个 Google Project Zero 分开的 POC 给大家看看长什么样:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

Fuzz 别人搞得少的方向,第五种是混合生成。

现在很多人生成的fuzz样本都是用JS生成的,但是对HTML的初始状态关注并不多,比如我们在初始状态时加了N个复杂的表格嵌套,也发现了不少的问题。

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

去fuzz非常复杂的元素,比如表格、表单、Frame。

表格相关的各种元素都有特有方法,比如insertRow、moveRow、deleteRow,还有表单的特有的属性和方法,如果跟CSS结合,那么渲染起来就更加复杂了,比如下面这个POC:

纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

通过fuzz非常复杂的元素,我们至少收获了10个漏洞。

去fuzz非常复杂的元素,还有CSS。CSS也有很多种操作方法,比如:

style,

obj.style.backgroundColor= "black";

.style1:hover{ background-color:#66B3FF; cursor:pointer;}

obj.style.cssText = "background-color:black; display:block;color:White;

obj.setAttribute("class", "style2");

  • obj.setAttribute("href","css2.css");document.styleSheetsCSS混合生成的方法,我们收获了几枚很好利用的类型混淆漏洞。

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课还有,可以去fuzz新的特性,Html5,SVG,WebGL,Chrome 原生支持的 PDF。怎样提交漏洞好了,POC分享完了,下面讲一下怎么给产商报告漏洞。怎么给微软提交漏洞

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课注意的是,如果空指针的问题导致系统蓝屏的,微软也会收的。怎么给Google提交漏洞

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课注意Chrome有很多个版本,只有stable版本的才会有CVE。(Canary、Dev、Stable)注意Chrome自己也有fuzz集群,如果你跟他撞洞,Sorry。。。怎么给苹果提交漏洞

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课好了,我的分享就到这里了。以下是引用的一些参考资料,大家也可以学习一下。

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课Q&A小编()宅客频道读者:在浏览器的漏洞挖掘里老师用的最多的工具是神马。黄正:大部分都是自己写代码写出来的,没有特别的工具,比如为了方便我们调试,我会写一个工具来自动配置启动浏览器:

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课不知道是否回答了这位朋友的问题,其它的工具用的是 windbg,VS,python,php 等。都是用这些造出来的,没有用现成的像 sqlmap, burpsuite 那样的工具。小编宅客频道读者:如何评价Pwn2Own2016中360安全卫士11秒攻破chrome?黄正:其实11秒这个数字不重要,关键是攻破了,360牛人多、积累多,从上次他们的博客可以看出,手里有大把的0day,攻破chrome需要很多个漏洞组合,不止是浏览器漏洞,确实是能力超强啊。小编宅客频道读者:深度学习与网络安全(比如反APT,漏洞挖掘等)有没有很好的结合点?黄正:这个百度已经有了一些尝试了,百度手机卫士移动端病毒检测使用百度开源的机器学习平台paddle对病毒样本的特征进行深度学习,检出率在国际权威排名中已经多次世界排名第一,感兴趣的可以看一下blackhat Europe 2016王磊的议题。另外,百度安全实验室也在应用机器学习算法来做撞库检测、支付欺诈检测,效果都很不错,欢迎来交流。小编宅客频道读者:八卦一下,黄正老师挖的第一个漏洞是什么?黄正:发现的第一个是释放后重用漏洞,我可以详细说一下我从安全工程怎样革自己的命要搞漏洞的,并最终搞出来的。成立安全实验室后,我给自己定的KPI是半年内,要搞通浏览器漏洞分析方法,搭建浏览器 Fuzz,并且挖出一个浏览器漏洞。压力大啊,没有人带我,完全自己搞,每天都在不断地学习,不停地尝试修改生成算法,不断地去网上爬资料找POC,3个月过去了,一个漏洞都没发现,我想这下完了,年终奖要没了。后来终于在使用 setTimeout 来改变 location 发现了第一个可以稳定崩溃的 POC。并且是可利用完全没有任何保护机制防护的,下一步就是去精简样本,当时很土,手工慢慢删,最终受不了了写了自动化精简样本的脚本,然后就提交了,完成了半年发现一个漏洞 KPI。这是我的第一个漏洞:

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课小编:很多同学都想成为黄正老师一样的漏洞挖掘大牛。对于这些同学,黄老师有什么干货的建议吗?黄正:别停留于想法,赶紧去做,哈哈,网上资料多得是。看看我打印的学习资料,这还只是一部分:

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

    纯干货:微软漏洞中国第一人黄正——如何用正确姿势挖掘浏览器漏洞(附完整 PPT)|硬创公开课

  • 注:相关网站建设技巧阅读请移步到建站教程频道。

    (编辑:PHP编程网 - 湛江站长网)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!