サイレント スワップ:暗号資産の送金先を密かにすり替える拡張機能マルウェア

執筆:Neil Tyagi

概要

McAfee Advanced Threat Research は、ユーザーが暗号資産の取引を開始した瞬間にウォレット アドレスを密かに差し替えて暗号資産を窃取することを狙う、現在進行中のブラウザー拡張機能攻撃キャンペーンを確認しました。この攻撃キャンペーンは署名のないインストーラーを通じて配布され、.NET 版と Golang 版の両方が確認されています。こうしたインストーラーは一見無害な「Google Notes」ユーティリティを装って、悪意のある Chromium 拡張機能を展開します。

この攻撃キャンペーンは、McAfee Labs が以前公開したブログ記事「Sinkholing CountLoader: Insights into Its Recent Campaign」で取り上げたキャンペーンと関連します。どちらの攻撃にも同じ脅威アクターが関与していると見られるためです先の調査では、メモリに直接注入される暗号資産クリッパーのペイロードを分析しました。本記事では、最終段階のペイロードの亜種として、ブラウザーベースの悪意のある拡張機能を取り上げます。これは暗号資産取引を傍受し内容を改ざんするために作られた拡張機能です。

本レポートでは、この拡張機能の動作を詳しく解説するとともに、この脅威の他にはない特徴的な仕組みについて技術面での分析を行います。この拡張機能はクリップボードの動作を認識する暗号資産クリッパーとして機能します。コピーと貼り付けの操作を監視し、複数のブロックチェーンにわたりウォレット アドレスを識別したうえで、被害者がその内容を貼り付ける直前に、攻撃者が管理するアドレスへと差し替えます。ほとんどのブロックチェーン取引は取り消すことができないため、一度でも中断されることなく実行されるだけで、取り返しのつかない金銭的損失になるおそれがあります。

この攻撃キャンペーンには、一般的なクリッパー脅威よりも高度であることを示す 2 つの特徴があります。

  1. Chromium の信用レイヤーの悪用。インストーラーは、Google Chrome、Brave、Microsoft Edge などの Chromium ベースのブラウザーで、保護されたブラウザー設定ファイルを改ざんし、悪意のあるブラウザー拡張機能をユーザーに気づかれないように強制的に組み込みます。通常、こうしたブラウザーは不正な変更を検出するために機密性の高い設定とともにセキュリティ検証データ (ハッシュ値や HMAC 値) を保存しています。このマルウェアは、ファイルを改ざんした後にこれらのセキュリティ値を再計算して更新し、悪意のある拡張機能が正規の手順でインストールされたものであるとブラウザーに誤認させます。これにより、この拡張機能は通常の拡張機能ウェブ ストアのインストール プロセスを回避し、ユーザーの承認がないまま密かに読み込まれます。ただし、最新の Chrome および Edge ブラウザーでは、拡張機能を正しく読み込ませるには被害者が手動で開発者モードを有効にする必要があります。一方、古いバージョンの Chromium ベースのブラウザーを使用しているユーザーは、引き続き高いリスクにさらされています。さらに、最新バージョンであっても、脅威アクターがソーシャル エンジニアリングの手法を用いて、ユーザーに開発者モードを有効にさせるおそれがあります。
  2. ブロックチェーンを利用したコマンド アンド コントロール (C2) の解決。この拡張機能には、ハードコードされた C2 ドメインは含まれていません。その代わりに、公開ブロックチェーンの RPC エンドポイントにクエリを送信し、読み取り専用のスマート コントラクト メソッドを呼び出して、実行時にレスポンスをデコードすることで、有効な C2 を特定します。分析時点で確認された C2 は Zebregts[.]com でした。この手法は「イーサハイディング (EtherHiding)」と呼ばれることが多く、テイクダウンを困難にします。攻撃者はマルウェアを再配布しなくても、スマート コントラクトの値を更新するだけでインフラを切り替えられるためです。 

