Cybereason GSOCは、以前に報告されたGenesis Marketの悪意あるキャンペーンと強い類似性を示すマルウェア感染を確認しました。Genesis Marketとは、2023年初頭に法執行機関により閉鎖された闇市場です。

現在の状況

  • Cybereason Security ServicesはLummastealerの活動を調査しています。
  • Lummastealerは、最終的なペイロードとしてGenesis Marketの悪意あるブラウザ拡張機能をドロップします。
  • Genesis Marketの悪意あるブラウザ拡張機能は、感染した端末に独自のJavaScript(JS)スクリプトをインストールして実行します。
  • これらのスクリプトは、被害者のデバイスから重要な情報を体系的に収集するように設計されています。
  • これらの収集されたデータは、Genesis Marketのマーケットプレイス内にあるボットに一貫した情報が提供されることを保証します。

Genesis Marketとは

Genesis Marketは2018年3月にデビューした闇市場であり、世界中の約150万台のハッキングされたコンピューター上にあるデータへのアクセスを容易にし、8000万件以上の盗まれたアカウントアクセス認証情報を提供してきました。Genesis Marketで販売されていた認証情報には、金融セクター、重要インフラ、さまざまなレベルの政府機関に関連するものが含まれていました。Genesis Marketは、ランサムウェア攻撃者が民間組織を含む米国内の多くの企業や組織を標的にするために使用してきたタイプのアクセス権を提供してきました。

Genesis Marketは、アクセス認証情報、窃取したアカウントの宣伝および販売を行う、不正なオンラインプラットフォームです。これには、マルウェアに感染した世界中のコンピューターから入手した、電子メール、銀行情報、ソーシャルメディアのユーザー名やパスワードなどが含まれています。

Genesis Marketはユーザーフレンドリーをモットーに設計されており、個人が場所とアカウントの種類(銀行情報、ソーシャルメディア、電子メールなど)に基づいて窃取された認証情報を検索できるようになっていました。Genesis Marketは、認証情報へのアクセスに加え、デバイスの「フィンガープリント(指紋)」も提供していました。フィンガープリントとは、デバイス識別子とブラウザクッキーの明確な組み合わせであり、これを使うことで多くのWebサイトの不正防止策を回避できます。これにより、購入者は被害者になりすまし、サードパーティのサイトを欺くことで、自らが実際のアカウント所有者であると彼らに思わせることができます。

Genesis Marketは、225カ国を超える世界中のユーザーを保持していました。連邦法執行機関は、詐欺やその他のサイバー犯罪を行うために、窃取された認証情報を購入して利用していたユーザーを特定していました。この取り組みにより、米国内のFBIや国際的な法執行機関に数百件の手がかりがもたらされました。この取り組みの一環として、「Operation Cookie Monster」として知られる作戦により、当局はウィスコンシン州東部地区連邦地方裁判所の許可した令状に基づいて、Genesis Marketのインフラから重要な11件のドメイン名を押収しました。

重要なポイント

