マルウェアの概要
今回の感染ファイルは、PHP製のWebベース・ファイルマネージャーをサーバー上で動作させるタイプです。見た目は管理ツールですが、第三者が不正に設置した場合は**典型的なバックドア(裏口)**として機能します。
この種のファイルは、攻撃者がブラウザ経由でサーバー内のファイルを閲覧・編集・削除・アップロードできるため、WordPress改ざんや再感染の起点になりやすいのが特徴です。
今回のコードは、公開されている「Tiny File Manager」をベースにした構成で、単なる保守ツールではなく、不正設置された場合はWebシェルそのものと判断すべき内容でした。
特徴
この感染ファイルには、次のような危険な機能が含まれています。
- サーバー内ファイルの一覧表示
- ファイルの閲覧・編集・保存
- ファイルやフォルダの削除
- 任意ファイルのアップロード
- URL指定による外部ファイルの取得
- ZIP/TARの圧縮・展開
- 権限変更(chmod)
- 検索機能によるファイル探索
- ブラウザから直接ダウンロード
つまり、攻撃者がこの1ファイルにアクセスできるだけで、WordPress本体・テーマ・プラグイン・.htaccess・PHPファイルなどを遠隔操作で自由に改ざんできる状態になります。
無毒化したコードの一部をサンプルで表記
以下は、危険な実行部分を省いたうえで、このファイルが何を目的としていたのか分かるようにしたサンプルです。
<?php
// Webベースのファイル管理画面を起動する設定例
$use_auth = false; // 認証無効
$root_path = $_SERVER['DOCUMENT_ROOT'];
// 画面上から実行できる主な操作
// - ファイル閲覧
// - ファイル編集
// - ファイル削除
// - ファイルアップロード
// - アーカイブ展開
// - 権限変更
if (isset($_GET['upload'])) {
// ファイルアップロード処理
}
if (isset($_GET['edit'])) {
// ファイル編集処理
}
if (isset($_GET['del'])) {
// ファイル削除処理
}
このように、表面的には「便利なファイル管理ツール」でも、WordPress上に勝手に置かれていれば、それは管理補助ではなく攻撃者専用の管理画面です。
感染ファイルの完全可読化ログ
今回のファイルは、強い難読化コードではなく、比較的そのまま読める構造でした。確認できた全体像を安全に整理すると、以下のようになります。
1. ツール本体の正体
Tiny File Manager V2.4.3の表記あり- ブラウザ経由でファイル管理を行うPHPアプリケーション
- 単体PHPファイルとして動作可能
2. 認証まわりの問題点
$use_auth = false;となっており、認証が無効- コード内に
admin/userの認証情報定義があるものの、無効化されているため防御にならない - 実質的に、URLを知ってアクセスできれば利用可能な状態
3. 攻撃者に有利な機能
- 編集機能:PHPファイル・設定ファイルを書き換え可能
- アップロード機能:追加のマルウェア投入が可能
- URLアップロード:外部サーバーから不正ファイル取得が可能
- 削除機能:ログや正常ファイルの破壊が可能
- 権限変更:防御設定を弱める恐れ
- 圧縮・展開:大量ファイルの持ち出しや設置補助
4. WordPress被害とのつながり
この種のWebシェルがあると、次のような二次被害が起こりやすくなります。
index.phpやテーマファイルへの不正コード埋め込み.htaccess改ざんによる不正リダイレクト- 偽管理者ファイルや再感染用バックドアの追加
- プラグイン内部への不正PHP設置
- SEOスパムページやフィッシングページの配置
5. 実務上の判定
このファイルは、開発者が意図して設置した保守ツールでない限り、高危険度のバックドアとして扱うのが妥当です。WordPressサイト内に突然存在していた場合は、単体削除ではなく、侵入経路・追加設置ファイル・改ざん範囲まで含めて調査する必要があります。
危険性
このマルウェアの危険性は非常に高いです。理由は、単なる「迷惑なコード」ではなく、攻撃者がサイトの中に常駐するための運用基盤になるからです。
特に危険なのは次の点です。
- 再感染が簡単:一度消しても別ファイルを再投入できる
- 改ざん範囲が広い:WordPressだけでなくサーバー全体に波及し得る
- 検知が遅れやすい:見た目は管理ツールで、静かに悪用される
- 情報漏えいリスク:設定ファイルやDB接続情報の閲覧が可能
- SEO被害が大きい:スパムページ生成やリダイレクトの温床になる
この記述があれば99%マルウェア
企業サイトや通常のWordPress運用で、次のような記述が見つかった場合はかなり危険です。
Tiny File Managerという名称File Managerとして単独PHPで動く構成$use_auth = false;- ブラウザ上で
upload,edit,del,chmod,unzipなどを扱う処理 $_SERVER['DOCUMENT_ROOT']を起点に全ファイルを触る構造
これらは、正規のWordPress機能ではほぼ不要です。制作時に意図して導入していないなら、99%マルウェアまたは不正設置ツールと見て差し支えありません。
実際の感染事例
このタイプの感染では、次のような相談内容につながることが多くあります。
- ログイン画面が403で開けない
- 管理画面には入れても、プラグイン一覧や投稿一覧だけ403になる
- サイトの一部ページだけ勝手に差し替わる
- 突然リダイレクトが発生する
- セキュリティプラグインで削除しても再発する
ログイン画面が403になるケース
攻撃者は、防御や発見を遅らせるために .htaccess やセキュリティ設定を改ざんし、wp-login.php や wp-admin へのアクセスを遮断することがあります。
その結果、管理者本人までログインできなくなり、「ただの設定ミス」に見えて初動が遅れることがあります。
管理画面の一部だけ403になるケース
さらに厄介なのは、ログイン自体はできても以下の画面だけ403になるケースです。
- プラグイン一覧
- 投稿一覧
- テーマ編集関連
- ユーザー管理画面
これは、攻撃の痕跡を見せないために、管理者に見せたくない画面だけを狙って封じている可能性があります。実際には、バックドアや改ざんファイルが残ったままになっていることが多く、通常のプラグイン無効化だけでは解決しません。
駆除と復旧の方法
このタイプは、ファイル単体削除だけでは不十分です。最低でも以下の流れで進める必要があります。
1. 感染ファイルの隔離
- 該当PHPファイルを隔離
- 公開ディレクトリから即時除去
- ただし削除前に証拠保全を行う
2. 追加バックドアの捜索
- 同階層・子階層の不審PHPを確認
upload,eval,base64,gzinflate,shell,file managerなどで横断検索- 日付の近い不審ファイルを確認
3. WordPress改ざん確認
.htaccesswp-config.phpindex.php- 使用中テーマ
mu-pluginsuploads配下のPHP- 不審管理者アカウント
4. 認証情報の全面変更
- WordPress管理者パスワード
- FTP/SFTP
- サーバーパネル
- データベース
- CDNやDNS管理画面
5. 原因調査
- 脆弱なプラグイン
- 使われていない管理者アカウント
- 流出済み認証情報
- 古いPHPやWordPress本体
- WAFやログの未整備
再発防止のセキュリティ対策
再発防止では、単に「削除した」で終わらせないことが重要です。
必須対策
- WordPress本体・テーマ・プラグインを最新化
- 不要プラグイン・不要テーマの削除
- 使っていない管理者アカウントの削除
- 二要素認証の導入
- WAFまたはログ監視の導入
uploads配下でのPHP実行制限- 定期バックアップと復元テスト
運用面の対策
- 更新停止サイトを放置しない
- 管理権限の共有を減らす
- 外注・制作会社との権限整理を行う
- 「403だから設定ミス」と決めつけず、改ざんも疑う
まとめ:早期対応がSEOと信頼回復のカギ
今回のファイルは、WordPressを遠隔操作するためのWebシェル型バックドアと評価できる内容でした。特に、認証が無効な状態でファイル操作・アップロード・削除・権限変更まで可能であり、放置リスクは極めて高いです。
ログイン画面が403、管理画面の一部だけ403、削除しても再発するといった症状がある場合、表面上の不具合ではなく、すでに攻撃者が管理権を握っている可能性があります。
被害を最小限に抑えるには、感染ファイルの削除だけでなく、改ざん範囲・追加バックドア・侵入経路まで含めた復旧が必要です。早期対応が、SEO被害・顧客信用低下・再感染の連鎖を止める鍵になります。
著者情報
WordPressのセキュリティ復旧・運用支援を専門する CreativeStudio樂のエンジニアユニット によって執筆されております。
WordPressのマルウェア駆除、改ざん復旧、セキュリティ強化の豊富な実務経験に基づき、企業サイトやブログ運営者が安心してサイトを運営できるよう支援しています。