マカフィーのテレメトリによると、感染は世界各地に広がっており、特にインドに集中していることが示されています。地理的な広がりが大きいことから、この攻撃は特定の地域を狙ったものではなく、狙いやすい一般消費者の暗号資産ユーザーを標的にしていると考えられます。 

地理的な広がり

サイバーセキュリティの脅威により影響を受けている国を示した世界地図
マカフィーの調査では、世界で特に影響を受けている地域が明らかになった。

テレメトリ分析によると、感染は世界各地に広がっており他の地域と比べてインドで特に高い集中が確認されています。

地理的に広範囲に及んでいるため、この攻撃キャンペーンの到達範囲の広さがうかがえ、特定の地域を狙った攻撃というよりも、狙いやすいユーザーを広く標的にしていることが示唆されます。 

悪意のある拡張機能「Google Notes」

このマルウェアは一見無害に見える Google Notes 拡張機能を装っています。

悪意のある Google Chrome 拡張機能。
図 1. この画像はこの攻撃キャンペーンの中心となっている悪意のある拡張機能を示している

ドロップされた拡張機能は「Google Notes」という名称で最低限の機能を備えた正規のメモ アプリのように見せかけられています。すっきりしたアイコンと機能的で簡素なユーザー インターフェースとなっています。

この偽装は意図的なものです。ユーザーが自ら拡張機能を開いた場合に説明どおりに動作するように見えるため、不審に思われにくくなります。この拡張機能の悪意のあるロジックは、バックグラウンドのサービスワーカー スクリプトとコンテンツ スクリプトに実装されており、UI からは完全に見えないところで動作します。

最初に大きな危険信号が灯るのは、この拡張機能を追加するときです。一般的なメモ アプリにしては過剰なセキュリティ権限とアクセス権を要求します。

  • ユーザーがアクセスするすべてのサイトにコンテンツ スクリプトを注入できる、すべての URL へのアクセス権。 
  • 閲覧履歴へのアクセス権。 
  • クリップボードの読み書き権限。 

推奨される対策

一般ユーザー向け

  1. 暗号資産取引を確定する前に、受取人のアドレスの最初の 6 文字と末尾の 6 文字を本来の送金先情報と照らし合わせて目視で確認します。可能であれば、別のデバイスで確認してください。この習慣を取り入れるだけで、クリッパー攻撃の大半を防ぐことができます。 
  2. ブラウザー拡張機能は、必ず公式の Chrome ウェブストア、Edge アドオン ストア、または同等の公式ストアからのみインストールします。インストールした覚えがないにもかかわらず、インストール済み一覧に表示されている場合は、不審な拡張機能とみなしてください。 
  3. インストール済みのすべての拡張機能に付与されている権限を確認します。メモツールがすべてのウェブサイト、閲覧履歴、クリップボードにアクセスしなければならない正当な理由はありません。 
  4. 信頼できない提供元から入手した未署名の実行ファイルは実行しないようにします。特に、有料ソフトウェアの無料版やクラック版を提供すると称するものには注意してください。悪意のあるインストーラーの典型的な配布経路になっています。 
  5. エンドポイント保護は常に最新の状態に保ち、有効にしておきます。マカフィーのお客様は以下に説明するようにこの特定の攻撃キャンペーンから保護されています。 

マカフィー セキュリティ ソリューションは、複数のレベルでユーザーの保護を支援します。

1. マカフィーはこの脅威を CryptoStealer.NE として検出し、お客様を保護

図 2. この画像ではマカフィー アンチウイルスが一般ユーザー環境でこの脅威をブロックしている。
図 2. この画像ではマカフィー アンチウイルスが一般ユーザー環境でこの脅威をブロックしている

2. 悪意のあるダウンロードからの保護

このインストーラーには、リモート ペイロードをダウンロードして実行する動作が確認されています。マカフィーはこの動作を感染が完了する前に検知し、ブロックします。マカフィーのテストではすべての悪意のあるドメインと URL がブロックされました。 

3. ネットワークの保護

マカフィーは既知の悪意のあるインフラストラクチャ (C2 サーバー) への接続をブロックし、ウォレット アドレスの取得を防ぎます。

