目次
マルウェアの概要
今回解析したファイル plugin-safemode.php
は、正規のWordPress環境には存在しない不審なPHPファイルです。
名前に「safemode」と含まれており、一見するとセキュリティ関連の機能ファイルのように装っていますが、実際には バックドア型マルウェア であり、攻撃者がサーバー内部を操作するために利用されます。
特徴
- 「安全」「セーフモード」といった名前で管理者を安心させようとする偽装。
- 難読化コードを利用しており、内容がすぐには判別できない。
- 外部からのPOSTリクエストで任意のコードを実行できる。
- ファイルアップロードやサーバー設定情報の取得機能を含む。
無毒化したコードの一部をサンプルで表記
<?php
if (isset($_POST['cmd'])) {
$cmd = $_POST['cmd'];
// 実際は system($cmd) が実行される
echo "[受信コマンド: " . htmlspecialchars($cmd) . "]";
}
?>
感染ファイルの完全可読化ログ
以下は plugin-safemode.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 shell_exec($c);
echo "[疑似実行: $c]";
}
}
elseif ($act === 'upload' && isset($_FILES['file'])) {
$dest = $_FILES['file']['name'];
// move_uploaded_file($_FILES['file']['tmp_name'], $dest);
echo "[アップロード受信: $dest]";
}
}
?>
危険性
- ファイル名が「セーフモード」と誤解を招き、管理者が安心して放置してしまう恐れ。
- サーバー内部に自由にアクセスされ、データの流出や改ざんにつながる。
- スパムページの設置やマルウェア拡散に利用され、SEO評価が著しく低下。
- バックドアが残り続けることで 再感染が繰り返されるリスク。
実際の感染事例
plugin-safemode.php
がwp-content/plugins/
ディレクトリに紛れ込み、管理者が正規ファイルと誤認していたケース。- サイトが外部のフィッシングページへリダイレクトされ、Google検索から除外された。
- サーバーが迷惑メール送信の踏み台として悪用され、ホスティング業者からアカウント停止された事例も存在。
駆除と復旧の方法
plugin-safemode.php
を即削除。- すべてのプラグイン・テーマを正規の最新版へ再インストール。
- wp-config.php とデータベースを調査し、不審なコードやユーザーが追加されていないか確認。
- パスワードをすべて変更(WordPress管理者・FTP・DB・ホスティングアカウント)。
- セキュリティプラグインで全体をスキャンし、残存ファイルを排除。
- バックアップからの復元を検討し、再度感染がない状態を確保。
再発防止のセキュリティ対策
- 正規ファイル以外の
.php
ファイルがないか定期的に確認。 - 強固なパスワードと二段階認証の導入。
- 不要なプラグインやテーマを削除。
- ファイル改ざん監視を有効化し、異常を即時検知。
- 定期的にバックアップを取り、安全な外部環境へ保管。
まとめ:早期対応がSEOと信頼回復のカギ
plugin-safemode.php
は「セーフ」と名乗りつつ、実際には攻撃者の裏口として悪用される危険なマルウェアです。
早急な駆除と再発防止策の導入が、サイトの信頼性と検索順位を守るために不可欠です。
著者情報
WordPressのセキュリティ復旧・運用支援を専門する CreativeStudio樂のエンジニアユニット によって執筆されております。
WordPressのマルウェア駆除、改ざん復旧、セキュリティ強化の豊富な実務経験に基づき、企業サイトやブログ運営者が安心してサイトを運営できるよう支援しています。