Genesis Marketの悪意ある拡張機能は、次のような動作を実行します。

  • Chrome、Opera、Brave、Microsoft Edgeなどのブラウザを標的とします。
  • ブラウザのデータを収集し、C2サーバーに送信します。
  • リバースプロキシ(ws://:4343)をセットアップします。
  • ブロックチェーントランザクションを使用してC2サーバーのドメイン名を解決します。

この拡張機能は、次のようなブラウザデータにアクセスすることが知られています。

  • ブラウザのクリップボードデータ
  • クッキー
  • 履歴
  • 現在開いているタブ
  • メールデータ(outlook.live、mail.yahoo、mail.google)
  • クリッパーデータ
  • YouTubeチャンネルのデータ
  • 暗号資産取引所および暗号資産ウォレット
  • Coinbaseウォレット
  • Facebook決済データ
  • Google Pay
  • インストールされた拡張機能
  • ユーザーエージェントのデータ
  • 指定の時間間隔でキャプチャされたブラウザページのスクリーンショット
  • ファイルシステムデータ

分析

■概要
サイバーリーズンは、Lumma Infostealerの活動の一部として、Genesis marketの悪意あるブラウザ拡張機能のペイロードを検知しました。


▲Genesis Marketの悪意あるブラウザ拡張機能に関連する攻撃フロー

Lumma Infostealerグループは、この攻撃の一環としてセットアップ/インストーラーを使用します。被害者は、ソーシャルエンジニアリング/フィッシングサイトから初期ペイロード(Zipファイル)をダウンロードします。このZipファイル(例:v6.20.0_installer_x64_.zip)には、MSIファイル(例:app__v6.20.0_.msi)が含まれており、同ファイルは下記のファイルと共にパッケージ化されています。
‒ 実行ファイル(例:nvidia geforce experience.exe)
‒ アーカイブファイル(RAR形式)

このRARファイルには、第2段階のLummaStealer DLLが含まれています。MSIのインストール時(msiexec.exe経由)に、インストーラーは同梱されている実行ファイル(例:nvidia geforce experience.exe)を起動した後、次の操作を実行します。

  • DLLサイドローディングやDLLホローイングなどの手法を使用してLummaStealer DLLをロードします。
  • 下記のスクリプトを実行する子プロセス(powershell.exe)を生成します。
  • このスクリプトは、C2ドメイン(例:root-head[.]com)に接続した後、Base64でエンコードされた第3段階のペイロード(2709.bs64)を取得します。


▲Base64でエンコードされた悪意あるブラウザ拡張機能をダウンロードするPowerShellスクリプト

復号化された第3段階のペイロードは、難読化の追加レイヤーを持つPowershellスクリプトとなります。


▲攻撃ツリー

この復号化されたPowerShellスクリプトは、悪意あるGenesis Marketブラウザ拡張機能を導入した後、攻撃者が管理するC2ドメインにユーザーデータを送信します。

■Base64でエンコードされたPowershellスクリプトの分析
このPowerShellスクリプトは、Chrome、Microsoft Edge、Opera、Braveなど、複数のブラウザに悪意あるブラウザ拡張機能をインストールしようと試みます。インストール手順は次の通りです。

  • Chrome、Microsoft Edge、Opera、Braveのブラウザプロセスを起動します。
  • 新しいフォルダを作成し、Javascriptをインストールします。
  • JSONファイル「Secure Preferences」を変更し、ブラウザの再起動時に拡張機能が自動的に有効になるようにすることで、パーシステンスを実現します。
  • 具体的には次のディレクトリを標的とします。
    ‒ Google\Chrome\User Data
    ‒ BraveSoftware\Brave-Browser\User Data
    ‒ Microsoft\Edge\User Data
    ‒ Opera Software\Opera Stable
  • この拡張機能は、次のようなデータにアクセスする権限(Active/Granted)を持っています。

この拡張機能は、すべてのURLにアクセスするように設定されています。

この拡張機能へのパスは次の通りです。

javascriptのペイロードはBase64でエンコードされたデータとして保存されます。Powershellスクリプトはこのデータを復号化した後、拡張機能をインストールします。このBase64でエンコードされたデータには、下記に示すJavascriptファイルが含まれています。



■ブラウザ拡張機能の分析
この悪意あるブラウザ拡張機能は、「Save to Google Drive (Google Driveに保存)」という拡張機能をインストールし、WebコンテンツやスクリーンキャプチャをGoogle Driveに直接保存します。拡張機能のバックグラウンドページでスクリプト(/src/background.js)を実行するために、バックグラウンドキーが定義されています。

ブラウザのドキュメントオブジェクトモデル(DOM)にアクセスするために、下記のレスポンスヘッダが削除されます。

  • Content-security-policy:クロスサイトスクリプティング(XSS)攻撃を軽減する。
  • Content-security-policy-report-only:Web開発者がCSP違反レポートを送信できるようにする。
  • X-webkit-csp:WebKitベースのブラウザ向けのコンテンツセキュリティポリシー。
  • X-frame-options:クリックジャッキング攻撃からサイトを守る。

■Javascriptの分析

src\background.js

現在のブラウザセッション向けに新しいアラームを作成します。これらのブラウザアラームは、指定された時間にコードを実行するように設計されています。下記のアラームは、C2サーバーと接続するために作成されたものです。

  • checkCommands
  • checkProxy
  • updateDomain
  • checkInjections

また、他のjavascriptファイルを通じて多くの関数を呼び出します。

src\content\clipboard.js

システムクリップボードのテキスト内容をコピーし、指定されたテキストをシステムクリップボードに書き込みます。

src\content\main.js

Google Pay、YouTubeチャンネル、暗号資産ウォレット(暗号資産取引所)、Facebook Pay(Meta Pay)などのソースからデータを取得します。設定した時間間隔でスクリーンショットをキャプチャし、スクリプトを実行します。


▲main.jsのコード断片

src\fi nder\extract.js

ディレクトリからファイルをプルし、その詳細を調べ、ファイルストリームを読み込みます。

src\fi nder\helpers.js

端末ユーザーのリストを照会し、新しいユーザーを「C:/Users/」内に作成します。
取得したデータをコンパイルしてZIPファイルを作成した後、同ファイルをサーバー「hxxps://true-lie[.]com/api/machine/set-fi les-v」へと送信します。


▲true-lie[.]comへのPOSTリクエスト

src\fi nder\traverse.js
ディレクトリ内のファイルを検索し、ファイルシステム内にあるファイルやフォルダを調査します。

src\functions\commands.js

攻撃者のURL「Attackerdomain/machine/commands?uuid=uuid」からコマンドを取得します。

発行されるコマンドは次の通りです。

  • Extension:setEnableExtension、initMachine関数を呼び出します。
  • Info:getInjections、getSettings、initMachine関数を呼び出します。
  • Push:createNotifiation関数を呼び出します。
  • Cookies:ブラウザからすべてのクッキーを取得します。
  • Url:openUrlを呼び出します。
  • Current_url:getCurrentTabを呼び出します。
  • History:getHistory を呼び出します。
  • Injects:getInjectionsを呼び出します。
  • Clipper:getClipperDataを呼び出します。
  • Settings:getSettingsを呼び出します。
  • Proxy:setIsEnabledを呼び出してプロキシを有効にします。
  • Screenshot_rules:getScreenshotRulesを呼び出します。

コマンド出力は、POSTメソッドを使って攻撃者へと送り返されます。


▲POSTリクエスト

src\functions\csp.js

コンテンツセキュリティポリシー(CSP)を無効化します。CSPは、クロスサイトスクリプティング(XSS)やデータインジェクション攻撃の検知に役立ちます。

src\functions\domain.js

C2ドメインはブロックチェーン取引を使用して解決されました。その結果、次のC2ドメインが検知されました。

bc1q4fkjqusxsgqzylcagra800cxljal82k6y3ejay – gzipdot[.]com

リンクのサンプル:
■hxxps[:]//mempool[.]space/api/address/bc1q4fkjqusxsgqzylcagra800cxljal82k6y3ejay/txs
■hxxps[:]//” + _0x41d66f[_0x1c70b5] + “/api/machine/sign?d=


▲C2ドメインの解決

src\functions\exchangeSettings.js

攻撃者のドメインからデータを取得し、Coinbase Exchange/Coinbase Walletウォレット、Facebook Pay(Meta Pay)のページ、Youtubeチャンネルのページ、Google Payのページを悪用します。

src\functions\extensions.js

インストールされているアプリ/拡張機能を照会し、悪意ある拡張機能を有効にします。

src\functions\getMachineInfo.js

マニフェストに基づいてアプリまたは拡張機能に関する情報を提供し、特定のクッキーストアからすべてのクッキーを収集し、現在のブラウザ、ホストオペレーティングシステム、ハードウェアセットアップに関する詳細情報と共に、ユーザーエージェント文字列を収集します。

URL「Attackerdomain/machine/init」にPOSTリクエストを送信します。


▲端末のCPU、メモリ、OSに関するデータの取り出し

src\functions\injections.js

インジェクションデータを攻撃者のURL「domain/machine/injections?uuid=”uuid”」から取得します。

すべてのアクティブなウィンドウの詳細情報を収集した後、次のURLと一致するかどうかを検証します。

  • payments.google
  • adsmanager.facebook.com
  • hxxps://accounts.google.com
  • hxxps://consent.youtube.com


▲Google/Youtubeアカウントへのアクセス

src\functions\notifi cations.js

カスタム通知と新しいタブを作成します。

src\functions\proxy.js

startProxy( )とstopProxy( )関数間で切り替えを行います。新しいWebSocketオブジェクトが作成され、リバースプロキシ(ws://:4343)への接続が確立されます。WebSocketオブジェクトは、ユーザーのブラウザとサーバー間の通信セッションを作成します。


▲リバースプロキシ

カスタムHTTPリクエストは、ヘッダ、シークレットトークン、クッキーを調整することで作成されます。最後に、HTTPリクエストはURL「/redirect-hack.html?id=」に送られ、同リクエストは「redirect-hack.html」経由で攻撃者ドメインへとリダイレクトされます。

src\functions\screenshot.js

指定したウィンドウ内にある現在アクティブなタブの可視領域のスクリーンショットをキャプチャします。

src\functions\settings.js

拡張機能の設定は、攻撃者のURL「domain/machine/settings」から取得されます。

src\functions\tabs.js

現在のタブに関するすべての情報を収集し、指定されたURLで新しいタブを開き、ブラウザの履歴をプルします。


▲タブや履歴に関するデータ

src\mails\gmail.js
outlook.live、mail.yahoo、mail.googleなどのプラットフォーム上で、現在のページから(件名、メールアドレス、表示されている各メールの内容をプルすることにより)メールデータを収集します。認証用の確認コードを含むメールをスキャンすることで、2要素認証を回避します。


▲認証用の確認コードを含むメールを検索

サイバーリーズンによる推奨事項

  • 感染した端末を隔離した上で、同端末の再イメージ化を行うこと。
  • 当該ホストに関連付けられているすべてのパスワードを更新すること。
  • PowerShellスクリプトをコピー&ペーストするよう促す、偽のCAPTCHAページや「Click Fix」攻撃の手口に関する情報をユーザーに知らせること。
  • Lumma infostealerのC2ドメインをファイアウォールのアウトバウントブロックリストに追加すること。

【調査結果資料】セキュリティ対策に関する調査結果レポート(2024年1月実施)

サイバーセキュリティ担当者を対象に、製品・体制・人材など各社が取り組んでいるセキュリティ対策の状況の実態を調査するため、昨年に続き2024年1⽉に「セキュリティ対策に関するアンケート」を実施しました。

他社がどういった対応をしてるかを把握していただき、今後のセキュリティ対策の強化に役立てていただくため、調査結果を資料にまとめました。ぜひご活用ください。
https://www.cybereason.co.jp/product-documents/survey-report/11921/