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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
WLT3Serial — WebLogic T3(およびT3S)リスナー向けのネイティブJavaベースのデシリアライゼーションエクスプロイト。 | Kitploit
ツール/GitHubGitHub/bort-millipede/wlt3serial
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストArchived
GitHubbort-millipede/wlt3serial

WLT3Serial

WebLogic T3(およびT3S)リスナー向けのネイティブJavaベースのデシリアライゼーションエクスプロイト。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

WLT3Serial

WebLogic T3 (および T3S) リスナー向けのネイティブ Java ベースのデシリアライゼーションエクスプロイト([こちら](https://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/#weblogic "What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability.")で概要を説明)。サードパーティ依存関係として ysoserial と wlthint3client が必要です。

JavaUnserializeExploits weblogic.py および loubia との比較における利点/欠点

利点:

  • T3/T3S 通信を(ほとんどのエクスプロイト手法において) Java でネイティブに処理し、Python スクリプトを使用した一度限りのパケットキャプチャを使用しない。そのため、すべての WebLogic サーバーバージョンに対して動作するはずです。
  • 毎回の実行時に ysoserial を通じて直接オブジェクトペイロードを生成し、一度限り生成されたオブジェクトペイロードは使用しない。そのため、最新の ysoserial バージョンのすべてのオブジェクトペイロードタイプをサポートします。
  • 実行中にスローされたすべての Exception を解析し(要求された場合は表示)、これらの Exception に基づいて実行の推定全体的結果を明確に示します。これには、エクスプロイトが成功したと思われる場合、SSL/TLS 対応通信が失敗した場合、またはターゲット WebLogic サーバーがエクスプロイトに対してパッチ適用済みと思われる場合のユーザーへの通知が含まれます。
  • ペイロード配信のためのいくつかの異なる方法を提供します(JavaUnserialize weblogic.py/loubia および ysoserial.exploit.RMIRegistryExploit の両方と同様)。

欠点:

  • .jar ファイル (wlthint3client.jar) に依存しており、これは (Oracle のライセンス条件により) 私が配布できず、Oracle のユーザー名/パスワードでのみダウンロードできます。そのため、私は「シン」リリース jar のみを配布でき、ユーザーは引き続き Oracle から必要な wlthint3client.jar ファイルを入手する必要があります。
  • JVM が初期化中にクラスをロードする方法に関する問題のため、フルオールインワン実行可能 WLT3Serial jar ファイル (WLT3Serial-full-[VERSION].jar) の使用はサポートされなくなりました。したがって、WLT3Serial は完全な機能を適切に動作させるために複数のファイル(以下に概要を示します)を必要とします。

ビルド

Oracle Java 7 または 8 が必要です。他の Java ベンダー(OpenJDK や IBM JRE など)ではテストされていないため、これらに対するサポートは保証しません。Java 9 または 10 でもビルドできる可能性がありますが、これらに対するサポートは保証しません。

WLT3Serial は Gradle ビルド自動化システムを使用して構築されます。ビルドには Gradle 4 を使用する必要がありますが、他のバージョンも部分的にテストされています(開発セクションを参照)。

サードパーティ依存関係:

  • ysoserial - オブジェクトデシリアライゼーションペイロードを生成するため。v0.0.5 以上が必要(ユーザーが事前に提供しない場合、Gradle によって自動的にダウンロードされます)。
  • wlthint3client - T3/T3S 接続をネイティブに処理するため。ユーザーが提供する必要があります(Oracle のライセンス条件による)。ダウンロード可能(Oracle のユーザー名/パスワードが必要)で、このページ(「Oracle WebLogic Server 10.3.6」セクションの「Zip distribution for Mac OSX, Windows, and Linux」)でホストされている wls1036_dev.zip ファイル内(wlserver/server/lib/wlthint3client.jar にあります)の一部です。

手順:

  1. WLT3Serial リポジトリをクローンします。 git clone https://github.com/Bort-Millipede/WLT3Serial.git
  2. ターミナルを開き、クローンしたリポジトリに移動します。
  3. 以下のコマンドを実行して、予備ビルドディレクトリを作成します: gradle clean prepare
  4. ダウンロードした wlthint3client.jar ファイルを build/libs/ ディレクトリに配置します。
  5. (オプション) 好みの ysoserial バージョン (v0.0.5 以上) を使用する場合は、ysoserial.jar ファイルを build/libs/ ディレクトリに配置します。
  6. WLT3Serial jar ファイル (build/libs/WLT3Serial-[VERSION].jar に配置) をビルドするには、以下のコマンドを実行します: gradle build -x test

使用法

Oracle Java 7 または 8 が必要です。他の Java ベンダー(OpenJDK や IBM JRE など)ではテストされていないため、これらに対するサポートは保証しません。Java 9 または 10 でも使用できる可能性がありますが、これらに対するサポートは保証しません。

Property(デフォルト)、Bind、または WLBind エクスプロイト手法を使用する場合、WLT3Serial は以下のように実行する必要があります(java の '-cp' パラメータの値に注意してください):

  • on *nix: java -cp /path/to/ysoserial.jar:/path/to/wlthint3client.jar:/path/to/WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • on Windows: java -cp \path\to\ysoserial.jar;\path\to\wlthint3client.jar;\path\to\WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

CustomClass エクスプロイト手法を使用する場合、WLT3Serial は以下のように実行する必要があります(java の '-cp' パラメータの値に注意してください):

  • on *nix: java -cp /path/to/ysoserial.jar:/path/to/WLT3Serial-[VERSION].jar:/path/to/wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • on Windows: java -cp \path\to\ysoserial.jar;\path\to\WLT3Serial-[VERSION].jar;\path\to\wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

以下は組み込みヘルプメニューの出力です:

root@kitploit:~
Usage: WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Options:
	--help				print usage (you're lookin at it)

	--verbose			Verbose output (full thrown exception output; Disabled by default)

	--method=EXPLOIT_METHOD		Exploit Method for delivering generated ysoserial payload
		Exploit Methods:
			Property	Send ysoserial payload as connection environment property value (Default; via javax.naming.Context.lookup(), variation of ysoserial.exploit.RMIRegistryExploit)
			Bind		Send ysoserial payload as object to bind to name (via javax.naming.Context.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			WLBind		Send ysoserial payload as WebLogic RMI object to bind to name (via weblogic.rmi.Naming.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			CustomClass	Send ysoserial payload during T3/T3S connection initialization (via custom weblogic.rjvm.ClassTableEntry class, similar to JavaUnserializeExploits weblogic.py)

	--t3s[=PROTOCOL]		Use T3S (transport-encrypted) connection (Disabled by default)
		Protocols:
			TLSv1.2
			TLSv1.1
			TLSv1 (Default)
			SSLv3
			SSLv2 (SSLv2Hello handshake only, then fallback to SSLv3 for communication: this is an Oracle Java limitation, not a WLT3Serial limitation)


Available Payload Types (WebLogic is usually vulnerable to "CommonsCollectionsX" and "JRMPClientX" types):
	(available payloads listed here)

エクスプロイト手法に関する注意

Property、Bind、WLBind の各手法はすべて非常に似ています。そのため、ターゲットシステムがこれらの手法のいずれかを使用してエクスプロイトできない場合、他の手法を使用してもおそらくエクスプロイトできません。CustomClass 手法は他の手法とは完全に異なります。

Property/Bind/WLBind 各手法の利点/欠点:

  • 利点: これらの手法は wlthint3client.jar ファイルから利用可能な WebLogic クラス/メソッドを介してエクスプロイトを試行するため、T3/T3S 通信がネイティブに処理され、ユーザーがエクスプロイトの可能性と成功を判断するのに役立つ意味のある出力(例外、スタックトレースなど)が生成されます。
  • 欠点: 執筆時点では、Oracle はこれらの手法を使用したエクスプロイトのほとんどの(おそらくすべての)モードにパッチを適用しています。

CustomClass 手法の利点/欠点:

  • 利点: この手法は上記の手法とは異なる WebLogic クラスローダー(追加の脆弱なライブラリを含む)を攻撃するため、より新しい成功するエクスプロイトモードが利用可能です。
  • 欠点: この手法がペイロードをターゲットサーバーに配信する方法の性質上(本質的にネイティブの T3/T3S 通信を無効化するため)、ユーザーがエクスプロイトの可能性と成功を判断するのに役立つ意味のある出力(例外、スタックトレースなど)を生成できません。

T3S 接続に関する注意

ユーザーは sslscan または nmap ssl-enum-ciphers スクリプト を使用してターゲットサービスをスキャンし、サポートされているプロトコルを確認することをお勧めします。これにより、ユーザーは WLT3Serial を実行する際に --t3s オプションを微調整できます。

開発

JavaUnserializeExploits weblogic.py および loubia エクスプロイトを改善する試みとして、WLT3Serial は WebLogic T3/T3S サービスに接続するための以下のリソースを使用して Java で開発されました:

  • https://docs.oracle.com/cd/E21764_01/web.1111/e13717/wlthint3client.htm
  • https://docs.oracle.com/cd/E13222_01/wls/docs92/jndi/jndi.html
  • https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/rmi/Naming.html
  • https://gist.github.com/fkrauthan/ac8624466a4dee4fd02f

T3 接続を Java でネイティブに処理すること、およびユーザーに役立つコマンド出力を提供するための適切なエラー処理に重点が置かれました。

WLT3Serial は以下のソフトウェアバージョンを使用して開発されました:

  • Oracle Java 8 Update 191
  • Oracle Java 7 Update 80 and Oracle Java 7 Update 17
  • Gradle 4.10.2, 3.2 (partially tested), 2.10 (partially tested), 1.4 (partially tested)

開発中のライブテストは、以下のバージョンの WebLogic Server に対して実施されました:

  • 10.3.6
  • 12.1.3
  • 12.2.1.1 (only vulnerable to certain payload types and exploitation methods)
  • 12.2.1.2 (only vulnerable to certain payload types and exploitation methods)
  • 12.2.1.3 (partially vulnerable)

免責事項

開発者はソフトウェアを無保証で無料で提供し、ソフトウェアの使用によってシステムに生じた損害について一切の責任を負いません。ソフトウェアの使用中にすべての地域、州、連邦の法律を遵守するのはユーザーの責任です。

著作権

(C) 2017, 2018 Jeffrey Cap (Bort_Millipede)

ツールをダウンロード