目次
マルウェアの概要
本件は「postnews.php」という名称で設置されていた不正PHPファイルです。
一見すると「ニュース投稿用のカスタム機能」や「更新スクリプト」に見える名称ですが、実際には外部からの命令を受信し、サーバー上で任意の処理を実行できるバックドアでした。
名称に“news”“post”など自然な単語を含めることで、開発者や管理者の警戒心を下げることが目的と考えられます。
特徴
- 正規機能に見せかけたファイル名(postnews.php)
- 外部入力(GET/POST)の受信処理
- エンコード文字列の復号処理
- 動的実行構造(eval相当処理)
- エラーを出さず静かに動作
「ニュース投稿処理に見せかける」ことが最大の偽装ポイントです。
無毒化したコードの一部をサンプルで表記
危険部分を無効化した典型構造:
<?php
if(isset($_REQUEST['data'])){
$decoded = base64_decode($_REQUEST['data']);
// 本来はここで実行
// eval($decoded); ← 無効化
}
このような構造がある場合、外部から任意コードを投入できる状態になります。
感染ファイルの完全可読化ログ
解析結果の処理フロー:
- 特定パラメータの有無を確認
- 受信データを復号
- 条件分岐
- 任意処理を実行(危険部分は無効化)
- 正常な処理を装い終了
擬似構造:
if(check_parameter()){
$payload = decode_input();
// execute_payload($payload); ← 無効化
}
これは典型的な「Webシェル型バックドア」に分類されます。
危険性
このタイプのマルウェアが存在すると:
- 管理者アカウントの追加
- データベース改ざん
- SEOスパム投稿の自動生成
- サイト改ざん
- 他マルウェアの追加感染
特に「投稿処理に見える」ため、長期間放置されるリスクがあります。
実際の感染事例
確認される侵入経路:
- 脆弱なプラグイン経由
- 不正ログイン
- FTP情報漏えい
- nulledテーマ利用
設置場所の例:
- ルート直下
- /wp-content/ 配下
- テーマフォルダ内
駆除と復旧の方法
1. 不審ファイルの削除
- 正規ファイルとの比較
- 更新日時の確認
2. WordPress再設置
- コアを公式から再アップロード
- プラグイン再インストール
3. ユーザー・DB確認
- 不審な管理者
- 不審な投稿
- 不審なcron設定
再発防止のセキュリティ対策
- 定期アップデート
- WAF導入
- ファイル改ざん監視
- 二段階認証
- FTP制限
- 定期バックアップ
まとめ:名称偽装は心理的盲点を突く
postnews.phpのような名称偽装型バックドアは、管理者の「見慣れた単語だから安全」という心理を利用します。
定期的なファイル整合性チェックと専門的な解析体制が不可欠です。
著者情報
WordPressのセキュリティ復旧・運用支援を専門する CreativeStudio樂のエンジニアユニット によって執筆されております。
WordPressのマルウェア駆除、改ざん復旧、セキュリティ強化の豊富な実務経験に基づき、企業サイトやブログ運営者が安心してサイトを運営できるよう支援しています。
