🛡️ wp2shell-Hestia-Scanner
🇬🇧 英語
|
🇬🇷 ギリシャ語

HestiaCP サーバー向けの読み取り専用 WordPress セキュリティスキャナー。
ホストされているすべてのサイトで wp2shell の侵害インジケーターを検出します — クライアント別メールレポート、コアファイル差分、SHA256 ウェブシェル検出、リスクスコアリング、オプションの AI 評価に対応。
⚠️ 安全なバージョン: WordPress 6.8.6 / 6.9.5 / 7.0.2 以降。
これらのスクリプトは何も変更しません — 全体を通して読み取り専用です。
🇬🇧 英語
wp2shell とは?
wp2shell は、2026年7月17日に公開された WordPress コアの認証前リモートコード実行 (RCE) チェーンです。デフォルトインストールに対する単一の匿名 HTTP リクエストだけで、不正な管理者を作成し、サーバー上で任意のコードを実行できます。
このチェーンは以下を組み合わせます:
- CVE-2026-60137 —
WP_Query の author__not_in パラメータにおける SQL インジェクション
- CVE-2026-63030 — REST API
/wp-json/batch/v1 エンドポイントにおけるルート混乱
侵害されたサイトには、ログインプレフィックス wp2_ とメールアドレス @wp2shell.invalid を持つ不正な管理者が存在します。
詳細情報: https://wp2shell.com
リポジトリの内容
| ファイル | 目的 |
|---|
wp2shell-scan.sh | 高速なサーバー全体 IoC スキャナー — 色分けされたターミナル出力、サイトごとのリスクスコア、/root/ への自動保存レポート |
wp2shell-report-per-user.sh | フルスキャナー — HestiaCP ユーザーごとのメールレポート、コアファイル差分、SHA256 ウェブシェル検出、AI 評価、リスクスコアリング |
known_shells.sha256 |
スキャナーのチェック内容
データベース / ユーザーチェック
コアファイルの整合性
| チェック | 重大度 |
|---|
wp core verify-checksums vs. wp.org | HIGH |
ダウンロードしたクリーンなコアに対する行単位の diff -U5 | CRITICAL / HIGH / OK |
| クリーンなコアに存在しない追加ファイル (内容 + メタデータを表示) | CRITICAL / HIGH |
ファイル分析
永続化
| チェック | 重大度 |
|---|
curl/wget/php/base64 を含むユーザー crontab エントリ | HIGH |
| サイトパスを参照するシステム cron ファイル | MEDIUM |
リスクスコア
各サイトには、すべての検出項目の内訳付きで 0–100 のリスクスコアが付与されます:
+------------------------------------------+
| RISK SCORE: 96/100 COMPROMISED |
+------------------------------------------+
+40 wp2shell fingerprint account
+30 PHP file(s) inside uploads/
+20 Vulnerable WordPress version
+6 Core checksum failure
| スコア | ラベル |
|---|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 |
要件
- HestiaCP を実行している Linux サーバー
- bash 4.0+
- WP-CLI がグローバルに
wp としてインストールされていること
root アクセス
sendmail (メールレポート用)
python3 (AI 評価の JSON 処理用)
curl、sha256sum、file、strings、unzip
WP-CLI のインストール (未インストールの場合)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp
ワンライナーでのインストール & 実行
高速 IoC スキャン
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-scan.sh | sudo bash
クライアント別メールレポート付きフルスキャン
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-report-per-user.sh \
-o wp2shell-report-per-user.sh && sudo bash wp2shell-report-per-user.sh
注: フルスキャナーは起動時にインタラクティブな質問を行います (AI 評価、レポート保存、日付しきい値)。最初にダウンロードしてから実行すると、プロンプトが正しく動作します。
使用方法
wp2shell-scan.sh — 高速なサーバー全体スキャン
sudo bash wp2shell-scan.sh
/home/*/web/*/public_html/ 配下のすべての WordPress インストールを検出し、すべてのチェックを実行して、色分けされた出力をターミナルに表示し、完全なレポートを /root/wp2shell-report-YYYYMMDD-HHMMSS.txt に保存します。
起動時に、オプションのカスタム日付しきい値 (デフォルト: 2026-07-15) を尋ねます。
wp2shell-report-per-user.sh — メールレポート付きフルスキャン
sudo bash wp2shell-report-per-user.sh
起動時に 3 つの質問が表示されます:
[AI EVALUATION] Use AI evaluation for ambiguous files? [y/N]
[SAVE REPORT] Save a full report file for later review? [y/N]
[DATE THRESHOLD] Use a different date? Leave blank to keep default [YYYY-MM-DD]:
必ず DRY_RUN=1 (デフォルト) から開始してください — メールは画面にプレビュー表示されるだけで、何も送信されません。出力が正しいことを確認した後にのみ DRY_RUN=0 に変更してください。
設定
wp2shell-scan.sh
wp2shell-report-per-user.sh
AI 評価 (オプション)
パターンだけでは分類できない曖昧な差分について、スキャナーは差分を Claude API (claude-sonnet-4-6) に送信し、DANGER、SUSPICIOUS、REVIEW、または OK の判定を一文の説明付きで返します。AI はグレーゾーンの場合のみ使用されます — 明確なケースは API 呼び出しなしで即座に分類されます。
スクリプト内にキーを設定するか、実行前にエクスポートしてください:
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
API キー: https://console.anthropic.com — claude.ai のサブスクリプションとは別です。
API キーがない場合?ブラウザアナライザーを使用
スキャン出力を Claude.ai の wp2shell Report Analyzer アーティファクトに貼り付けてください — 独自のキーを必要とせず、同じ AI 評価をブラウザ上で直接実行できます。
出力形式
重大度レベル
コア差分の例
┌─ MODIFIED: wp-includes/load.php
│ [CRITICAL] Assessment (patterns): executable/obfuscated pattern in added lines
│ +20 Core file modified with dangerous pattern
│
│ ORIGINAL: /root/wp2shell-cores/7.0.2-el/wp-includes/load.php
│ SITE: /home/user/web/example.gr/public_html/wp-includes/load.php
│ @@ -212,5 +212,6 @@
│ - $loaded = true;
│ + $loaded = true;
│ + eval(base64_decode('aGVsbG8='));
└──────────────────────────────────────
注意事項
- スキャナーは何も変更しません。本番稼働中のサーバーで実行しても安全です。
- WordPress をパッチ適用済みバージョンに更新すると脆弱性は解消されますが、すでに侵害されたサイトはクリーンアップされません。インジケーターが見つかった場合は、クリーンなバックアップから復元してください。
CORE_CACHE ディレクトリ (/root/wp2shell-cores/) はスキャン間で再利用されます。削除すると、新しいダウンロードが強制されます。
known_shells.sha256 ハッシュデータベースは 1 日 1 回自動的に更新されます。
ライセンス
GPL-3.0 — LICENSE を参照
クレジット
wp2shell の公開 (2026年7月) を受けて BytesPulse によって開発されました。
CVE 情報: https://wp2shell.com
🇬🇷 ギリシャ語
wp2shell とは?
wp2shell は、2026年7月17日に公開された WordPress コアのリモートコード実行 (RCE) チェーンです。デフォルトインストールに対する単一の匿名 HTTP リクエストだけで、管理者を作成し、サーバー上で任意のコードを実行できます。
このチェーンは以下を組み合わせます:
- CVE-2026-60137 —
WP_Query の author__not_in パラメータにおける SQL インジェクション
- CVE-2026-63030 — REST API
/wp-json/batch/v1 におけるルート混乱
侵害されたサイトには、プレフィックス wp2_ とメールアドレス @wp2shell.invalid を持つ管理者アカウントが存在します。
詳細情報: https://wp2shell.com
リポジトリの内容
| ファイル | 目的 |
|---|
wp2shell-scan.sh | 高速なサーバー全体 IoC スキャナー — 色分けされたターミナル出力、サイトごとのリスクスコア、/root/ へのレポート自動保存 |
wp2shell-report-per-user.sh | フルスキャナー — HestiaCP ユーザーごとのメールレポート、コア差分、SHA256 ウェブシェル検出、AI 評価、リスクスコア |
known_shells.sha256 |
チェック内容
データベース / ユーザー
コアファイルの整合性
| チェック | 重大度 |
|---|
wp core verify-checksums vs. wp.org | HIGH |
クリーンなコアに対する行単位の diff -U5 | CRITICAL / HIGH / OK |
| クリーンなコアに存在しない追加ファイル | CRITICAL / HIGH |
ファイル分析
永続化
| チェック | 重大度 |
|---|
curl/wget/php/base64 を含むユーザー crontab | HIGH |
| サイトパスを参照するシステム cron ファイル | MEDIUM |
リスクスコア
各サイトには、すべての検出項目の内訳付きで 0–100 のスコアが付与されます:
+------------------------------------------+
| RISK SCORE: 96/100 COMPROMISED |
+------------------------------------------+
+40 wp2shell fingerprint account
+30 PHP file(s) inside uploads/
+20 Vulnerable WordPress version
+6 Core checksum failure
| スコア | ラベル |
|---|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 |
要件
- HestiaCP を実行している Linux サーバー
- bash 4.0+
- WP-CLI が
wp としてインストールされていること
root アクセス
sendmail (メール送信用)
python3 (AI 評価用)
curl、sha256sum、file、strings、unzip
WP-CLI のインストール (未インストールの場合)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp
ワンライナーでのインストール
高速 IoC スキャン
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-scan.sh | sudo bash
メールレポート付きフルスキャン
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-report-per-user.sh \
-o wp2shell-report-per-user.sh && sudo bash wp2shell-report-per-user.sh
使用方法
wp2shell-scan.sh
sudo bash wp2shell-scan.sh
/home/*/web/*/public_html/ 配下のすべての WordPress インストールを自動的に検出し、すべてのチェックを実行して、色分けされた出力をターミナルに表示し、完全なレポートを /root/ に保存します。
wp2shell-report-per-user.sh
sudo bash wp2shell-report-per-user.sh
起動時に 3 つの質問が表示されます:
[AI EVALUATION] Χρήση AI αξιολόγησης για αμφίβολα αρχεία; [y/N]
[SAVE REPORT] Αποθήκευση πλήρους report σε αρχείο; [y/N]
[DATE THRESHOLD] Διαφορετική ημερομηνία; Αφήστε κενό για default [YYYY-MM-DD]:
必ず DRY_RUN=1 (デフォルト) から開始してください — メールは画面に表示されるだけで、送信されません。出力が正しいことを確認した後にのみ DRY_RUN=0 に変更してください。
設定
wp2shell-scan.sh
wp2shell-report-per-user.sh
AI 評価 (オプション)
パターンだけでは分類できない曖昧な差分について、スキャナーは差分を Claude API (claude-sonnet-4-6) に送信し、DANGER、SUSPICIOUS、REVIEW、または OK の判定を一文の説明付きで返します。AI はグレーゾーンの場合のみ使用されます。
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
API キー: https://console.anthropic.com — claude.ai のサブスクリプションとは別です。
API キーがない場合?ブラウザアナライザーを使用
スキャン出力を Claude.ai の wp2shell Report Analyzer アーティファクトに貼り付けてください — 同じ AI 評価をブラウザ上で直接実行できます。
注意事項
- スキャナーは何も変更しません。本番稼働中のサーバーで実行しても安全です。
- WordPress をパッチ適用済みバージョンに更新すると脆弱性は解消されますが、すでに侵害されたサイトはクリーンアップされません。インジケーターが見つかった場合は、クリーンなバックアップから復元してください。
CORE_CACHE フォルダ (/root/wp2shell-cores/) はスキャン間で再利用されます。削除すると再ダウンロードが強制されます。
known_shells.sha256 データベースは 24 時間に 1 回自動的に更新されます。
ライセンス
GPL-3.0 — LICENSE を参照
クレジット
wp2shell の公開 (2026年7月) を受けて BytesPulse によって開発されました。
CVE 情報: https://wp2shell.com