JBoss5.x6.x 反序列化漏洞

Mamba start發表於2020-11-05
JBOSS 下載地址:http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

EXP 下載地址:https://github.com/yunxu1/jboss-_CVE-2017-12149

2). 環境搭建
wget http://download.jboss.org/jbossas/6.1/jboss-as-distribution-6.1.0.Final.zip

在這裡插入圖片描述
第二步:修改配置檔案,使網路中的主機都能訪問 JBOSS

vim ~/jboss-6.1.0.Final/server/default/deploy/jbossweb.sar/server.xml

在這裡插入圖片描述
第三步:啟動JBOSS

./jboss-6.1.0.Final/bin/run.sh

在這裡插入圖片描述
第四步:下載EXP

git clone https://github.com/yunxu1/jboss-_CVE-2017-12149

在這裡插入圖片描述

有指令碼EXP利用方式,同時也有圖形化利用方式

在這裡插入圖片描述

3). 資訊收集

第一步:利用nmap對目標主機進行常用埠掃描

nmap -p 1-65535 -A 192.168.1.107

在這裡插入圖片描述
第二步:訪問目標主機的8080埠,看看能否正常訪問

在這裡插入圖片描述
4). 漏洞利用

利用剛才下載好的 EXP 進行漏洞利用,開啟圖形化工具 jboss 反序列化_CVE-2017-12149.jar

在這裡插入圖片描述

github出了一個檢測jboss的專案:https://github.com/joaomatosf/jexboss

這裡搭建環境驗證:

漏洞ip:192.168.127.128

把專案直接clone到本地利用即可

在這裡插入圖片描述
上圖示紅就說明有問題
在這裡插入圖片描述

可以看到shell已經反彈成功。

這個專案還能實現批量掃描,總體很不錯!

理解Java 反序列化漏洞

推薦學習Paper:Java反序列化漏洞從入門到深入:https://xz.aliyun.com/t/2041。內容較多,先了解簡單Java語法結構和麵向物件程式設計基礎,再學習序列化、反序列化的基本概念和漏洞成因。

(1)序列化:把 Java 物件轉換為位元組序列的過程便於儲存在記憶體、檔案、資料庫中。ObjectOutputStream類的writeObject()方法可以實現序列化。

(2)反序列化:把位元組序列恢復為Java物件的過程。ObjectInputStream類的readObject()方法用於反序列化。

(3)漏洞成因:暴露反序列化API或傳入點 ,使用者可以操作傳入資料,並且反序列化的readObject()方法未對使用者傳入資料進行有效的安全檢測,攻擊者可以精心構造反序列化物件並執行惡意程式碼。

相關文章