INCIDENT
医療系の施設のサイトが真っ白になり、別のサイトへ転送されていた
見つかったもの
- 3件書き換えられた入口のファイル
- 35ファイル実在のサービスを装った偽のログイン画面一式
- 3件身に覚えのない管理者アカウント
- 26個停止したまま残っていたプラグイン
- 3件公開領域に置かれたままの開発用データ
実際に残っていた痕跡
報告書に載せた記録の一部です。特定につながる情報は伏せています。
- index.php数行 → 33,547 行
- comment.php59,737 行(約 2.8MB)
- content.php59,032 行(約 2.7MB)
本来は数行のファイルが、3万行を超える読めないプログラムに置き換わっていました。画面が真っ白になった直接の原因です。同じ働きのファイルが、ほかに2つ置かれていました。1つを消されても、残りから操作を続けるためのものです。
- Plugin NameSecurePlugin■■■■■■
- 中身4重に読めなくしてある
- 働き外からの命令で、任意の処理を実行
ファイルの先頭に、安全対策のプラグインのような名前が書かれていました。一覧で見ただけでは、不正なものと気づきにくい作りです。
- mo27■■■■■■■yfg1件目
- 24m3■■■■■■■■h0q同じ日
- ayp7■■■■■■■■75j3日後
- ほか6件20日間で計 9 件
乗っ取られた利用者の名前で、意味のない文字列の題名の投稿が作られていました。公開されたままだったので、履歴とあわせて18件を削除しました。
- 訪問の記録ある朝に 100 件超
- 入力の保存先調査の時点では空
- 画面の部品28 ファイル
偽の画面には、訪れた人の接続元と時刻を記録するファイルが残っていました。入力された内容がすでに持ち出されたかどうかは、確定していません。
行ったこと
- ご相談の日外から状態を確認
サーバーに入らずに確認できる範囲を調べ、「調査が終わるまでファイルの削除・一括更新・パスワード変更をしないでください」とお伝えしました。証拠が消えるのを防ぐためです。
- 作業1日目不正なファイルと管理者を削除
全ファイルとデータベースを保全してから、書き換えられたファイルを元に戻し、偽の画面と不正な管理者を削除。ログイン画面の場所を変え、二段階認証を入れました。
- 作業2日目再び書き換えられ、原因を特定
翌日に同じファイルがまた書き換えられました。サーバー上のファイルを操作できるプラグインを削除したところ止まりました。あわせて、画像の保存場所でプログラムが動かない設定にし、全員のパスワードを作り直しました。
対応の前と後
| BEFORE対応前 | AFTER対応後 | |
|---|---|---|
| PHP | 8.0(サポート終了) | 8.3 |
| 管理者アカウント | 正規2、不正3 | 正規2、保守用1 |
| 停止したままのプラグイン | 26個 | 0個 |
| 不正なファイル | 入口のファイル3件、偽の画面一式 | 0件 |
| 画像の保存場所でのプログラム実行 | できる | できない |
| ログイン | 標準の場所、パスワードのみ | 場所を変更、二段階認証 |
報告書に書いた、分かっていないこと
- 侵入の経路は「ファイルを操作できるプラグインが最も疑わしい」という推定です。通信の記録をすべて解析したわけではないので、断定はしていません。
- 問い合わせフォームのないサイトでしたが、データベースや記録が持ち出された可能性は否定できない、と書きました。
- 外部ストレージへのバックアップは、推奨としてお伝えした段階です。
