HACK80 首页  立即注册  登录
现在注册
已注册用户请  登录
HACK80    技术文档

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

  •   djg222000 ·2018-1-9 21:45:58·1055 次点击 ·阅读模式     

    马上注册,加入HACK80!与我们一起交流。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    前言
    首先安装好docker。
    环境地址
    环境搭建获取镜像$ 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文件的内容
    这个/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。
    漏洞利用
    后门——poc.php
    进入容器的交互式shell
    $ docker run -t -i medicean/vulapps:i_imagemagick_1 "/bin/bash"
    之后,查看poc.php
    位于/var/www/html/poc.php
    利用——poc.py
    https://github.com/Medicean/VulApps/blob/master/i/imagemagick/1/poc.py
    附录

    1055 次点击  
    收藏  转播  分享
    添加一条新回复
    您需要登录后才可以回帖 登录 | 立即注册

    本节点积分规则
    QQ
    小黑屋   ·   手机版   ·   215 人在线 最高记录 5500   ·   TOP
    我们很年轻,但我们有信念、有梦想!

      我们坚信只有今天付出了,才有机会看到明天的太阳!现在!加入我们,给你一个气氛优秀的技术圈子。  
    GMT+8, 2018-7-22 12:57, Processed in 0.044930 second(s), 18 queries .