eSafe白帽駭客資安網-網絡安全背後的巨人,提供駭客,網站入侵測試,網站被駭,網站漏洞,駭客入侵,資訊安全,入侵,ecshop,wordpress,漏洞修復,木馬清除,資安服務

Oracle Weblogic 遠程代碼執行漏洞利用與安全分析



           這幾天傳的沸沸揚揚的就是Oracle的漏洞,Oracle 在全球的影響範圍較大,但是這次漏

洞存在於Weblogic java中間件的應用主機當中,目前漏洞影響的版
本是Weblogic 10.3.6.0到

Weblogic 12.2.1.3,如果被攻擊者利用該漏洞,可以直
接遠程執行系統的命令,導致主機被

入侵。
 
Oracle Weblogic 漏洞分析
 
首先我們需要發送漏洞代碼到主機裡,漏洞代碼裡指向並連接的遠程地址就是我們要攻擊的

Oracle Weblogic的主機,比如攻擊的IP是 127.0.0.1的7001端口,
發送數據到7001端口,該

端口會接收來自於外面提交過來的數據,對數據包進行解
密,通過readobject接口,中轉到127

.0.0.1主機上的1099端口上去,並執行我
們寫好的惡意代碼,正常有漏洞的主機,會直接

彈出計算器。

 
 
然後我們再來啟用目標主機裡的JRMPListener的服務,該服務會自動將攻擊代碼發送的請求中

並執行,如下圖所示:

 
 
我們從Oracle Weblogic的日誌中看到執行的惡意代碼,導致錯誤代碼產生,並彈出我們要執行

打開計算器的應用。
構造其他惡意代碼poc,其中最核心的部分是在於JRMP(Java Remote M

ethod 
protocol),在這個漏洞代碼中會序列化一個RemoteObjectInvocationHandler的服務,

然後打開UnicastRef建立到遠端的tcp連接獲取RMI registry,再通過請求
並加載回來再利用

readObject安全解析,從而造成反序列化漏洞遠程代碼執行。




大致的調用棧如下:
 
readObject:66, InboundMsgAbbrev (weblogic.rjvm), InboundMsgAbbrev.java
 
-》readExternalData:1810, ObjectInputStream (java.io), 
 
ObjectInputStream.java
—》readExternal:1433, StreamMessageImpl (weblogic.jms.common), 
 
StreamMessageImpl.java
—–》readObject:455, RemoteObject (java.rmi.server), RemoteObject.java
 
該漏洞已通報給Oracle 數據庫公司,官方在4月17號發佈漏洞補丁,建議使用Oracle Weblogic

的用戶,盡快升級版本並打補丁。
分享: