Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >关于Adobe PDF 0day的故事

关于Adobe PDF 0day的故事

作者头像
泉哥
发布于 2020-04-23 04:08:34
发布于 2020-04-23 04:08:34
8900
举报
文章被收录于专栏:漏洞战争漏洞战争

今天StarLabs 发布了他们之前在天府杯上用的adobe pdf 完整exploit,该漏洞是一个 JS API UAF漏洞,利用代码公布在github上,以及利用思路分析文章:https://starlabs.sg/blog/2020/04/tianfu-cup-2019-adobe-reader-exploitation/

去年天府杯上,Adobe Reader应该是最大的目标了,很多人打,但临赛前,很多人却退赛了。因为当时的比赛规则是奖金池固定,所有攻破团队来平分那笔钱,所以越多人参赛就越吃亏。但即便退赛了,一些攻破团队拿到钱再平分下也没多少了,最后还不如直接报ZDI,甚至可能还不如上HackerOne报个xss。挖个xss多久?可能几天,利用都不用写。但挖个pdf漏洞多久,可能挖洞一周,写利用一个月,这性价比自不必多言,因此这届比赛,奖金规则一直被圈内人吐槽。

当时在现场了解到,可能不少人的pdf 0day都是js api,这种通过js完成利用比较方便通用,当然其它非js模块的漏洞也同样可借助js堆喷利用。这些用js api漏洞的人最应该担心撞洞了,现场也有人用其它模块的pdf 0day,反正最后手上有个洞被撞没了。一个只在当最新版出现的漏洞,当时Project Zero报了一堆那个模块的漏洞,结果坑爹的Adobe修了漏洞1,却造就了漏洞2出来。在Adobe安全公告上,看到那个被撞的漏洞致谢上仍然写的是Project Zero的人(没错,未出现传说中的TFB)……

至少通过这件事情告诉我们,跟着PZ有肉吃!!!

Adobe的JS引擎用的是2013年左右的SpiderMonkey修改的,所以当初像domato这种js fuzzer神器出来之后,直接拿来fuzz,你都可以搞出一堆Adobe Reader的0day出来,也确实被刷了一波,看公告致谢时间,好像是我带的坏头?…

前两年,pdf中的图片解析漏洞盛行,被玄武的刘姓小哥刷爆了。当时如果我报10个此类漏洞,那么可能就会有3个撞洞,就是这么惨烈,连windows上xps这种偏门格式,都被撞,也跟360的撞过。

在此之后,被刷最多的pdf 漏洞,除了常规的js api外,postscript被国外安全研究员mr_me刷了不少,他写了个ps语法模板生成器去fuzz,产量颇丰。如果没记错的话,据他自己在Twitter上公布的,其2018全年在ZDI的收益是近20万刀,相当于140万元。之前他创办了一个公司,但公司员工就一人。没错,就是他自己,基本就是专职挖洞和培训。今年他入职360 vulcan了,远程办公。

最后聊点pdf的通用利用技术,毕竟本公众号是技术导向的,但请原谅我的排版和无图内容,因为本文是在手机上写的,且全程在车上完成。

上文提到的文章已经给出了完整的利用思路,整体而言:

1. 无论何种内存破坏漏洞,一些逻辑漏洞除外,首先都设法转换成任意读写。利用js array堆喷去内存布局,实现uaf的占坑,或其它越界写的后堆块填充,以实现写内容和位置的控制,而js array本身可读,进而实现信息泄露。

2. 覆盖虚表指针去控制eip。寻找上下文可用的虚表指针去实现劫持,像starlabs用CTextField去创建一批对象,目的就是用来覆盖它的虚表指针

3.绕过DEP和CFI。2019年3月左右,Adobe终于加入了CFI,导致常规的ROP失效。每次这种新安全机制出来的时候,最佳的绕过方式一定是先寻找未受保护的模块或代码块。回望过往的DEP、ASLR、CFI和PAC,无不如此。这次starlab亦然,他们直接搜索Adobe安装目录下的pe文件,若OPTIONAL_HEADER.DllCharacteristics & 0x4000 = 0,即代表无CFI保护,最后他们找到icucnv58.dll用来构造ROP,分配可执行的shellcode来达到任意代码执行。