4. リアルタイム脅威インテリジェンス

この脅威はマカフィーのテレメトリで確認されたため、次のような保護を素早く展開できます。

  • 類似の亜種のブロック
  • 関連インフラストラクチャの検出
  • 世界中のお客様の保護

脅威キャンペーンの仕組み

マルウェアの動作

  1. ブラウザー拡張機能をユーザーに気づかれないようにインストールする (ウェブ拡張機能のサイドローディング)
  2. コピーと貼り付けの内容を監視する (特に暗号資産アドレスが対象)
  3. ユーザーが暗号資産取引を行うときに動作する
  4. ウォレット アドレスを気づかれないように攻撃者のアドレスに置き換える
  5. 資金が本来の受取人ではなく攻撃者に送金される

暗号資産取引は通常、取り消すことができないため、被害者は資金を恒久的に失うおそれがあります。

図 3. 拡張機能の仕組みをまとめた図
図 3. 拡張機能の仕組みをまとめた図

確認された特徴

1. ユーザーに気づかれない拡張機能のインストール

このマルウェアは公式ブラウザー ストアを使用しません。その代わりにブラウザーのファイルを直接改ざんし、拡張機能がインストール済みとして認識されるようにします (ブラウザー拡張機能のサイドローディング)。

これにより、通常表示されるセキュリティ プロンプトを回避し、ユーザーに気づかれないまま拡張機能を読み込ませることができます。

図 4. BaseZipInstaller (悪意のあるウェブ インストーラー) が Chrome と Edge の Secure Preferences ファイルに書き込みを行っていることを示す Procmon ログ
図 4. BaseZipInstaller (悪意のあるウェブ インストーラー) が Chrome と Edge の Secure Preferences ファイルに書き込みを行っていることを示す Procmon ログ

2. ブラウザーへの包括的なアクセス

図 5. Chrome 拡張機能が要求する権限
図 5. Chrome 拡張機能が要求する権限
図 6. ウェブ拡張機能のマニフェスト ファイル
図 6. ウェブ拡張機能のマニフェスト ファイル

この悪意のある拡張機能は、次のような過剰な権限を要求します。

  • すべてのウェブサイトへのアクセス
  • 閲覧履歴の読み取り
  • クリップボードの内容の読み取りと変更

3. 暗号資産アドレスの傍受

この拡張機能には、複数の暗号資産にわたりウォレット アドレスを検知するロジックが含まれています。

図 7. ハードコードされた暗号資産の正規表現とフォールバック アドレス
図 7. ハードコードされた暗号資産の正規表現とフォールバック アドレス
  • コード内に示されているフォールバック用のウォレット アドレスは、すべての取引で使用されるわけではありません。攻撃者が管理するサーバーから動的にアドレスを取得できなかった場合のバックアップ機構として機能します。 
  • 通常の動作では、この拡張機能はリモート サーバーから置き換え用のアドレスを取得します。これにより、動的なウォレット割り当てが可能になり、被害者ごとに異なるウォレットが割り当てられる可能性があります。 
  • フォールバック アドレスが用意されているので、C2 インフラが一時的に利用できない場合やブロックされた場合でも、攻撃を継続できます。 
図 8. 悪意のある拡張機能が動的な暗号資産アドレス解決を実行するところ
図 8. 悪意のある拡張機能が動的な暗号資産アドレス解決を実行するところ
  • この関数には、被害者が本来送金しようとしていたアドレスに対応する、攻撃者が管理する置き換え用ウォレット アドレスを取得する役割があります。 
  • 傍受したウォレット アドレスを攻撃者のバックエンドに送信し、そのレスポンスを使って本来送金しようとしていたアドレスを動的に置き換えます。 
  • バックエンドへのリクエストが失敗した場合、この関数は事前にハードコードされたウォレット アドレスにフォールバックし、悪意のある活動が中断されないようにします。 
  • 3J98t1Wxxxx はクリップボードにコピーされていたアドレスです。

4検知回避とステルス性

