Hikosachi 開発チームです。
本日は、新しいタイプのWordPressマルウェアについてのレポートをお伝えします。
セキュリティ企業Sucuriが、サイト復旧作業の中で発見した、削除してもすぐに再生する「自己修復型」のバックドア「SC」です。
単一のファイルやプラグインを削除するだけでは駆除できない、非常にしぶとい設計になっている点が特徴で、Sucuriの発表はThe Hacker Newsなど複数のセキュリティメディアでも大きく取り上げられています。
発見の経緯
Sucuriのアナリストは、あるWordPressサイトの復旧作業中、どれだけ慎重にファイルを削除しても、同じバックドアが数秒以内に復活してくるという事例を調査しました。
調査の結果、注入されたコードに含まれる「SC_」というマーカーにちなみ、このマルウェアは「SC」と名付けられました。
Sucuriはこれを「ブロックチェーン制御の自己修復メッシュ(self-healing mesh)」と表現しています。
技術的な特徴:最低8箇所からの自己修復
SCの最大の特徴は、ペイロード(不正なコード本体)がファイル・データベース・共有メモリにまたがる最低8箇所に同時に存在し、そのどれか一つでも残っていれば他のすべてを再生成できる点です。
報じられている持続化の手口は次のとおりです。
- must-use プラグイン(mu-plugins)や通常のプラグインとしてのコピー
db.php・advanced-cache.phpといったWordPressの「ドロップイン」ファイル(WordPress起動の早い段階で読み込まれるため、プラグイン本体が削除されても復元のきっかけになる)- テーマファイル内への埋め込み
- サーバー内の複数フォルダに分散して置かれたZIP形式のバックアップ
- データベースの wp_options 等に保存された不正な設定値・制御情報
- System V 共有メモリ(対応するサーバー環境の場合):固定の識別キーでメモリ上に直接書き込まれ、ファイルやデータベースを一掃してもRAM上に残り続ける。共有ホスティングでは別アカウントの権限下に置かれることすらあるという
この結果、プラグインファイルを削除してもドロップインが書き戻し、ドロップインを削除してもテーマが書き戻し、ディスク上のすべてのファイルを一掃しても次のページ読み込み時にデータベースや共有メモリから一式が復元される、という「いたちごっこ」が起こります。
感染後は、不審な管理者アカウントの作成・隠蔽、既存の管理者セッショントークンの収集、セキュリティプラグインの無効化、決済情報の窃取につながりうる不正スクリプトの配信などの挙動も報告されています。
指令サーバーの代わりにEthereumのスマートコントラクトを利用
通信面でも通常のマルウェアとは異なり、SCは固定の指令サーバー(C2サーバー)を持たず、約20種類のEthereum公開RPCゲートウェイ経由でスマートコントラクトに問い合わせを行い、応答から追加の指示やサーバー情報を受け取る仕組みだと報じられています。
特定のドメインやIPアドレスをブロックするだけでは通信を遮断しにくい点も、駆除の難易度を高めている要因です。
推奨される対応
wp-content/mu-plugins配下に見覚えのないファイルがないか確認する(mu-pluginsは管理画面のプラグイン一覧に表示されないため見落としやすい)db.php・advanced-cache.phpなど wp-content 直下のドロップインファイルが改変されていないか確認する- 管理者ユーザー一覧を確認し、心当たりのないアカウントがないか監査する
- ファイルの削除だけで安心せず、データベース(特に wp_options の不審なレコード)や、利用環境によっては共有メモリも含めた同時駆除を検討する
- 侵害の疑いがある場合は、WordPress管理者パスワード・データベースパスワード・サーバー/SFTPの認証情報に加え、WordPressのシークレットキー・ソルトも必ずローテーションする
- 自力での完全駆除に不安がある場合は、クリーンなバックアップからの復元や、セキュリティ専門家への相談を検討する
Hikosachiでは、こうした攻撃の予兆となる不審なアクセスの検知・遮断を収集データをもとに行っていますが、今回のSCのように検知をすり抜けて長期間居座ることを狙ったマルウェアも存在するため、WordPress本体・プラグイン・テーマを常に最新の状態に保つこと、そして管理者アカウントやコアファイルの定期的な監査を組み合わせた多層防御が重要です。
参照元
- Sucuri Blog: SC WordPress Malware: A Self-Healing Mesh of Loaders, Drop-Ins, and a Blockchain-Controlled Backdoor
- The Hacker News: WordPress Backdoor Rebuilds Itself After Cleanup Using Files, Database, and Shared Memory
- Cyber Security News: WordPress Malware Comes Back After Removal Using a Self-Healing Backdoor

