マルウェアの概要

今回解析したファイル xGqHAmMz.php は、WordPress本体や正規プラグインには存在しないランダムな名前のPHPファイルです。
中身を調査したところ、外部からのリクエストを受けて不正なコマンド実行やファイル操作を可能にする カスタムバックドア が仕込まれていました。


特徴

  • 無意味な文字列をファイル名に使用し、管理者に気づかれにくい。
  • 難読化されたコードや、複数の条件分岐 (if, goto) を利用。
  • 外部からのリクエストパラメータをそのまま処理し、シェルコマンドを実行。
  • サイト内部に永続的に潜伏する仕組みを持つ。

無毒化したコードの一部をサンプルで表記

<?php
if (isset($_POST['cmd'])) {
    $command = $_POST['cmd'];
    // 実際には system($command) などで実行される
    echo "[攻撃者コマンド: " . htmlspecialchars($command) . "]";
}
?>

感染ファイルの完全可読化ログ

以下は xGqHAmMz.php を可読化した内容(危険部分はコメント化)。

<?php
@error_reporting(0);
@set_time_limit(0);
@session_start();

if (isset($_REQUEST['action'])) {
    $act = $_REQUEST['action'];
    if ($act === 'info') {
        phpinfo();
    }
    elseif ($act === 'exec') {
        $c = $_POST['cmd'] ?? '';
        if ($c) {
            // 本来は外部コマンド実行
            echo "[疑似実行: $c]";
        }
    }
    elseif ($act === 'upload' && isset($_FILES['file'])) {
        $f = $_FILES['file']['name'];
        // move_uploaded_file($_FILES['file']['tmp_name'], $f);
        echo "[アップロード受信: $f]";
    }
}
?>

危険性

  • 無作為なファイル名で管理者に発見されにくい。
  • 任意コード実行により、サーバー乗っ取りやデータ漏えいのリスク。
  • 継続的なスパムページ生成や不正アクセスの踏み台として悪用される可能性。
  • SEO評価やブランド信頼を大きく損なう危険性。

実際の感染事例

  • wp-content/uploads/ フォルダ内に xGqHAmMz.php が配置され、バックドアとして利用されていた。
  • 管理者が気付かぬ間に外部スクリプトを読み込まれ、マルウェア配布サイトへ誘導されるケースが確認された。
  • サイト全体が検索結果から除外され、復旧に長期間を要した事例もある。

駆除と復旧の方法

  1. xGqHAmMz.php を即削除
  2. サーバー全体をスキャンして類似ファイルがないか確認。
  3. wp-config.php やテーマファイルを精査し、不正コードの混入を排除。
  4. すべてのアカウントのパスワードを変更
  5. 最新のWordPress・プラグイン・テーマに更新
  6. 信頼できるバックアップから復旧を検討。

再発防止のセキュリティ対策

  • 管理画面やサーバーへのアクセスを制限(IP制御や二段階認証)。
  • 定期的にサーバーファイルをチェックし、不審ファイルを早期発見。
  • セキュリティプラグインを導入し、自動スキャンを有効化。
  • 不要なプラグイン・テーマを削除し、常にアップデートを適用。

まとめ:早期対応がSEOと信頼回復のカギ

xGqHAmMz.php のようなランダム名のバックドアは、サイト運営者の目を欺き、長期的に不正利用されるリスクを高めます。
迅速な駆除と予防策により、サイトと顧客を守りましょう。

著者情報

WordPressのセキュリティ復旧・運用支援を専門する CreativeStudio樂のエンジニアユニット によって執筆されております。
WordPressのマルウェア駆除、改ざん復旧、セキュリティ強化の豊富な実務経験に基づき、企業サイトやブログ運営者が安心してサイトを運営できるよう支援しています。