図 9. 設定内容を示す Settings.js ファイル
図 9. 設定内容を示す Settings.js ファイル
  • 設定にはハードコードされた API キーが含まれています。このキーは攻撃者が管理するインフラとの通信を認証するために拡張機能によって使用されます。 
  • 公開ブロックチェーン ノードを指す RPC URL は、バックエンド サーバー情報を動的に解決するために利用されます。これにより、攻撃者は重要なインフラを分散型システムの背後に隠すことができます。 
  • スマート コントラクトのアドレスとメソッドが存在することから、このマルウェアはブロックチェーンへのクエリを通じて、C2 ドメインを間接的に取得していることがわかります。そのため、テイクダウンや追跡がより困難になります。 
  • ブラックリストには、ブロックチェーン分析サイトやウォレット確認サイトなどのドメインが登録されており、これらのサイト上ではこのウェブ拡張機能が動作しないようになっています。これは被害者が自分のアドレスを貼り付けてウォレット残高や取引履歴を確認する際に、不審に思われないようにするためです。
図 10. Ethereum スマート コントラクトを介した攻撃者 C2 ドメインの解決 (イーサハイディング)
図 10. Ethereum スマート コントラクトを介した攻撃者 C2 ドメインの解決 (イーサハイディング)
図 11. Ethereum コントラクト アドレスを含むリクエスト ペイロード
図 11. Ethereum コントラクト アドレスを含むリクエスト ペイロード
  • 動的解析の結果、このマルウェアはブロックチェーンのスマート コントラクトを介して C2 ドメインを解決していることがわかりました。実行時には、devops-offensive[.]cc というドメインが返されました。 
  • ブロックチェーンからのレスポンスを実行時にデコードすることで、その時点で使用されている C2 ドメイン (devops-offensive.cc) を取得します。 
  • このドメインはハードコードされていないため、攻撃者はマルウェアを変更することなくインフラを更新できます。 
  • 取得されたドメインはローカルにキャッシュされ、持続的な動作を可能にするとともに、ネットワーク クエリの繰り返しを減らします。 
図 12. この画像は悪意のあるドメインを含む長いエンコード文字列を示している
図 12. この画像は悪意のあるドメインを含む長いエンコード文字列を示している

この長いエンコード文字列は、この関数を使用してデコードされ、最終的な攻撃者ドメインが取得されます。

図 13. この画像は最終的な攻撃者ドメインを示している
図 13. この画像は最終的な攻撃者ドメインを示している

永続化と検知回避の手法

このキャンペーンの永続化と検知回避の仕組みは、意図的かつ多層的に作られています。攻撃者が、エンド ユーザーから見えにくくすること、テイクダウンや静的解析に対する耐性を高めることの 2 点を重視していることは明らかです。 

永続化

  • Secure Preferences を改ざんして拡張機能を登録するので、その後ユーザーがブラウザーを起動するたびにこの拡張機能が読み込まれます。これにより、Windows 側の永続化機構を使う必要がなくなります。これはレジストリの Run キー、スケジュールされたタスク、サービスなど、エンドポイント調査担当者が通常確認するポイントです。 
  • 必要な場合にはプログラムにより開発者モードが有効化されるので、未パッケージの (つまり、ストアを経由せずに直接読み込まれた) 拡張機能を継続的に動作させることができます。そのため、サイドローディングを抑止するために Chromium が定期的に表示する「未パッケージの拡張機能」に関する警告フローを引き起こさないで済みます。 
  • 拡張機能は、C2 ドメインをキャッシュすることで、ブロックチェーン RPC エンドポイントが一時的に利用できない場合でも、正常に利用可能であることが確認済みのバックエンドに対して動作を継続できます。 

