マルウェアの概要

本件は「duplicate-post.php」という、一見すると正規プラグインのように見える名称で設置されていたバックドア型PHPファイルです。

名称は実在する有名プラグイン(Duplicate Post)に酷似しており、管理者に気づかれにくい構造になっていました。

実際には、外部からの入力やリクエストを受け取り、任意の処理を実行できる仕組みを持つ不正コードでした。


特徴

  • 正規プラグイン名に酷似(duplicate-post.php)
  • 管理画面からは判別困難
  • 外部入力を受け取る処理を含む
  • 動的実行関数(eval / base64_decode 等)を利用する構造
  • サーバー上に継続的な侵入口を残す

「正規プラグインに見せかける」点が最大の特徴です。


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

危険部分を無効化した例:

<?php
if(isset($_POST['cmd'])){
    $payload = base64_decode($_POST['cmd']);
    
    // 本来はここで実行
    // eval($payload); ← 無効化
}

この構造により、外部から送信されたデータを実行可能な状態になっていました。


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

可読化した結果、処理フローは以下の通りです。

  1. 特定パラメータの受信
  2. エンコード文字列の復号
  3. 条件分岐処理
  4. 任意コード実行(危険部分は無効化)
  5. エラーメッセージを出さず静かに動作

擬似構造:

if(receive_request()){
    $decoded = decode_input();
    // execute($decoded); ← 無効化
}

これは典型的な「Webシェル型バックドア」に分類されます。


危険性

このタイプのマルウェアが存在すると:

  • 管理者権限の不正取得
  • データベース改ざん
  • SEOスパム挿入
  • サイト改ざん
  • 他マルウェアの追加設置

特にプラグイン名に偽装しているため、長期間放置されるリスクがあります。


実際の感染事例

よくある侵入経路:

  • 古いプラグインの脆弱性
  • 不正ログイン
  • FTP情報漏えい
  • nulledテーマ利用

設置場所の例:

  • /wp-content/plugins/duplicate-post.php
  • テーマフォルダ内
  • ルート直下

駆除と復旧の方法

1. 不審ファイルの削除

  • 正規プラグインと比較
  • ファイルハッシュ確認

2. コア・プラグイン再設置

  • WordPress本体を公式から再アップロード
  • 正規プラグインを再インストール

3. ユーザー・DB確認

  • 不審な管理者
  • 不審なcron
  • 不審なオプション値

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

  • 定期アップデート
  • WAF導入
  • ファイル改ざん監視
  • 二段階認証
  • FTP制限
  • 定期バックアップ

まとめ:正規名偽装は発見が遅れる

duplicate-post.phpのような偽装型バックドアは、名称で安心させる心理トリックを利用します。

「見覚えのある名前だから安全」という判断は危険です。

定期的なファイル整合性チェックが不可欠です。


著者情報

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