Type to search

ハッキング

「TRUST#GRAFT」、WordPress管理者セッションを悪用してバックドアを設置

TRUST#GRAFT、WordPress管理者セッションを悪用してPHPバックドアを設置

 

Securonix Threat Researchが報告した攻撃キャンペーン「TRUST#GRAFT」は、WordPressの認証を回避するものではない。攻撃者が注入したJavaScriptがログイン済みの管理者ブラウザーで実行されると、そのセッションに付与された権限を利用して悪意のあるプラグインをアップロードし、有効化する。初期侵入経路や被害規模は確認されていない。管理者の認証情報を直接窃取しなくても、認証済みブラウザーのセッションを悪用することで、WordPressサーバー上に永続的なPHPバックドアを設置できる点が主な脅威となっている。

攻撃に使用されるローダーは、画面全体を覆うiframeで元のページを隠し、Cloudflareの「Just a moment」画面を模倣する。iframeには、親ページのホスト名を表示しようとする処理や、クリップボードへの書き込み権限が含まれている。利用者が誘導先のページを操作すると、攻撃者が指定したテキストをクリップボードにコピーしようとする仕組みだ。こうした動作は、利用者に特定の操作を促すClickFix系の攻撃手法と共通している。

ローダーは、自動化ツールの痕跡、WebGLレンダラー、Canvasハッシュ、タイムゾーン、言語設定などを収集する。その後、簡易的なProof of Work(PoW)課題を実行し、取得したフィンガープリント情報とキャンペーン関連のパラメーターを制御サーバーへ送信する。動的コンテンツを表示する前に行われるこれらの処理は、一般利用者のブラウザーと自動解析環境を識別するために使われている可能性がある。

さらに、ローダーはlocalStorageとsessionStorageを調べ、キー名に「token」「jwt」「auth」「api」「secret」「session」「bearer」「csrf」が含まれる項目を検索する。該当する値に加え、document.cookieから取得した最大1,500文字のデータを報告用エンドポイントへ送信する。HttpOnly属性が設定されたCookieはJavaScriptから読み取れないものの、ブラウザーのストレージに保存され、JavaScriptからアクセス可能な認証トークンなどは流出するおそれがある。

ログイン済みの管理者セッションが確認されると、スクリプトはWordPressのプラグインアップロード画面からnonceを取得する。続いて、あらかじめ用意された「wm.zip」をダウンロードし、「update.php?action=upload-plugin」へアップロードした後、プラグイン管理画面にアクセスして有効化する。一連のHTTPリクエストには、ログイン済み管理者の権限とWordPressが備える正規の機能が使用される。

このため、攻撃はWordPressの認証機構を直接回避するものではなく、認証済みブラウザー上で攻撃者のJavaScriptが実行されることで成立する。多要素認証(MFA)を導入していても、認証が完了したセッション内で行われる不正操作を、それだけで防げるとは限らない。また、WordPressのnonceはクロスサイトリクエストフォージェリ(CSRF)対策のための仕組みであり、アクセス権限そのものを付与するものではない。プラグインのインストールが可能かどうかは、対象セッションに付与された権限によって決まる。

wm.zipに含まれる「Web Media Optimizer」バージョン2.1は、名称とは異なり、PHPで実装されたバックドアとして機能する。公開ページのwp_headフックを通じて外部のJavaScriptを挿入し、制御サーバーからコードを取得する際にはTLS証明書の検証を無効化する。また、通常のプラグイン一覧や操作リンク、更新通知などから自身を隠す機能も備えている。

バックドアには、ハードコードされたトークンで保護された2つのアクセスパスが用意されている。一方は最初の管理者アカウントの認証Cookieを設定するために使用され、もう一方は外部から読み込むスクリプトの取得先を変更するために使われる。さらに、有効化時には自身を「wp-content/mu-plugins/wmedia-recovery.php」にコピーし、継続的な実行を可能にする。

WordPressのmust-useプラグインは自動的に読み込まれる一方、通常のプラグイン管理画面には表示されない。この仕組みを悪用することで、攻撃者はバックドアを管理画面から見つかりにくい場所に残せる。通常のプラグインディレクトリから悪意のあるファイルを削除しても、mu-pluginsディレクトリ内にコピーが残っていれば、バックドアが引き続き実行される可能性がある。

調査にあたっては、同一の管理者セッションで短時間に発生したプラグインアップロード画面へのアクセス、ZIPファイルのアップロード、プラグインの有効化といった操作を関連付けて確認することが重要となる。管理画面に表示される情報だけに依存せず、通常のプラグインディレクトリと「wp-content/mu-plugins」の両方を直接調査する必要がある。また、ブラウザーの侵害が疑われる管理者セッションについては、セッションの無効化や再認証などの対応を検討することが求められる。

ローダーの配信元候補としては、「gerlace.com」「vtevens.icu」「caapman.me」が確認されており、複数のドメインで「/p/wm.zip」というパスが繰り返し使用されていた。ただし、これらの痕跡だけでは、被害者がどのような経路で悪意のあるスクリプトに誘導されたのか、また攻撃を実行した主体が誰なのかは特定できない。初期の配信経路を調べるには、埋め込まれたページのソースコードや変更履歴、HTTPリファラー、リダイレクトチェーン、Webサーバーのログ、DNSやプロキシの記録などを照合する必要がある。

 

 

コメントを残す

Your email address will not be published. Required fields are marked *