検知回避

  • この拡張機能は表向きはシンプルな「Google Notes」というメモ アプリを装っています。インストール済みの拡張機能の一覧をざっと確認された場合も、もっともらしく見せかけることができます。 
  • 再計算した HMAC 値は、Chromium の整合性検証を満たすので、本来であればユーザーに警告を発する「不明な提供元からインストールされた拡張機能」の警告バナーを回避することができます。 
  • インストーラーは実行後に自分自身を削除し、初期侵害を示す最もわかりやすいディスク上の痕跡を消します。 
  • 公開ブロックチェーンを介して C2 を解決するため、マルウェアのバンドル自体には永続的な C2 ドメインは含まれていません。そのため、ハードコードされたインジケータに基づくネットワークベースの検知は、ドメインが解決され実際に接続されるまで作動しません。 
  • .NET と Golang という複数言語のインストーラー亜種を用いることで、コンパイル時に生成されるアーティファクトやバイナリ特徴量に基づくシグネチャの有効性を下げています。 
  • アドレスごとにウォレットを動的に置き換える仕組みにより、公開された攻撃者アドレスはすぐに古くなり、長期的に有効なブロックリスト項目としては使いにくくなります。防御側は、配布されるアドレスではなく、バックエンド サービス自体をブロックする必要があります。 

ウォレット置換ロジック

クリッパーのロジックは 2 つのレイヤーで構成されています。1 つは、アクセスしたすべてのオリジンでクリップボードの動作と DOM 入力フィールドを監視するコンテンツ スクリプト レイヤーです。もう 1 つは、置き換え用アドレスを取得するために攻撃者のバックエンドと通信するバックグラウンド レイヤーです。

この拡張機能はコピー イベントを検知すると、暗号資産ごとに用意された一連の正規表現をクリップボードの内容に適用します。一致するものが見つかった場合、傍受されたアドレスは、認証付きリクエストを通じて攻撃者のバックエンドに送信されます (この認証には設定に埋め込まれた API キーが使用されます)。バックエンドは、送信された本来のアドレスに対応する置き換え用アドレスを返します。この置き換え用アドレスがクリップボードに書き込まれ、被害者が貼り付ける前に正規のアドレスが上書きされます。

拡張機能のリクエスト形式とレスポンスのデコード ロジックを Python で再実装し、復元したバックエンド クライアントに対してテストを行ったところ、次のような特徴的な動作が確認されました。

  • Bitcoin (BTC)、Ethereum、Bitcoin Cash、Ripple、Dash:送信された各アドレスは、それぞれ固有の攻撃者管理アドレスにマッピングされます。同じ本来のアドレスを再送信すると、同じ置き換え用アドレスが返されます。このことから、サーバー側では、同じ元アドレスには常に同じ置き換え用アドレスが割り当てられる 1 対 1 のマッピングが保たれていることがわかります。 
  • Solana:送信されたすべてのアドレスが、単一の攻撃者アドレスに集約されます。このことから、被害者ごとのマッピング機能はすべてのチェーンで使われているわけではなく、一部のチェーンのみに実装されていると考えられます。

攻撃者の暗号資産ウォレットの分析

マカフィーは、置き換え用アドレスの取得を担うウェブ拡張機能のコード スニペットを基に、攻撃者のウォレット アドレスをプログラムで抽出する Python スクリプトを作成しました。ペイロードは攻撃者自身のコードを使って作成し、「置き換え用アドレスを取得する」スニペットもそのコードから直接取り出しました。また、C2 サーバーから受信したデータをデコードする攻撃者のロジックも、このスクリプト内に忠実に再実装しました。

次に、いくつかのテスト用 Bitcoin (BTC) ウォレット アドレスを使って、このスクリプトを実行しました。その結果、入力された Bitcoin アドレスごとに、異なる Bitcoin アドレスがレスポンスとして返され、返されたアドレスはいずれも有効な BTC ウォレットであることがわかりました。これは入力された BTC アドレスごとに攻撃者がその入力アドレスに紐付く新しいウォレットを動的に生成していることを示しています。さらに、同じアドレスを再入力した場合には、同じ BTC アドレスが返されました。このことから、被害者の各 BTC アドレスには、攻撃者が管理する特定の単一アドレスが常に対応付けられていることが確認されました。一部の攻撃者ウォレットには資金が入っており、空のものもありましたが、攻撃者ウォレットの総数が不明であるため、全体でどれだけの暗号資産が盗まれたのかを信頼できる形で推定することは困難です。

