
CVE-2026-87902 用の Tkinter GUI エクスプロイトコンソール:WordPress をフィンガープリントし、pagename トラバーサルによる未認証 LFI を確認し、PEAR ガジェットチェーンを通じて RCE にエスカレートし、ファイルマネージャーを展開します。
WordPress Core get_page_template() — 未認証LFI → PEAR Gadget → RCE
MRdark-ops/CVE-2026-87902 のロジックを基に構築されたダークネオンGUI。
CVE-2026-87902 のためのモダンな Tkinter GUI(標準ライブラリのみ、サードパーティ依存なし)です。この脆弱性は、get_page_template() の pagename パラメータを介した WordPress コアの未認証ローカルファイルインクルージョンであり、PEAR ガジェットチェーン(pearcmd.php + config-create)を通じてリモートコード実行へとエスカレートします。
4.7.0 – 7.1.16.8.10、7.0.6、7.1.27hp8-65ch-5whpcheck-only モードで何も実行せずにLFIを確認pearcmd.php(Linux + XAMPP/Windows)をブルートフォースし、config-create 経由でPHPを書き込むfm_<hex>.php を配置pip install は不要 — 純粋な標準ライブラリ
(tkinter、urllib、ssl、socket、gzip、zlib、threading、queue など)システムに Tkinter が存在しない場合(これはOSパッケージであり、pipパッケージではありません):
| プラットフォーム | コマンド |
|---|---|
| Debian / Ubuntu | sudo apt install python3-tk |
| Fedora / RHEL | sudo dnf install python3-tkinter |
| Arch Linux | sudo pacman -S tk |
| macOS (Homebrew) | brew install python-tk |
| Windows | 公式Pythonインストーラに同梱 |
git clone https://github.com/tonydelouvre/CVE-2026-87902.git
cd CVE-2026-87902
python3 xwp_gui.py
キーボードショートカット:
| キー | アクション |
|---|---|
Ctrl+Enter | スキャン開始 |
Esc | スキャン停止 |
SINGLE(単一URL)または MASS を選択し、1行に1つのURLを含む .txt ファイルを BROWSE LIST で指定します。exploit -> RCE と deploy file manager をチェックし、安全な検証パスには check-only を選択します。oracle、depths、segments、probe、threads、timeout、proxy を調整します。| フィールド | デフォルト | 説明 |
|---|---|---|
target url | – | ターゲットのベースURL(シングルモード) |
target list | – | URLのファイル(マスモード) |
command | id | RCE達成後に実行されるコマンド |
drop dir | /tmp | File Managerが書き込まれるディレクトリ |
oracle | wp-links-opml | LFIオラクルとして悪用されるコアファイル |
depths | 4,3,5,6,7 | 試行する ../ トラバーサル深度 |
segments | templates,templates/page-templates,page-templates | テーマの page-* ディレクトリ |
probe | 12 | プローブする page_id 値の数 |
threads | 10 | 並列ワーカー数(最大50) |
timeout | 12.0 | リクエストごとのタイムアウト(秒) |
max time | 60.0 | ターゲットごとの時間予算(秒) |
proxy | – | http://host:port |
build_pagename() は segment + %252f + N× %252e%252e%252f + target を生成し、二重URLエンコードを適用します:
/?page_id=<N>&pagename=templates%252f%252e%252e%252f...%252fwp-links-opml
| フェーズ | モジュール | アクション |
|---|---|---|
| 1. フィンガープリント | Fingerprinter | WordPress + バージョン(generator、?ver=、wp-links-opml.php)とテーマを検出 |
| 2. 前提条件 | PreconditionChecker | トラバーサルセグメントとして使用されるテーマの page-* ディレクトリを特定 |
| 3. 探索 | PageDiscoverer | REST API、サイトマップ、ショートリンク、page-id- クラスを介して page_id 値を収集 |
| 4. LFI | TraversalExploiter | ?page_id=N&pagename=<double-encoded path> をリクエストし、<opml version= オラクルを探す |
| 5. RCE | RCEEscalator | 深さ 1~19 で pearcmd.php ガジェットを特定し、pear +config-create+ を介して PHP を書き込み、コマンドを実行 |
| 6. ポストエクスプロイト | shell.php | ファイルマネージャー(fm_<hex>.php)をドロップディレクトリに配置 |
バージョンショートカット: フィンガープリントが patched または out_of_range を報告した場合、時間を節約するためにターゲットは即座にスキップされます。
RESULTS タブには target、verdict、version、lfi、rce、shell の列が表示されます。
VULNERABLE に分類された行はシアンでハイライトされ、RCE を達成した行はマゼンタになります。
EXPORT はすべてを CSV に書き出します:
target,verdict,version,lfi,rce,shell,detail
http://target.local,VULNERABLE,6.4,templates/../../ d=4 POST,uid=33(www-data),http://target.local/?page_id=2&pagename=...,
システム管理者向け:
7.1.2 以降に更新する(バックポート: 6.8.10、7.0.6、7.1.2)。pagename に ../ または %2e%2e を含むリクエストをブロックする WAF ルールを追加する。php.ini で register_argc_argv を無効化する — これにより PEAR ガジェットチェーンが機能しなくなる。pearcmd.php を削除する。; php.ini
register_argc_argv = Off
認可されたセキュリティテスト専用
このツールは、事前の書面による同意を得た上でのペネトレーションテストおよびセキュリティ研究にのみ提供されています。明示的な許可なく対象に対して使用することは:
本ツールを使用することにより、あなたは対象に対する明示的な書面による許可を保有していること、自身の行為に責任を負うこと、および作者が不正使用に対して一切の責任を負わないことに同意するものとします。違反は、CFAA、GDPR第32条、フランス刑法典第323-1条、その他の国内または国際的なサイバー犯罪法に基づく訴追につながる可能性があります。
MIT — オリジナルリポジトリに準拠。