暗号資産ウォレットを装う悪意あるFirefox拡張機能16件、シードフレーズと秘密鍵を窃取

暗号資産(仮想通貨)ウォレットになりすました悪意あるFirefox拡張機能16件が見つかりました。これらはウォレットのインポート時に、リカバリーフレーズと秘密鍵を盗み取ります。

拡張機能は、ウォレットのポータルやデスクトップ用ユーティリティ、ブラウザーツールを装っています。盗んだ情報は、攻撃者が管理するCloudflare Workersへ送信しようとします。

Socketが10月7日に公表したレポートによると、Mozillaは2026年10月5日までにこれらの拡張機能を公開停止にしました。

16件のうち15件は、情報を収集する機能が有効な状態です。残る1件は実装上の不具合があり、通常の窃取手順が機能しません。

すべてのマニフェストが、データ収集の権限を「none」と宣言しています。これは、認証情報を送信するコードがパッケージに含まれている事実と矛盾します。

Earna CS Degree

Rabbyのクローンは「Raabby WaIIet」という紛らわしい名称を使っています。いずれも1,114個のファイルで構成され、ウォレットのキーリング、インポート画面、トランザクション用インターフェース、Webpackのコンポーネントなどを含みます。

正規のウォレット機能を数多く備えているため、単体のフィッシングフォームよりも悪意ある追加部分が目立ちません。公式のRabbyへのリンクや、そのまま残されたDeBankの素材も、なりすましの信ぴょう性を高めています。

background.jsには、self._lvというヘルパーが仕込まれています。このヘルパーは、12語または24語のリカバリーフレーズと、64文字の16進数の秘密鍵を受け付けます。

攻撃者はimportPrivateKeyやcreateKeyringWithMnemonicsなどの処理の後に呼び出しを挿入しました。これにより、ウォレットが受け取るのと同じ機密情報を取得しつつ、正規の処理もそのまま継続させています。

977.jsに追加されたフックも、フロントエンドのインポート経路から機密情報を収集します。

Socketの研究者らが特定したところ、このキャンペーンは、改変されたRabby Walletアプリケーション4件と、OKX由来のインターフェースを使う小型の拡張機能12件で構成されています。

悪意あるFirefox拡張機能16件

窃取された値は、HTTPSのGETパラメーターに載せてsilent-wind-get.icy-star-f45c[.]workers[.]devへ送信されます。

すべてのマニフェストがFirefoxのデータ収集権限をnoneと宣言しています。しかし、ウォレットのリカバリー情報を処理して送信するコードの存在と食い違っています。

リクエストには、パラメーターwに生の機密情報、キャンペーンの識別子EQOx7EIPZSNi、フロントエンドとバックグラウンドのどちらで収集したかを示すアクションが含まれます。

fetchリクエストが失敗すると、XMLHttpRequestによるフォールバックが働きます。機密情報をURLに含める方式は、リクエストログを通じて情報が漏えいするおそれもあります。

小型の拡張機能は、OKX風のコンポーネントと公式OKXのヘルプリンクを備えた「Portal WALLET」のオンボーディング画面を表示します。

React製のフロントエンドは、入力されたフレーズがちょうど12語または24語であることを確認してから、そのフレーズを添えてSEED_PHRASE_IMPORTを送出します。

有効なバックグラウンドハンドラーは、このメッセージと、旧来の別名WALLET_SYNCを受け付けます。その後、暗号化されていないフレーズをHTTPSリクエストに載せて送信します。

大半の拡張機能は、フィールドa、s、k、wを含むJSONをPOSTで送ります。別のハンドラーはnavigator.sendBeaconとfetchのPOSTを実装し、さらに画像ピクセルのGETをフォールバックとして備えています。

コード内のコメントには、デバイスの外へ出るのはハッシュと語数だけだと書かれています。しかし実際のペイロードには生のフレーズが明確に含まれており、ハッシュは重複排除にしか使われていません。

不具合のある[email protected]のバージョン2.1は、background.jsを読み込むためのマニフェスト宣言がありません。フロントエンドと同梱のハンドラーとで、メッセージの種類も一致していません。

このためSocketは、悪意と実行能力を区別して扱っています。このサンプルは、通常の手順で窃取に成功するものとは数えていません。

共通のコードやWorkerのインフラ、キャンペーンの識別子から、これらのパッケージはSocketが8月に調査した事案と結びつきます。この事案では関連する拡張機能77件を追跡し、40件を悪意あるものと確認しました。残る37件は、スポーツのスコアを表示する体裁だけの偽の拡張機能でした。

Socketは、今回の攻撃は一連の活動の継続だと高い確度で判断しています。ただし、特定の攻撃者名は確定していません。

防御側は、レポートに掲載された拡張機能の一覧と痕跡情報(IoC)を参照できます。あわせて、共通のハッシュや識別子を探索し、特定されたWorkerのエンドポイントをブロックすることが推奨されます。

テレメトリーでは、盗まれた機密情報が二重に記録されないよう、wの値を伏せ字にしてください。正規のRabbyやDeBankのドメインは、このキャンペーンの痕跡ではありません。また、広範な権限があるだけでは、ほかの閲覧データも窃取されたとは断定できません。

機密情報を入力してしまったユーザーは、該当するウォレットが侵害されたものとして扱う必要があります。拡張機能を削除し、安全な環境で新しいウォレットを作成したうえで、資産をただちに移してください。

拡張機能のパスワードを変更しても、流出したリカバリーフレーズや秘密鍵を無効にすることはできません。

IOC(侵害指標)

カテゴリ 指標
キャンペーンのコード識別子 EQOx7EIPZSNi
キャンペーンのコード識別子 Raabby WaIIet
キャンペーンのコード識別子 SEED_PHRASE_IMPORT
キャンペーンのコード識別子 WALLET_SYNC
ネットワーク指標 hxxps://silent-wind-get[.]icy-star-f45c[.]workers[.]dev/
ネットワーク指標 hxxps://small-boat-969c[.]icy-star-f45c[.]workers[.]dev/
ネットワーク指標 hxxps://green-firefly-ab28[.]icy-star-f45c[.]workers[.]dev/
ネットワーク指標 hxxps://flat-wildflower-f954[.]fondationanimalaidrelief[.]workers[.]dev/

注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりしないよう、意図的に無害化(例:[.])しています。元の形式に戻すのは、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンスのプラットフォーム内に限ってください。

影響が出る前にサイバー脅威を阻止し、MTTRを21分短縮。ANYRUNのサンドボックスをSOCに導入。

AuditSecurity

翻訳元: https://gbhackers.com/16-malicious-firefox-extensions/

本記事は gbhackers.com の記事を翻訳・要約したものです。