Ethereum でも同じ動作が確認され、入力ごとに異なるウォレット アドレスが返されました。興味深いことに、Solana アドレスでスクリプトをテストしたところ、何種類の入力を指定しても、返されるアドレスは 1 つだけでした。このことから、攻撃者はアドレスごとのマッピング機能を特定の暗号資産に対してのみ実装しており、それ以外の暗号資産では、単一の固定ドロップウォレット、つまり受け取り用ウォレットにフォールバックしていると考えられます。Solana アドレスはすべての被害者で共有されるため、その残高には目立った増加が見られます。さらに、今回特定された Ethereum アドレスの 1 つには、約 1,902 米ドル相当の資金が保管されていることがわかりました。

まとめると、被害者ごとに固有のウォレット アドレスが生成される暗号資産には Bitcoin、Ethereum、Bitcoin Cash、Ripple、Dash があります。

図 14. ペイロードは攻撃者のコードを基に作成された
図 14. ペイロードは攻撃者のコードを基に作成された
図 15. 攻撃者のコードから取り出された置き換え用アドレスを取得するコード スニペット
図 15. 攻撃者のコードから取り出された置き換え用アドレスを取得するコード スニペット
図 16. C2 から受信したデータをデコードする攻撃者のロジックも実装された
図 16. C2 から受信したデータをデコードする攻撃者のロジックも実装された

テスト用 Bitcoin ウォレット アドレスを使ってスクリプトを実行

図 17. 入力された Bitcoin アドレスごとに固有のアドレスが返され、すべて有効な BTC ウォレット アドレスであることが確認された
図 17. 入力された Bitcoin アドレスごとに固有のアドレスが返され、すべて有効な BTC ウォレットであることが確認された
図 18. 同様に Ethereum でも固有のアドレスが確認された
図 18. 同様に Ethereum でも固有のアドレスが確認された
図 19. テスト用 Solana アドレスを使ったスクリプトの実行
図 19. テスト用 Solana アドレスを使ったスクリプトの実行

幸い Solana では複数のアドレスを入力しても、取得されるアドレスは 1 つだけでしたこのことから攻撃者はこのアドレス マッピング機能を特定の暗号資産に対してのみ実装していることがわかります。

図 20. 残高が増加していることをここで確認できる
図 20. 残高が増加していることをここで確認できる
図 21. ETH アドレスには 1,902 米ドル相当の資金があることが確認された
図 21. ETH アドレスには 1,902 米ドル相当の資金があることが確認された

.NET ファイル (拡張機能インストーラー) の技術分析

図 22. BaseZipInstaller は未署名の .NET インストーラーである
図 22. BaseZipInstaller は未署名の .NET インストーラーである
図 23. dnSpy で確認された保存済みの設定
図 23. dnSpy で確認された保存済みの設定
  • このマルウェアは、完全な設定 JSON をバイナリ内に直接埋め込んでおり、初期設定データを外部ソースから取得する必要がありません。 
  • この埋め込み設定には、API キー、バックエンド サーバーの URL、標的となるウォレット拡張機能、広範な権限を含む完全な拡張機能マニフェストなど、重要な情報が含まれています。 
図 24. 実行が開始される main 関数
図 24. 実行が開始される main 関数
  • このインストーラーは、リモート ZIP アーカイブ(google-services[.]cc/base[.]zip)を取得して検証します。この ZIP アーカイブは、悪意のあるブラウザー拡張機能を展開するための主要なペイロードとして機能し、初期感染からブラウザーレベルの侵害へ移行する段階を示しています。 
