手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中

利用Foxit Reader的PDF Printer实现提权

来源本站整理 作者佚名 时间2019-04-25 TAG 我要投稿

去年年中我在一篇文章中讲述了在Foxit Reader中挖掘UAF漏洞的过程以及如何利用该漏洞发送远程代码执行攻击之后我又在一篇文章中介绍了Foxit Reader SDK ActiveX中的一个命令注入漏洞本着不放弃不抛弃的精神在同年晚些时候我又对Foxit Reader的一个新组件进行了深入的研究令我惊讶的是在这个组件中又发现了几个允许有限提升权限的漏洞其中一个漏洞尤其?#29616;أ?#25152;以本文就诞生了
摘要
我们将通过发送一个精心构造的proxyDoAction请求来详细考察CVE-2018-20310它是位于PDF Printer中的一个基于堆栈的缓冲区溢出漏洞的攻击向量漏洞分析和利用方法
软件版本
文中描述的方法已经在9.3.0.912版本的Foxit Reader软件进行了测试其中FoxitProxyServer_Socket_RD.exe二进制文件的SHA1值为0e1554311ba8dc04c18e19ec144b02a22b118eb7该版本是撰写本文时的最新版本
攻击向量
PDF Printer是Foxit Reader中的一个功能主要用于处理来自应用程序的PDF文件打印请求安装Foxit Reader后Foxit PDF Printer就会成为处理打印作业的默认打印机

从Chrome打印文档
这实际上意味着FoxitProxyServer_Socket_RD.exe二进制文件启动后会在中等完整性级别运行片刻

从应用程序打印文档时FoxitProxyServer_Socket_RD.exe将在中等完整性级别运行
只在这个级别运行片刻的原因是服务器默认监听localhost端口50000并且只接受一个请求一旦发出请求它就会关闭端口并终止执行当用户尝?#20801;?#29992;Foxit PDF Printer打印到PDF时攻击者就能够在渲染选项卡中执行代码
在对该问题进行深入考察之后发现可以从沙盒进程发出未公开的ALPC请求以使用默认打印机启动打印作业这意味着攻击者根本不需要向FoxitProxyServer_Socket_RD.exe二进制文件发送竞争请求
漏洞分析
在从浏览器打印页面时我们截获了许多发送到端口50000的请求样本此后我们又发现了一个重要的函数即sub_41DBA0

sub_41DBA0的代码流程
这个函数用于处理多种不同类型的请求其中相应的处理程序在上图中用蓝色突出加以?#20801;G?#20854;中包括
· proxyDoAction
· proxyPreviewAction
· proxyPopupsAction
· proxyCPDFAction
· proxyUpdatePreview
· proxyFinishPreview
· proxyCollectSysFont
· proxyGetImageSize
· proxyCheckLicence
· proxyGetAppEdition
· proxyInitLocalization
· proxyCreateDirectoryCascade
· proxyIEMoveFileEx
· proxySendFileAsEmailAttachment
虽然其中一些处理程序确实是高度可利用的但并不总是能够到达?#36164;?#25915;击的API这里我们将以proxyIEMoveFileEx为例进行介绍该函数接受三个?#38382;?#23427;实际上就是一个MoveFileExW调用并且没有对?#38382;?#36827;行任何检查不过由于它无法正确解析提供的数据包结构因此该函数实际上是无法利用的通常情况下软件开发人员在发布软件之前会进行相应的测试以确保它们能正常工作以下是这个底层API所在的位置
.text:00420C85 loc_420C85:                             ; CODE XREF: sub_420930+331
.text:00420C85                 push    ebx             ; dwFlags
.text:00420C86                 push    edi             ; lpNewFileName
.text:00420C87                 push    eax             ; lpExistingFileName
.text:00420C88                 call    ds:MoveFileExW
在进行了更加深入的逆向分析之后我们发现proxyDoAction也是一个非常让人?#34892;?#36259;的函数因为攻击者可以利用它的操作码?#25191;?条不同的代码路径以下是检查请求数据包中的proxyDoAction字符串的相关代码

 sub_41DBA0函数会检查proxyDoAction请求
也就是说只要能够提供正确格式的请求我们最终可以到达该处理程序

用于到达处理程序的proxyDoAction请求
在处理程序内部我们可以看到它具有3个?#38382;?br/>

[1] [2] [3] [4] [5] [6] [7]  下一页

声明:黑吧安全网(http://www.rliwo.live)登载此文出于传递更多信息之目的并不代表本站赞同其观点?#25237;?#20854;真实性负责仅适于网络安全技术爱好者学习研究使用学习中请遵循国家相关法律法规如有问题请联系我们联系邮箱[email protected]我们会在最短的时间内进行处理
  • 最新更新
    • 相关阅读
      • 本类?#35753;?/li>
        • 最近下载
        ƱȨַ
        手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中