除了第一步需要依赖漏洞上下文场景来转换任意读写外,利用的难点也是在此,而后续工作都是可以套路化。

可以看到,直至2020年了,Adobe的整体漏洞利用思路依然变化不大,仍是《漏洞战争》中各案例所分享过的方法,只是需要根据漏洞场景作些适配,比如寻找UAF对象同大小的对象,像starlab就用currentValueIndices方法来占坑。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漏洞战争 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
安全研究者的自我修养
在上篇文章《推荐今年C3黑客大会上的几个议题》中提到”Attacking Chrome IPC“这个议题,我觉得该议题最大的亮点是在前半场,作者nedwill是之前在hack2win大赛上因攻破Chrome浏览器而一战成名,他讲了如何训练漏洞研究能力的过程,讲述自己这几年在漏洞研究上的历程和心得,很励志,其建议也非常具有可操作性,值得效仿学习。我反复看了多遍,对其作了一些总结和补充。
泉哥
2019/07/17
6840
【漏洞预警】Chrome PDF文件解析 0day漏洞预警
2019年2月28日,国外安全公司发现谷歌Chrome浏览器存在0day漏洞,可导致用户使用Chrome打开恶意PDF文件时发生信息泄露。根据监测,已在野外发现多个利用该漏洞的样本。
绿盟科技安全情报
2019/10/24
1.1K0
【漏洞预警】Chrome PDF文件解析 0day漏洞预警
安全研究的价值思考
最近的Black Hat大会议题ppt已提供下载,里面有两个非技术议题,其视角比较有趣,一些问题值得思考,因此才有本文。
泉哥
2019/08/20
4260
安全研究的价值思考
从研究者的视角看Fuzzing技术发展30年
1988年,在威斯康星大学Barton Miller教授的计算机实验课上(http://pages.cs.wisc.edu/~bart/fuzz/CS736-Projects-f1988.pdf),首次提出Fuzz生成器(Fuzz Generator)的概念,用于测试Unix程序的健壮性,即用随机数据来测试程序直至崩溃。因此,Barton Miller教授也被多数人尊称为"模糊测试之父"。但是,当时更多是为了验证代码质量和程序的稳定性,而非专门用于挖掘安全漏洞,真正用于软件安全漏洞挖掘的开端要从下面两件事说起。
泉哥
2020/02/14
2.5K0
针对小白到“大白”的黑盒CNVD挖掘经验
曾经作为一名想黑盒出CNVD的小白,我几乎看遍了所有公开的关于挖CNVD的文章与视频,什么CNVD收录条件啊,利用搜索引擎啊,刷弱口令啊,复现三例凑足十个案例啊......
红队蓝军
2024/05/01
1.2K1
针对小白到“大白”的黑盒CNVD挖掘经验
雪人行动:利用IE10 0day漏洞的APT攻击剑指美国军方情报
二月十一日,FireEye捕获了一次基于0day漏洞的攻击,这次攻击针对美国的一个退伍兵网站(bfw.org)。 我们确信这次攻击是针对美国高层军方人员的一次预谋已久的APT攻击,因为在这一天美国国会正巧因为暴风雪放假一天。因为攻击手法的相似性,我们认为它与不久之前的两次APT攻击有着一定的联系,这两次攻击是Operation DeputyDog 和 Operation Ephemeral Hydra. 这篇文章介绍了这次攻击所利用的漏洞和相关的攻击手法,并赋予了这次攻击一个代号“雪人行动”(Operat
FB客服
2018/02/02
7170
雪人行动:利用IE10 0day漏洞的APT攻击剑指美国军方情报
BlackHat USA 2021 洞察(三):议题技术解读
CHERI(Capability Hardware Enhanced RISC Instructions,功能硬件增强的RISC指令)利用新的体系结构功能扩展了常规的硬件指令集体系结构(ISA),从而实现了细粒度的内存保护和高度可扩展的软件分区。CHERI内存保护功能允许将历史上内存不安全的编程语言(例如C和C ++)进行修改,以针对许多当前被广泛利用的漏洞提供强大,兼容和有效的保护。它是在2020年11月由剑桥大学联合ARM公司发布的,基于Morello开源硬件平台设计的。
泉哥
2021/09/15
1.3K0
微软对外披露两个0day漏洞详情
微软近日对外披露了两个0day漏洞详情,其中一个漏洞存在Adobe阅读器中,可被利用导致任意代码执行;另一个漏洞则允许任意代码在Windows kernel内存中提权执行。
FB客服
2018/07/31
6420
微软对外披露两个0day漏洞详情
一步一步拿到学校图书馆, 资产管理,教务系统,学工系统权限的过程
(还有一些没有拿到管理员权限的系统这里就不写了),还有就是这些漏洞现在均以上交给学校。
黑战士
2021/04/05
2.3K0
一步一步拿到学校图书馆, 资产管理,教务系统,学工系统权限的过程
漏洞丨CVE20102883
此漏洞编号CVE-2010-2883,看着是一个很简单的栈溢出漏洞,但是也要看怎么玩了。这个漏洞是Adobe Acrobat Reader软件中CoolType.dll在解析字体文件SING表中的uniqueName字段的调用了strcat函数,但是对参数没有做出判断,没有检查uniqueName字段长度,导致了栈溢出漏洞。此漏洞影响版本如下: Adobe Acrobat 8.0 Adobe Acrobat 8.1 Adobe Acrobat 8.1.1 Adobe Acrobat 8.1.2 Adobe Acrobat 8.1.3 Adobe Acrobat 8.1.4 Adobe Acrobat 8.1.5 Adobe Acrobat 8.1.6 Adobe Acrobat 8.1.7 Adobe Acrobat 8.2 Adobe Acrobat 8.2.1 Adobe Acrobat 8.2.2 Adobe Acrobat 8.2.4 Adobe Acrobat 9.0 Adobe Acrobat 9.1 Adobe Acrobat 9.1.1 Adobe Acrobat 9.1.2 Adobe Acrobat 9.1.3 Adobe Acrobat 9.2 Adobe Acrobat 9.3 Adobe Acrobat 9.3.1 Adobe Acrobat 9.3.2 Adobe Acrobat 9.3.3 Adobe Acrobat Apple Mac_Os_X Microsoft Windows Adobe Acrobat_Reader 8.0 Adobe Acrobat_Reader 8.1 Adobe Acrobat_Reader 8.1.1 Adobe Acrobat_Reader 8.1.2 Adobe Acrobat_Reader 8.1.4 Adobe Acrobat_Reader 8.1.5 Adobe Acrobat_Reader 8.1.6 Adobe Acrobat_Reader 8.1.7 Adobe Acrobat_Reader 8.2.1 Adobe Acrobat_Reader 8.2.2 Adobe Acrobat_Reader 8.2.3 Adobe Acrobat_Reader 8.2.4 Adobe Acrobat_Reader 9.0 Adobe Acrobat_Reader 9.1 Adobe Acrobat_Reader 9.1.1 Adobe Acrobat_Reader 9.1.2 Adobe Acrobat_Reader 9.1.3 Adobe Acrobat_Reader 9.2 Adobe Acrobat_Reader 9.3 Adobe Acrobat_Reader 9.3.1 Adobe Acrobat_Reader 9.3.2 Adobe Acrobat_Reader 9.3.3 这次我用的是9.0版本。
极安御信安全研究院
2023/03/31
3840
漏洞丨CVE20102883
Adobe Reader 缓冲区溢出漏洞 (CVE-2010-2883)漏洞分析报告
Adobe Reader(也被称为Acrobat Reader)是美国Adobe公司开发的一款优秀的PDF文件阅读软件。文档的撰写者可以向任何人分发自己制作(通过Adobe Acrobat制作)的PDF文档而不用担心被恶意篡改。
极安御信安全研究院
2022/01/20
5750
Adobe Reader 缓冲区溢出漏洞 (CVE-2010-2883)漏洞分析报告
腾讯御见捕获Flash 0day漏洞(CVE-2018-5002)野外攻击
腾讯御见威胁情报中心近日监控到一例使用Adobe Flash 0day漏洞(CVE-2018-5002)的APT攻击,攻击者疑通过即时聊天工具和邮箱等把恶意Excel文档发送给目标人员,诱骗目标人员打开文档。实际上,该恶意Excel文档经过特别构造,被嵌入了flash对象,用户一旦打开文档电脑就会中毒。
FB客服
2018/07/30
9500
腾讯御见捕获Flash 0day漏洞(CVE-2018-5002)野外攻击
CVE-2013-3346-Adobe Reader ToolButton 释放重引用漏洞
ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.00/zh_CN/AdbeRdr11000_zh_CN.exe
用户1423082
2024/12/31
1290
CVE-2013-3346-Adobe Reader ToolButton 释放重引用漏洞
SRC漏洞挖掘经验+技巧篇
很多人挖洞的时候说不知道如何入手,其实挖洞就是信息收集+常规owasp top 10+逻辑漏洞(重要的可能就是思路猥琐一点),这些漏洞的测试方法本身不是特别复杂,一般混迹在安全圈子的人都能复现漏洞。接下来我就着重说一下我在信息收集方面的心得。
HACK学习
2019/08/06
10K0
SRC漏洞挖掘经验+技巧篇
实战|我的SRC挖掘-如何一个洞拿下百分QAQ
在goby乱扫的开始,我也是菜弟弟一样,看到什么都没感觉,直到有个师傅提醒了我:这不是Sprint boot框架么,洞这么多还拿不下?
F12sec
2022/09/29
9340
实战|我的SRC挖掘-如何一个洞拿下百分QAQ
SRC混子的漏洞挖掘之道
还是那句老话,渗透测试的本质是信息收集,对于没有0day的弱鸡选手来说,挖SRC感觉更像是对企业的资产梳理,我们往往需要花很长的时间去做信息收集,收集与此公司相关的信息,包括企业的分公司,全资子公司,网站域名、手机app,微信小程序,企业专利品牌信息,企业邮箱,电话等等,对于很多万人挖的src来说,你收集到了别人没有收集过的资产,往往离挖到漏洞就不远了。
Power7089
2021/01/11
3.3K0
学习下 BlackHat Asia 2021 大会议题
BlackHat Asia 2021会议已经结束,相关议题资料也放出,刚好这两天周末抽空学习下,共39个议题,覆盖范围还是比较广的,虽然议题质量不如USA主会场,但多少还是有一些值得学习的内容,我只挑了一些感兴趣的议题做些介绍,更多内容可以上官方下载(https://www.blackhat.com/asia-21/briefings/schedule/index.html)。
泉哥
2021/05/20
1.6K0
BlackHat USA 2021 洞察(二):议题技术解读
发现看议题材料也不容易啊,有些议题挺有技术深度的,而且内容还特长,长就算了,有些ppt其实只讲了不到一半的内容,另一半都得靠作者演讲才能知道,剩下的只能靠自己脑补或搜索资料了,我只能说真的费脑费时间。
泉哥
2021/08/20
9380
回顾 2021 年在野利用的 0day 漏洞
作者:Maddie Stone@Google Project Zero 译者:知道创宇404实验室翻译组 原文链接:https://googleprojectzero.blogspot.com/2022/04/the-more-you-know-more-you-know-you.html 这是我们回顾在野利用 0day 漏洞的第三个年度。 2019年: https://googleprojectzero.blogspot.com/2020/07/detection-deficit-year-in-revi
Seebug漏洞平台
2022/04/25
2.6K0
回顾 2021 年在野利用的 0day 漏洞
异常中的异常:借助系统异常处理特例实现匪夷所思的漏洞利用
本文介绍了在Windows系统漏洞挖掘过程中,利用系统异常处理流程中的ATL thunk emulation,绕过DEP保护,达到控制内存、执行任意代码的目的。通过漏洞利用技术,可以绕过一些安全措施,使得攻击者可以执行恶意代码。
腾讯玄武实验室
2017/08/08
1.1K0
异常中的异常:借助系统异常处理特例实现匪夷所思的漏洞利用
推荐阅读
相关推荐
安全研究者的自我修养
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档