VulApps应用实例:体验ImageMagick 命令执行漏洞(CVE-2016–3714)

前言

之前Mottoin发布过《VulApps: 快速搭建各种漏洞环境》

首先安装好docker。

环境地址

GitHub地址:https://github.com/Medicean/VulApps

镜像地址:https://hub.docker.com/r/medicean/vulapps/

镜像的各种Tag:https://hub.docker.com/r/medicean/vulapps/tags/

1

环境搭建

获取镜像

$ docker pull medicean/vulapps:i_imagemagick_1

其中,medicean/vulapps是镜像名,后面冒号接具体的Tag。

运行镜像

$ docker run -d -p 8000:80 --name=i_imagemagick_1 medicean/vulapps:i_imagemagick_1
  • run命令是create命令和start命令的结合。类似git的pull命令是fetch和merge命令的结合。
  • -d 表示daemon,作为后台守护进程运行。
  • -p 表示port,8000:80前者为默认的本地(127.0.0.1)端口,后者为镜像的端口。
  • –name=i_imagemagick_1 ,显式指定容器(Container)的名字,虽然不显式指定,docker也会帮你指定一个名字(细心的可以发现docker指定的名字还蛮有意思的:) )。

然后

$ docker ps -a

显示所有的docker容器,以及它们的状态。

容器运行起来之后,使用

$ docker exec i_imagemagick_1 cat /poc.png

命令让指定的容器执行指定的命令。

这里是指定了i_imagemagick_1这个容器(也可以用它的完整Id或者前4位数字代替),打印出根目录的poc.png文件的内容

2

这个/poc.png就是PoC!

当在容器shell里执行时

$ convert /poc.png 1.png

或通过物理机执行

$ docker exec i_imagemagick_1 convert /poc.png 1.png

漏洞触发。

搭建好环境之后访问127.0.0.1:8000。这里8000映射了镜像里的80端口,用于HTTP访问具体的说明信息,文件位于/var/www/html/index.php。

3

漏洞利用

4

后门——poc.php

进入容器的交互式shell

$ docker run -t -i medicean/vulapps:i_imagemagick_1 "/bin/bash"

之后,查看poc.php

位于/var/www/html/poc.php

5

利用——poc.py

https://github.com/Medicean/VulApps/blob/master/i/imagemagick/1/poc.py

附录

Docker环境搭建:
https://docs.docker.com/engine/installation

Docker中文指南:
http://www.heblug.org/chinese_docker/userguide/dockerizing.html

 

*来源:蔡奇奇的博客  Mottoin整理发布

原创文章,作者:Z3r0yu,如若转载,请注明出处:http://www.mottoin.com/89312.html

发表评论

登录后才能评论

联系我们

021-62666911

在线咨询:点击这里给我发消息

邮件:root@mottoin.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code