図 25. base.zip としてダウンロードされたファイルを使ってシステム内の次の場所に拡張機能が作成される
図 25. base.zip としてダウンロードされたファイルを使ってシステム内の次の場所に拡張機能が作成される
図 26. 標的となるブラウザーの一覧を示す dnSpy
図 26. 標的となるブラウザーの一覧を示す dnSpy
  • このインストーラーは、Chrome、Edge、Opera、Brave など Chromium ベースの複数のブラウザーを順に確認し、システム上で利用可能なユーザー プロファイルを特定します。 
  • 検出された各プロファイルについて、マルウェアはブラウザーのプロセスを強制終了し、干渉を受けずに設定ファイルを安全に改ざんできるようにします。 
  • その後、Secure Preferences と Preferences を直接改ざんして悪意のある拡張機能を注入し、ユーザーの操作なしに拡張機能が読み込まれるようにします。 
コードを追加
  • このマルウェアは標準のシステム ディレクトリを照会してブラウザーのインストール パスを特定し、Chrome、Edge、Opera、Brave のユーザー データ フォルダーを見つけられるようにします。 
  • ブラウザー プロファイルを体系的に列挙し、その中から重要なブラウザー設定や拡張機能データを保存する Secure Preferences ファイルの有無を確認します。 
  • Secure Preferences を持つプロファイルを標的にすることで、有効なブラウザー環境のみを改ざんし拡張機能注入の成功率を上げています。 
ダウンロードされた拡張機能の詳細がこれらの設定ファイルに書き込まれる際、Chrome と Microsoft Edge の Secure Preferences ファイルに対する WriteFile イベントを確認できます
ダウンロードされた拡張機能の詳細がこれらの設定ファイルに書き込まれる際、Chrome と Microsoft Edge の Secure Preferences ファイルに対する WriteFile イベントを確認できる
図 27. Secure Preferences ファイルに再署名する攻撃者のロジック
図 27. Secure Preferences ファイルに再署名する攻撃者のロジック
  • このマルウェアは、インストール済み拡張機能とその信頼状態を制御するブラウザーの Secure Preferences ファイルを読み取り、改ざんします。 
  • 設定内に悪意のある拡張機能を注入し、改ざんされたデータに再署名しようとすることで、ブラウザーの整合性チェックに対して変更が正当なものに見えるようにします。 
  • 更新された設定はディスクに書き戻され、拡張機能が自動的に読み込まれ、ブラウザーの再起動後も継続して動作するようになります。 
図 27B. 拡張機能のパスが Chrome の Secure Preferences ファイルに追加されている
図 27B. 拡張機能のパスが Chrome の Secure Preferences ファイルに追加されている
図 28. Brave ブラウザーの防御機能を操作するロジック
図 28. Brave ブラウザーの防御機能を操作するロジック
  • Brave や Opera などのブラウザーでは、マルウェアは extensions.settings、または extensions.opsettings セクションにエントリを追加することで悪意のある拡張機能をブラウザーの設定に直接注入します。 
  • また、整合性に関連するフィールド (protection.macs) も更新し、注入された拡張機能がブラウザーから信頼済みのものとして見えるようにします。 
  • さらに、マルウェアは開発者モードをプログラムにより有効化しようとします。これにより、未パッケージの拡張機能をより少ない制限で実行できるようになります。 
図 29. 整合性値の計算に用いるデバイス ID を取得する攻撃者のロジック
図 29. 整合性値の計算に用いるデバイス ID を取得する攻撃者のロジック
  • このマルウェアは、改ざんされた Secure Preferences ファイルに対して新しい MAC (Message Authentication Code) 値を生成し、ブラウザーの整合性署名を再計算しようとします。 
  • Chrome の内部検証メカニズムを模倣するため、マシン SID などのシステム固有の識別子をシード値と組み合わせて使用します。 
  • これらの整合性チェック (macs および super_mac) を再計算することで、マルウェアは不正な変更をブラウザーに正当なものに見せかけようとします。 
図 30. 自己削除ロジック
図 30. 自己削除ロジック
  • このマルウェアには、実行が成功した後にインストーラー実行ファイルを削除するよう設計された自己削除メカニズムが含まれています。 
  • 隠しコマンド プロンプト プロセスを起動し、実行を短時間遅延させてから、元のファイルをディスクから削除します。 

まとめ

このキャンペーンは、一般消費者を標的とした暗号資産窃取が今後どこへ向かっているのかを端的に示しています。攻撃者は暗号資産マルウェアの中でも最も古く単純なカテゴリーであるクリッパーを利用して、その中でも弱点となりやすかった 3 つの要素を密かに強化しています。固定の攻撃者アドレスは、サーバー側で被害者ごとにアドレスを割り当てるマッピングに置き換えられました。脆弱でハードコードされた C2 ドメインは、ブロックチェーン経由で C2 を解決する仕組みに置き換えられました。この仕組みでは攻撃者は 1 回のトランザクションだけで C2 を切り替えることができます。そして、脆弱なドロッパーは、ユーザーが最も信頼するアプリケーションであるブラウザーの内部に常駐し、ブラウザー自身の整合性署名の下で読み込まれる Chromium 拡張機能に置き換えられました。

マカフィーは今後もこの攻撃キャンペーンと関連インフラの追跡を継続します。マカフィーのお客様は既存の検知機能により保護されています。また、新たな亜種や切り替え後のインフラが確認された場合には、テレメトリに基づくアップデートにより継続的に保護が強化されます。 

侵害指標 (IOC)

種類  カテゴリー   
SHA-256  .NET インストーラー (BaseZipInstaller)  2735e12030c195fb5454e4736c51b55b59664b93cae9f4bd5317afcd9c2af0bf  053620962047f50a91c6e8d1a6519eccc41fab51473f033086b4d816abe8bcb0   
SHA-256  Golang でコンパイルされたインストーラー亜種 11be4c47ff049322de41743f62544cafd32d67e24ad653b7ebedf8ebd63e0962    1432393691b415d0cd4680d9cee73e60896fbe63300d9f0355c96e91817e4b1d   
URL  ペイロード配布  hxxps://google-services[.]cc/base[.]zip 
ドメイン  C2 (スマート コントラクト経由で解決)  devops-offensive[.]cc  Zebregts[.]com 
BTC ウォレット  暗号資産ウォレット  3JvDBvKbS6YYMKjV3R9e9Zfd67f467fNLy  1BbhVBxpniuZuAL1gGZnEMdQhmz9JGWpyT  3AcPNVh7NyESwX3ECymy3rkdH4Ke2c26Tj  1BVTrB47erypG3tevi1U9Fv6BbNUBEiuiX 
アーティファクト サイドロード対象 Chromium の Secure Preferences ファイル (Chrome、Edge、Brave、Opera のプロファイル)
拡張機能ファイル manifest.json   crypto-patterns.js    Interceptor.js    content-script.j     cache.js     domain-resolver.js    service-worker.js    api-client.js  ed2599d6a8f30d5eaf14ad7f855aece0acdf7efa4a148eb18e4d9f0d8e2cd90c   daf82c67e8e5df6bbd5370172ac9374aa7dce48af05496e8ec3dba7b602c619b   6eb2f07265dd95cacd39dfcf0705786b97f3e173cf4e9b3dfe7bad141c9a9dd5    a2ffdbedc5c9f5400a2b1cf5d35f5ec1df06a74d0345f1035bcf75d36ed73e01     eb84ba4a0cd95655a021865d4fec93ae3393f86cc9848810ed0b49035b1c5e2c   6aaba685669d779ef8be8f7f4231096cfafd0ef386f3897c5e2106c177724fc8     2599064901308a97540af29197ed0b38702bbee38d6dbbfa61cf9eb5878353f3   ab450927b37e1b68e2be68832c354ac600e86e2545a904d4ca0ea283f2600cc2    
マカフィー+のご紹介

ID保護機能とデジタルライフにおけるプライバシーを保護します。

FacebookLinkedInTwitterEmailCopy Link

最新情報を入手する

フォローして、マカフィーに関する最新情報を取得して消費者やモバイルのセキュリティ脅威について理解しましょう

FacebookTwitterInstagramLinkedINYouTubeRSS

以下からの詳細: インターネット セキュリティ

Back to top