サイバー脅威
攻撃者集団「SHADOW-WATER-063」が運用するバンキングマルウェア「Banana RAT」の内部構造:ビルドサーバから金融詐欺まで
TrendAI™のMDRチームは、C&Cサーバ側の攻撃ツール群や感染端末側のテレメトリを分析した結果、バンキングマルウェア「Banana RAT」を運用する攻撃者集団「SHADOW-WATER-063」の運用形態を明らかにしました。本ブログ記事では、これらのテレメトリを相関分析して得られた知見について解説します。
目次
- 概要
- バンキングマルウェアの運用形態:C&Cサーバ側と感染端末側のコンポーネントを相関分析
- 初期侵入
- 実行処理
- 検出回避
- 不正活動の永続化
- コマンド&コントロール
- 攻撃者集団「SHADOW-WATER-063」に関わる帰属
- 回収した攻撃ツール群で確認された攻撃者集団の痕跡
- 標的分析:排他的にブラジルを攻撃対象に
- 既知のサイバー犯罪者集団との類似性
- 攻撃者集団「SHADOW-WATER-063」の目的:金融詐欺の実行
- まとめ
- セキュリティ上の推奨事項
- TrendAI Vision One™によるプロアクティブセキュリティ
- TrendAI Vision One™ スレットインテリジェンス
- スレットハンティングクエリ
- 侵入の痕跡
- 参考記事
- TrendAI™のMDRチームがある侵害事例を調査した際、攻撃者側のインフラや感染端末上のテレメトリを相互に関連付けることで、弊社が「SHADOW-WATER-063」として追跡調査している活動区分(暫定攻撃者集団)に帰属するバンキングマルウェア「Banana RAT」の運用形態を明らかにしました。
- C&Cサーバから回収した攻撃ツール群や感染端末上で確認されたペイロードなどのアーティファクト(成果物)を相関分析した結果、多態性(ポリモーフィック)エンジンによるペイロード生成、段階的な配信フロー、メモリ内実行、C&Cサーバとの暗号化通信に至るまで、攻撃チェーン全体を再現することができました。
- 同グループは、Banana RATに対して多層的な難読化、AES方式によるペイロード暗号化、PowerShellを用いたファイルレス実行などを採用し、セキュリティ機能による検知や永続化制御を回避させていました。
- Banana RATが実行されるとオペレータ(攻撃者)は、リモート入力制御、キー入力操作情報の窃取、画面のリアルタイム監視、即時決済システム「Pix」向けQRコードの傍受・改ざんなど、様々な不正活動が可能になります。
セキュリティ管理者は、感染端末上に残る限定的な可視性を頼りに、サイバー攻撃の全体像を繋ぎ合わせて推測せざるを得ないことが多々あります。ただし、ブラジル国内で実稼働していたバンキングマルウェアの攻撃キャンペーンを調査中に弊社MDRチームは、C&Cサーバ側と感染端末側のテレメトリを双方から入手することができました。脅威調査の多くは、感染端末側から分析を開始する一方で、本事例では、攻撃者のインフラから直接回収したC&Cサーバ側の攻撃ツール群と、侵害されたホストコンピュータから取得した感染端末側のテレメトリを相関分析することで、珍しい調査視点を得ることができました。結果として、ブラジル国内の金融機関のみを狙う金銭目的の攻撃者集団が展開していた攻撃チェーン(バンキングマルウェア「Banana RAT」を含む)の全容が明らかとなりました。
また、本調査の一環としてTrendAI™は、ブラジル銀行連盟(FEBRABAN)と協業して脅威インテリジェンスを共有するとともに、ブラジル国内の金融機関・ユーザ保護対策支援に取り組んでいます。
- 配信手口: 攻撃者は、メッセージアプリ「WhatsApp」や悪意あるドメイン「convitemundial2026[.]com(フィッシングURLとみられる)」を介して電子請求書をダウンロードするようユーザを誘導し、実際には、悪意あるバッチファイル(Consultar_NF-e.bat)を配信していました。このドメインは、本攻撃キャンペーンでのみ確認されたものです(本稿執筆時点)。
- 段階的な実行処理: 実行されると悪意あるバッチファイルは、難読化されたコマンドをPowerShell上で起動し、第二段階のペイロード(msedge.txt)を密かにメモリ上に取得して実行します。この処理により攻撃者は、復号されたファイルがディスク上に残らないようにしていました。
- msedge.txtで確認された特筆すべき不正活動: オペレータは、msedge.txtを遠隔制御し、監視モジュールとして機能させていました(具体的には、画面のリアルタイム配信、C&Cサーバを介したリモート入力制御、金融機関を模した偽ウインドウの最前面表示、Pix向けQRコードの傍受・改ざんによる不正取引、キー入力操作情報の継続的な窃取などが確認されました)。これらを組み合わせることで、対話的に認証情報を窃取したり、不正取引を実行したりしていました。
- 帰属(アトリビューション): オペレータがブラジル・ポルトガル語話者であること、攻撃手口がTetrade(ブラジル国内で確認された別のバンキングマルウェアファミリ)のものと酷似していること、ブラジルに拠点を置く16行の金融機関のみを狙っていること、ブラジル市場でのみ利用されている即時決済システム「Pix」向けのQRコードを傍受・改ざんするサブシステムを採用していることから、高い確信度での帰属判断が可能となります。
バンキングマルウェアの運用形態:C&Cサーバ側と感染端末側のコンポーネントを相関分析
弊社MDRチームは本調査で、攻撃者のインフラ(C&Cサーバ)から攻撃ツール群を、侵害された端末からマルウェアを回収することができました。両側面のデータを同時に取得できる事例は稀であり、これにより推測ではなく、攻撃者の運用形態の全容を詳細に紐解くことが可能となりました(図1)。また、各コンポーネントを相互に関連付けた図2では、攻撃者の運用形態を一つの画像にまとめています。図の左側には攻撃者が制御するコンポーネント群を、右側には感染端末上で確認された実行処理の流れを、中央には信頼境界を示す垂直の区切り線を配しています。
オペレータは、PowerShellで作成されたバンキングマルウェアのマスターソースファイル(msedge.txt)を難読化されていないクリーンな状態でC&Cサーバ上に保持していました。ただし、このソースファイルがそのまま配信されることはありませんでした。代わりにオペレータは、同ファイルをFastAPIで構築されたクライプタサービスに投入して多層的な難読化やAES-256(CBCモード)によるラッピングを施すことで、一意かつ多態的なビルドを生成していました。さらにダウンロードリクエストに即応できるよう、生成されたビルドをC&Cサーバ上に100〜200個常時保持する運用形態を取っていました。payload.phpとして配信されるこれらのビルドは、潜在的な被害者(ユーザ)からのリクエストごとに正確に一つだけ消費され、「バイト単位で異なる一意のハッシュ値を持つよう設計されていました。これとは別にオペレータは、分析ダッシュボード(stats-view.php)を用いてWebサーバのログを収集し、攻撃キャンペーンの影響範囲(国、ISP、オペレーティングシステム(OS)、感染端末など)をリアルタイムに可視化できるようにしていました。
ユーザ端末上で悪意あるバッチファイルが実行されると一連の不正活動が開始されます。実行されたバッチファイルは、PowerShellを起動し、オペレータの制御する1台目のC&Cサーバから軽量なスクリプト(ステージャ)をダウンロードします。配信されたステージャは、自身のコンソールウインドウを非表示にした上で、オペレータの制御する2台目のC&Cサーバからpayload.phpをダウンロードした後、誰でも書き込み可能なパス(world-writable path)に一見無害なファイル名を付与して保存します。続いて対象ファイルをメモリ上に読み込み、埋め込まれた復号鍵とIV(初期化ベクトル)を用いてAES方式で暗号化された本体を復号します。そして復号された本体(平文)は、ScriptBlock::Createを用いてファイルレスに実行されます。このファイルレス処理によりオペレータは、復号されたバンキングマルウェア本体がディスク上に書き込まれることを防いでいます。メモリ上に展開された本体は、感染端末内で不正活動を永続化させるほか、443番ポートを介してC&CサーバとのTCPセッションを開始します。その後、オペレータからのコマンド受信、窃取したデータの外部送出、要望に応じて正規金融機関を模した偽ウインドウの最前面表示などの不正活動を実施していました。
C&Cサーバと感染端末の双方をまたぐ通信活動は、一か所でのみ確認されました。それは、第一ステージャ(st.txt)から第二段階のペイロード(payload.php)に対して送信される単一のHTTP GETリクエストです。これは、図2の相関図において信頼境界をまたぐ唯一の通信経路であり、オペレータの制御するデータが、感染端末側で実行処理へと変換される瞬間を表しています。オペレータは、ペイロード生成インフラとC&Cサーバインフラを意図的に切り離すことで、一定の耐障害性(レジリエンス)を確保していると考えられます(これは図2において、これ以上の境界の交差がないことからも確認できます)。仮にペイロード生成インフラに停止措置(テイクダウン)が実施された場合でもオペレータは、既にBanana RATに感染させた端末に影響を与えることなくC&Cサーバとの通信を継続できる構造を維持しています。一方で、C&Cサーバとの通信が妨害された場合でも、以後展開する攻撃キャンペーンで用いるペイロード生成インフラには影響が及ばない設計となっていました。
セキュリティ管理者側の視点では、このインフラ構造(ジオメトリ)は「どのポイントで対策を講じることが最も効果的か」を明示しています。ネットワーク境界(ペリメータ)において、信頼境界をまたぐ唯一の通信経路を遮断することで、新規感染の発生を抑止することができます。一方で、既に侵害された端末を復旧するには、図2の相関図には含めていない「C&Cサーバとの通信経路(ステージャ)」に対する対応が必要となります。
初期侵入(Initial access)
本調査で弊社MDRチームは、ブラジルに拠点を置く金融機関のユーザを標的とする可能性のある攻撃キャンペーンを確認しました。取得したテレメトリに基づき、ユーザは、攻撃者の誘導手口により、電子請求書(Consultar_NF-e.bat)に偽装された悪意あるバッチファイルをダウンロードしていました。「NF-e(Nota Fiscal Eletrônica)」という正規電子請求書の名称を悪用した誘導手口は、ビジネス環境を標的としたフィッシングキャンペーンで確認されているもので、オペレータがブラジル国内の電子請求書システムを用いる企業ユーザを狙っていることを示唆しています。
- イベントサブID(eventSubId):603 - TELEMETRY_INTERNET_DOWNLOAD
- ダウンロードされたファイル:C:\Users\<ユーザ>\Downloads\Consultar_NF-e[.]bat
- ダウンロード元URL:hxxps://convitemundial2026[.]com/Consultar_NF-e[.]bat
実行処理(Execution)
ステージャ(バックドア「st.txt」 / トロイの木馬「st.php」)
ユーザが悪意あるバッチファイルを実行すると、第一ステージャ(490バイトのPowerShellコードスニペット「st.txt」)が起動します。実行された第一ステージャ(st.txt)は、まずuser32.ShowWindowを用いてコンソールウインドウを非表示にし、C:\Users\Public\Documents\が存在しない場合は、新たに作成します。次にNet.WebClient.DownloadFileを用いてhxxp://24[.]199[.]90[.]58/payload[.]phpから第二段階のPowerShellコードをダウンロードした後、新たに作成されたScriptBlockのIEX(Invoke-Expression)を介して実行します。st.txtよりファイルサイズの大きい亜種(st.php)においては、プロキシ環境やコンテンツフィルタリングを通過する際の確実性を高めるためにStart-BitsTransferを用いてダウンロード処理を実行させ、失敗した場合は、フォールバック(代替処理)としてWebClientを用いるよう設計されていました(図3)。
一意のビルドを生成する多態性エンジン(分析パネル)
多態性エンジンは、ユーザがペイロード生成インフラ(2台目のC&Cサーバ)にリクエストを送信するたびに、FastAPIで構築された分析パネルを介して事前生成された一意のハッシュ値を持つビルド(payload.php)をプールから1つだけ配信する仕組みとなっていました。仮にプールが枯渇した場合でも、1秒以内に新たな一意のビルドを自動生成する機構が実装されていました(図4)。こうして配信されるペイロードはすべて、変数名、関数名、.NETにおける型名の断片化、注入されるジャンクコード、XORキー、AES方式で暗号化されたコードブロブに至るまで、各構成要素が異なっていました。これによりオペレータは、配信されるすべての検体(ポピュレーションスケール)において、ファイルハッシュに基づくシグネチャベースのセキュリティ検知を実質的に回避可能な状態にしていました(図5)
実行されるとスクリプトは、テキスト文書に偽装されたペイロード(msedge.txt)を作成します。作成されたペイロードは、PowerShellを介して第二段階の悪意あるコードを段階的に配信・実行するために用いられます。
なお、ペイロードの配置先はC:\Users\Public\Documents\msedge.txtでした。
PowerShellスクリプトペイロード(msedge.txt)の分析結果
回収された検体を分析した結果、このPowerShellスクリプトは、金融機関を標的とする遠隔操作ツール(RAT)を配信することが判明しました。配信されたRATからは、様々な機能が確認されました(画面のリアルタイム配信、リモート入力制御、キー入力操作情報の窃取、クリップボードの改ざん、金融機関を模した偽ウインドウの最前面表示、ファイルの外部送出、C&Cサーバとの暗号化通信、SYSTEMトークンの悪用手口など)。これらの機能は、オンラインバンキング環境における不正送金やアカウント乗っ取りを目的に用いられるバンキングマルウェアの特徴と一致します。トレンドマイクロ製品では「Backdoor.PS1.BANANARAT.A」として検出されます。
C#コンパイラ(csc.exe)を用いた動的コンパイル
このPowerShellスクリプトは、.NET Frameworkディレクトリから正規のC#コンパイラ(csc.exe)を呼び出し、感染端末の一時ディレクトリに生成した一時的なC#ソースファイル(.cs)をペイロード(DLL)へと動的にコンパイルしていました。
メモリ上では、個別に動的コンパイルされ、読み込まれたDLLが複数確認されました。この手法は、プロセスインジェクション、認証情報の詐取、C&Cサーバとの通信確立といった複雑な機能を実装するために複数のAdd-Type呼び出しへ処理を分散させるエージェントやRATに見られる典型的な実装パターンです。回収された3つのDLLは、同一の攻撃目的のために展開されていましたが、そのうち1つは、ほかのDLLとは異なる役割を担っていました(図7)。
Display Overlayモジュールは、Windows端末上のあらゆるウインドウの最前面にフルスクリーン表示される偽ウインドウを作成・制御し、様々なシステムやアプリの動作状態を疑似的に再現するために用いられます。また、低レベルのWindows APIを用いて偽ウインドウを常時最前面に維持する設計になっていました。さらにオプションとして、クリック操作を背後のウインドウに透過させる設定(クリック透過)に加え、セキュリティ対策製品によるスクリーンショット撮影の阻止、ユーザによる手動クローズ操作の無効化などの機能も備わっていました(図8)。
コード内のShowメソッドが呼び出されると、独立したUIスレッドを起動して、画面全体を覆う境界線のないフォーム(枠なしウインドウ)を生成し、オペレータが選択したモードに応じて異なる視覚的レイアウトを表示します。選択可能なモードには、Windows update、システム修復メッセージ、ブルースクリーン(BSOD)エラー、主要な金融機関やセキュリティアップデートを模した偽ウインドウなどがあります。また、アニメーション付きのローディングインジケータ、進行状況バー、動的に変化するステータスメッセージなども実装されていました。さらにオペレータは、タイマー機能を用いてこれらの要素を動的に更新し、時間の経過とともに偽の進捗状況を変化させることで、実際にシステム処理が進行しているかのようにユーザを錯覚させていました。
偽ウインドウは、フォームやスレッドを安全に終了させるHideメソッドによって明示的に閉じられるまで、ユーザ操作を遮断しつつ、最前面に表示され続けるよう設定されていました。総じて、オペレータがDisplay Overlayモジュールを用いる目的は、システムレベルの処理を疑似的に再現する偽ウインドウを継続的に最前面表示させてユーザの注意を逸らし、バックグラウンドで進行する自身の不正活動(不正送金など)に気付かせないようにすることにあると考えられます。
Input Trackerモジュールは、Windows APIを介してキーの状態を直接照会し、ユーザによるキー入力操作を低レベルで継続的に監視・記録するために用いられます。実行されると、高優先度のバックグラウンドスレッドを起動し、事前定義された一連のキーコードを繰り返し確認して打鍵の瞬間を検出します。具体的には、各キーの現在の状態を直前の状態と比較して新たな打鍵を識別します。検出された打鍵は、ShiftキーやCaps Lockなどの修飾キーの状態を考慮した上で、人間が読み取り可能な文字に変換され、内部のバッファに格納されます。
このバッファは、直近のキー入力操作情報を記録するキュー(待ち行列)のように機能し、専用メソッドを通じて、後から取得・消去できるよう設計されています。さらに各キーの状態を個別に確認したり、手動でキー入力操作をスキャンしたりするための追加のヘルパー関数も実装されていました。総じて、オペレータがInput Trackerモジュールを用いる目的は、ユーザによるキー入力操作情報をリアルタイムで追跡・記録することであり、実質的にキーロガーとして機能させることにあると考えられます。
NativeInputモジュールは、低レベルなWindows APIのラッパーを提供することで、マウスの移動やクリック、キーボードの打鍵といったユーザの入力操作をプログラム側から疑似的に再現・制御可能にするほか、ユーザの入力操作をすべて一時的に無効化する機能も備えています(図10)。具体的には、user32.dllの関数を用いてOSと直接対話し、カーソル移動や各種マウスイベント(クリック、ボタン解放、スクロール)、キーボードの押下・解放といったシステムレベルの入力操作を可能にします。
このクラスの主要機能は、BlockInputを用いてユーザの入力操作をブロックし、感染端末を操作できないようにすることです。このブロック機能が有効な間、コードは疑似的に生成された入力イベントを注入する瞬間だけ一時的にブロック機能を解除し、注入後はすぐにブロック状態に戻します。これによりオペレータは、自身の入力イベントを注入できる状態を維持しながら、感染端末の制御権を維持し続けることができます。総じて、オペレータがNativeInputモジュールを用いる目的は、システムレベルでユーザの入力操作を強制的に遮断・上書きし、感染端末を継続的に制御することにあると考えられます。
Window Monitorモジュールは、感染端末のスクリーンショット(静止画)を撮影し、画像としてC&Cサーバに送信する機能を備えています。この処理は、低レベルのWindows GDI(Graphic Device Interface)関数を呼び出してウインドウのデバイスコンテキスト(DC)にアクセスした後、互換性のあるメモリ領域を確保して、画面のピクセルデータをビットマップにコピーすることで実行されます(図11)。具体的には、GrabEznnメソッドを用いて画面の幅と高さを取得した後、BitBlt関数により画面の左上隅から指定領域をBitmapオブジェクトにコピーします。画像取得後は、メモリリークを防止するために一時的に用いたグラフィックスリソースを解放します。総じて、オペレータがWindow Monitorモジュールを用いる目的は、感染端末の画面情報を継続的に撮影・窃取して、監視することにあると考えられます。
最後にQROverlayモジュールについて解説します(図12)。攻撃者がこのモジュールを用いる理由は、悪意あるQRコードをユーザにスキャンさせてフィッシングページへ誘導する、いわゆる「クィッシング(quishing)攻撃」を実行することにあると考えられます。具体的には、このペイロード(DLL)を用いて正規金融機関を模した偽ウインドウを最前面に表示させ、モバイル端末でQRコードをスキャンするようユーザを誘導します。このペイロードには、ユーザに正規サービスであると誤認させるための要素を独自設定できる機能が備わっています(金融機関名、配色、「本人確認」ページへ誘導するQRコードなど)。これらの機能は、正規の認証システムでも一般的に用いられている一方で、悪用された場合、ユーザにQRコードをスキャンさせて偽サイトやフィッシングページへ誘導し、認証情報などを詐取する「クィッシング」攻撃の実行基盤として動作する可能性があります(図12)。オペレータは、「最前面表示」、「枠なしウインドウ」、「ソーシャルエンジニアリングの手口を用いたもっともらしい偽メッセージ」、「任意の転送先URLを埋め込んだQRコード生成機能」を組み合わせることで、ユーザの気付かぬうちに、または、信頼性の低いソースを通じて展開された際に、不信感を抱かせることのない実効性の高い詐欺手口として機能させています。
検出回避(Defense evasion)
オペレータは、Banana RATの検知回避を目的として、次の不正活動に用いるペイロードをC:\ProgramData\Microsoft\Diagnosis\ETW\配下にコピーするよう設定しています。このディレクトリパスは、Microsoftの診断データの正規保存先に偽装されています。このように悪意ある成果物を信頼性の高いシステムフォルダ内に紛れ込ませることで、検査時における疑念を低減させ、検知回避を試みていると考えられます。
イベントサブID (eventSubId): 105 - TELEMETRY_FILE_COPY
対象ファイルのパス (objectFilePath): C:\Users\70397\AppData\Roaming\Microsoft\Diagnosis\ETW\msedgeupdate[.]txt
親コマンド (parentCmd): C:\WINDOWS\system32\cmd[.]exe /c ""C:\Users\70397\Downloads\Consultar_NF-e[.]bat" "
コピー元ファイルのパス (srcFilePath): C:\Users\Public\Documents\msedge[.]txt
不正活動の永続化(Persistence)
オペレータは、このスクリプトにPS_ScheduledTask.ExecMethod(RegisterByUser)を呼び出させることで、不正活動を永続化させます。具体的には、-WindowStyle Hidden(ウインドウの非表示)、-ExecutionPolicy Bypass(実行ポリシーの回避)、エンコードされたコマンドをPowerShell(powershell.exe)上で実行するスケジュールタスクを非表示の状態で登録します。
このタスクは「9,999日間にわたり毎分実行」されるように設定されていたほか、標準のタスクスケジューラビューからも非表示となるよう構成されていました。これは、ユーザに気付かれにくい状態でPowerShellペイロードを繰り返し起動するために設計された、悪意あるスケジュールタスクによる永続化確立手法と考えられます(図13)。
このスケジュールタスクは、まずPowerShellのラッパーを起動します。このラッパーは、プロセスIDファイルを介して単一インスタンスの維持(多重起動の防止)を強制する役割を担います。続いて、実行ポリシーを回避した状態で非表示のPowerShellプロセスを生成し、そのプロセス内でIEX(Invoke-Expression)を用いてmsedge.txtに格納された第二段階ペイロードを動的に実行します(図14)。
C&Cサーバには、C&Cフレームワークの設計に基づいたモジュール化されたコンポーネント群が展開されていました(具体的には、PHPで構築されたペイロード生成インフラ、Pythonで作成された中央管理サーバや監視スクリプト、感染端末を追跡・管理するための管理インターフェースが確認されています、表3)。
支援 / インフラコンポーネント
- servidor_completo_pool.py – C&Cサーバの中央管理および制御ロジック
- monitor_pool.py - 監視やセッション管理に関わる機能
- instalar_completo_pool.sh – C&Cサーバ構築用のデプロイ / ブートストラップスクリプト
- stats-view.php - 活動状況や統計データを閲覧するための管理インターフェース
- stats-reset.php - 蓄積された追跡情報や統計データのリセットに関わる機能
- monitor.txt - 軽量な設定ファイルまたはマーカーファイル
C&Cサーバのプライマリドメインの一部である「windowsk-cdn[.]com」は、Microsoft CDNの正規インフラに偽装させるために設計されたタイポスクワッティング(打ち間違いを狙った偽ドメイン、表4)です。Banana RATは、ハードコードされたフォールバックIPアドレスに切り替える前に、同ドメインに対する名前解決を最大3回試行します。これによりオペレータは、C&Cサーバとの通信を維持するための冗長性を確保していると考えられます(図17)。
攻撃者集団「SHADOW-WATER-063」に関わる帰属(Attribution)
弊社MDRチームは、2026年4月17日から22日の間にC&Cインフラから回収した攻撃ツール群に基づき、Banana RATが金銭的動機を持つブラジル・ポルトガル語話者によって運用管理されていると推測しています。TrendAI™は、この活動区分(攻撃者集団)に暫定的な名称「SHADOW-WATER-063」を割り当て、帰属特定に向けたさらなる監視調査を実施しています。本調査で回収した「Pythonで構築された分析パネル(servidor_completo_pool.py)」、「PowerShellで作成されたステージャ(st.txt / st.php)」、「マスターソースファイルであるPowerShellスクリプト(msedge.txt)」を静的解析した結果から、この帰属に対する確信度は「中」程度にとどまっています。この帰属判断は、総合すると一貫した方向性を示す、以下の3つの調査結果に基づいています。
- 検体内にハードコードされた標的リストが、ブラジルに拠点を置く金融機関でのみ構成されている点。
- コードベース内で確認された言語的痕跡が、ブラジル・ポルトガル語である点。
- ハードコードされた複数の運用管理識別子が存在し、内部プロジェクトとして維持・管理されていることが示唆される点。最も顕著な例として、内部コードネームとみられる「Projeto Banana」の存在や、複数の暗号化処理にわたって再利用されている固定の暗号マスターキーの存在が挙げられます。
これらの指標は、単体では決定的な証拠にはなりませんが、組み合わせることで「攻撃者がブラジル・ポルトガル語話者」であるという仮説の信頼性を高めています(ただし、本稿執筆時点で確定には至っていません)。現在入手可能なデータに基づき、同国市場向けの正規ツールを悪用する非ブラジル系のオペレータや、多国籍にわたる共同運用といった別の可能性を完全に排除することができません。
Banana RATを運用する攻撃者集団(オペレータ)の活動傾向は、別のバンキングマルウェアファミリ「Tetrade」の広範なエコシステム(Grandoreiro、Mekotio、Casbaneiro、Guildma、CHAVECLOAKなど)と共通する特徴が確認されています。しかし、設計上の明確な違いからBanana RATのオペレータは、Tetradeエコシステムの一員というよりも、類似した手口を採用した別の活動区分であると推測されます。特に本調査で回収された攻撃ツール群は、「Python / FastAPIで構築された分析パネル」を中心に構成されており、感染端末ごとに一意のペイロードを生成して配信する「多態性エンジン」が実装されていますが、この設計は、これまでのTetrade攻撃で確認された「Delphiバイナリ」の設計とは大きく異なるものです。これらの点を踏まえると、Banana RATのオペレータがTetradeエコシステムから派生したグループなのか、攻撃手口を共有し合う別の活動区分なのか、標的地域に確立された手法を取り入れた独立したオペレータなのかは、今後蓄積されるテレメトリを用いたさらなる深堀調査が必要であり、本稿執筆時点においては、未解決の課題です。
回収した攻撃ツール群で確認された攻撃者集団の痕跡
稼働中のペイロード生成インフラを回収したことで、オペレータが用いたC&Cサーバ側のコードベース一式を入手するに至りました。これらの成果物には、今後展開されるであろうBanana RAT攻撃キャンペーンや、同グループに関わる不正活動を追跡調査する上で極めて有用な指標が含まれていました。
内部プロジェクトのコードネーム:「Projeto Banana」
分析パネル(servidor_completo_pool.py)に実装された多態性エンジンは、生成した全ペイロードのヘッダ行にタイムスタンプを模した文字列「# PROTECTED SCRIPT v4.0 - Projeto Banana (MSEDGE EDITION)」を付与することがわかりました(図18)。文字列内の(MSEDGE EDITION)といった修飾子やバージョン表記(v4.0)は、過去バージョンや並行して開発された亜種の存在を示唆しており、Banana RATが単発のプロジェクトではなく、継続的に開発・運用される「製品群」として維持されている可能性を示しています。さらに、感染端末側の内部コードや識別子として「SMART_V27_ULTRA」や「BUILD_V6_HARDCODED_TYPES」といった表記も確認されており、分析回避や対抗措置を講じながら継続的に反復型開発が行われている実態を示しています。
攻撃者集団「SHADOW-WATER-063」が用いる言語:ダイアクリティカルの省略されたブラジル・ポルトガル語
C&Cサーバ側で確認されたファイル名、コード内のコメント、ログメッセージ、ランタイムのステータステキストはすべてブラジル・ポルトガル語で記述されている一方で、発音区別符号(ダイアクリティカルマーク)は省略されていました(具体的には「Você」が「Voce」、「segurança」が「seguranca」と表記されていたほか、C&Cサーバのファイル名は、servidor_completo_pool.py(「統合サーバプール」)、monitor_pool.py、instalar_completo_pool.sh(「統合インストールプール」)と記述されていました(図19)。また、親ファイル「proteger.py」(「プロテクタ」)への内部参照から、オペレータの用いる広範な攻撃ツール群に採用された命名規則は、動詞「proteger(保護する)」を中心に構成されていることが窺えます。この命名規則は、関連する別の攻撃者集団を追跡調査する際の有用な指標となります。さらにコード内では、Pessoa Juridica/PJ [ 法人 ]、即時決済システム「Pix」、Conta Corrente [ 当座預金口座 ]、Atendimento [ カスタマーサポート]といったブラジル金融環境特有の用語が確認されており、Banana RATのオペレータがイベリア半島(ポルトガル本国)やポルトガル語圏アフリカ諸国の出身ではなく、ブラジルの金融環境を熟知した人物であることを裏付けています。
ハードコードされた暗号マスターキー
msedge.txtには、静的なマスターキー(iuhbdaubdvauygd5562$3@##$r)が埋め込まれていました(図20)。この文字列は、2つの目的で用いられていたと考えられます。1つは、インストールトークンをオペレータ側に対して認証・証明するためのHMACキーとしての役割、もう1つは、ディスク上に保存されるmsedge.txtの設定状態を暗号化するAES-256鍵をSHA-256を用いて導入するためのシードとしての役割です。静的なマスターキーが攻撃キャンペーン間で変更されることは稀なことから、過去、将来の検体を紐づける際に有用な指標となります。
独自の分析パネル「Download Analytics v2.0」
回収されたC&Cサーバには、オペレータが冠したとみられるブランドアイデンティティ(「Download Analytics v2.0」)の設定された独自の分析パネル(stats-view.php)が含まれていました。この分析パネルには、OutfitやSpace Monoといったフォント、紫や翠玉色を基調とした配色、ブラジル・ポルトガル語によるリセット確認モーダル(「Resetar Dados? [ データをリセットしますか? ]」)、30秒ごとの自動更新機能などが実装されていました。さらに多態性エンジン内でフォルダごとにビルドを保持させる構造に加え、分析パネルのUI(ユーザ・インターフェイス)へ意図的に投資している事実は、同グループがこれらのプラットフォームの利用権をアフィリエイト(攻撃実行者)などに販売するビジネスモデル「マルウェア・アズ・ア・サービス(MaaS)」を展開する前提で、Banana RATを運用管理していることを示唆しています。この形態は、Grandoreiro / Mekotioの背後にいる攻撃者集団がブラジルなどを対象に広範に展開したビジネスモデル「バンキングマルウェア・アズ・ア・サービス(Banker as a Service)」の運用傾向とも一致します。
標的分析:排他的にブラジルを攻撃対象に
本事例において、攻撃対象の特定につながる痕跡は、帰属判断における重要な証拠となります。msedge.txtには、ウインドウタイトルの正確な文字列を含む$script:MonitorDomains配列(標的リスト)が埋め込まれていました。msedge.txtは、$script:MonitorDomains配列をもとに、ブラウザ上で開かれたWebサイトのウインドウタイトルを常時監視し、配列内の文字列と一致するWebページが検出された際に、同金融機関のWebページを模した偽ウインドウを最前面に表示させます。配列内で確認された文字列は、ブラジルに拠点を置く主要銀行や同国市場向けに特化した暗号資産取引所などのWebページタイトルから抽出されたものでした。図22に示す通り、この標的リストには、メキシコ、アルゼンチン、チリ、イベリア半島(スペインやポルトガル本国)、米国、欧州連合に拠点を置く金融機関と一致する文字列は含まれていませんでした。
ブラジルの金融機関16行のウインドウタイトルから構成された標的リスト
$script:MonitorDomains配列には、ブラジル最大手の個人・法人向け銀行プラットフォーム(ブラジル・ポルトガル語版)、同国市場向けに特化した暗号資産取引所などのWebページから抽出されたウインドウタイトル(文字列)が列挙されていました(図23)。対象範囲は、ブラジルの金融市場における主要な4つの業態(大手の民間銀行(Bradesco、Itaú、Santander Brasil、Safra)、連邦公営システム(Caixa、Banco do Brasil)、地方銀行層(Banrisul、Daycoval)、協同組合金融システム(Sicoob、Sicredi))に及びました。さらにBrowserOnlyDomains = @('CAIXA', 'Santander', 'Banco do Brasil')というキーワードの存在は、オペレータが対象の金融機関に応じて自身の不正活動を調整していることを示唆しています。
ブラジル市場向けの即時決済システム「Pix」の傍受手口
msedge.txtには、Pix向けQRコードを傍受する専用サブシステムが実装されています(Pixとは、ブラジル中央銀行が同国市場のみを対象に提供する即時決済システムのことです)。実行されるとmsedge.txtは、必要に応じてZXing.NETを反射的に読み込み、画面上に表示されたQRコードを検出・改ざんします。Pixを用いた決済処理中に感染端末上でQRコードが検出された場合、ZXing.NETは、対象のQRコードをデコードして悪意あるQRコードと差し替えます。また、C&Cサーバ側の専用オペコード「0x64–0x67 (AutoQRToggle, QRCodeDetected, ShowQROverlay, HideQROverlay)」は、一連の動作制御やオペレータへの状態通知に用いられます(図24)。ブラジル市場のみを対象に運用される即時決済システム「Pix」を悪用するサブシステムが実装されていることは、Banana RATが同国市場のユーザのみを狙って展開されていることを裏付けています。
偽ウインドウ上で確認されたソーシャルエンジニアリングの手口
図25に示す通り、感染端末上で最前面表示される偽ウインドウ上の文言は、GrandoreiroやMekotioで確認されたものとほぼ同一でした。具体的には、ブラジル・ポルトガル語で「Atualização de Segurança obrigatória – NÃO DESLIGUE O COMPUTADOR」(「必須のセキュリティアップデート – コンピュータの電源を切らないでください」という警告通知が表示されます。オペレータは、Environment.UserNameおよびEnvironment.MachineNameから取得したシステム情報(ユーザ名やコンピュータ名)をこの警告通知に動的に組み込むことで、システムから発行された個別のセキュリティアップデート通知であるかのように偽装していました。さらにオペレータは、バンキングセッションをバックグラウンドで実行する間、画面上に「OSの検証」、「セキュリティモジュールのダウンロード」、「デジタル証明書の検証」、「アップデートの適用」という4段階の偽の進行状況を表示させることで、被害者の注意を逸らし、自身の不正活動に気付かせないようにしていました。
Banana RATとTetradeファミリにおける共通点
- 金融機関を模した偽ウインドウの全画面表示:オペレータがバックグラウンドで不正取引を進行させる間、画面上に偽の「セキュリティアップデート」を表示してユーザの注意を逸らす手口は、ブラジル国内で確認されたバンキングマルウェアファミリに共通する代表的な挙動の一つです。
- 即時決済システム「Pix」向けQRコードの傍受・改ざん:Pixを用いた取引時にQRコードを傍受・改ざんする手口は、MekotioやCHAVECLOAKを含む攻撃キャンペーンで確認された手口と一致します。
- ソーシャルエンジニアリングの手口を用いた誘導手口:「Atualização de Segurança obrigatória – NÃO DESLIGUE O COMPUTADOR(和訳=必須のセキュリティアップデート – コンピュータの電源を切らないでください)」という偽の警告通知は、GrandoreiroやMekotioを含む攻撃キャンペーンで確認された誘導手口とほぼ一致します。
- 標的プロファイル:ブラジル国内の主要銀行や同国市場向けに特化した暗号資産取引所を排他的に標的としている点は、FLUXROOT(Google TAGによる命名)やTA2725(Proofpointによる命名)の攻撃活動の特徴と一致します。
Banana RATとGrandoreiroにおける相違点
以下の観点から、「Banana RAT」を「Grandoreiro」と同一ファミリとして位置づけることは難しく、むしろGrandoreiroと類似した特徴を持つ別のマルウェアファミリ、または、Grandoreiroから派生した亜種である可能性が考えられます。
- 開発言語とビルド設計:GrandoreiroはDelphiでコンパイルされた単一構成のバイナリである一方、Banana RATはPowerShellスクリプトのみで構成され、Python / FastAPIで構築された多態性エンジンによって制御されていました。これは、ビルド設計と配信インフラが根本的に異なることを示しています。
- 標的端末ごとに一意のビルドを生成する多態性エンジン:オペレータは、配信フォルダごとにハッシュ値が異なる一意のビルドとしてBanana RATを100〜200個程度C&Cサーバ上に保持していました。さらにサーバ起動時には4つの生成スレッドが並行して稼働し、プール内のビルドをすぐに利用可能な状態にする仕組みとなっていました。加えて、MaaSの一環として分析パネルを通じてBanana RATを配信していました。オペレータは、多態性エンジンを介してリクエストごとに異なるペイロードを生成することで、シグネチャベースの検知回避を図っていました。この仕組みは、これまでにTetradeエコシステムで確認されてきた手法と比較しても、より高度化な実装と言えます。
- 独自の難読化エンジン:オペレータは、PowerShell向けの既製ツールを用いず、Pythonで独自実装した9段階の難読化処理を採用しています。この難読化エンジンは、攻撃者集団「SHADOW-WATER-063」を追跡調査する上で重要な指標となります。
- C&Cインフラにおける共通点が確認されていない(本稿執筆時点):本調査で確認されたC&Cサーバのドメイン「c[.]windowsk[-]cdn.com」やIPアドレス「24[.]199.90.58」(DigitalOcean)、フォールバックIPアドレス「162[.]141.111[.]227」は、本稿執筆時点で確認されているGrandoreiro、FLUXROOT、TA2725、UNC5176の脅威情報(IOC)には含まれていませんでした。
- ブラジル国内の主要銀行11行や同国市場向けに特化した5つの暗号資産取引所の名称(文字列)が標的リストとしてBanana RAT内にハードコードされており、ウインドウタイトルを用いた標的判定のトリガとして用いられていること
- ブラジル国内の金融機関を模した偽ウインドウを最前面に表示し、オペレータがバックグラウンドで不正取引を実行する間、段階的な「セキュリティアップデート」ワークフローを表示してユーザの注意を逸らす仕組みを備えていること
- 即時決済システム「Pix」向けQRコードを傍受・改ざんするための専用サブシステムを実装していること
Banana RATには、ランサムウェア機能、端末破壊機能、サイバー諜報活動向けツール、文書ファイルの窃取機能は実装されていませんでした。バンキングセッションの遠隔操作に必要な情報以外を収集する挙動も確認されていません。これらの点から、本攻撃キャンペーンは、金融詐欺の実行に特化したプラットフォームとして運用されていると考えられます。
まとめ
Banana RATの登場は、ブラジルに拠点を置く金融機関やその利用者を標的とした、金融詐欺目的の組織的な攻撃キャンペーンの実態を示しています。本事例で注目すべき点は、攻撃者の用いる高度なツール群だけでなく、その背後にある攻撃意図です。攻撃者は、本攻撃キャンペーンでバンキングセッションの傍受、決済フローの改ざん、ユーザの心理的隙を突く誘導手口などを組み合わせることで、リアルタイムの金融詐欺を可能にしています。
本攻撃キャンペーンに関与する攻撃者は、単独犯や新参のグループではなく、既存の組織的犯罪ネットワークに属している可能性があります。ブラジルを標的とするバンキングマルウェア「Tetrade」のエコシステムとの間に見られる多くの共通点は、長期的な攻撃活動を可能にするリソースや運用体制の存在を示唆しています。さらにMaaSモデルへの移行は、本攻撃キャンペーンの到達範囲が拡大していることを示しており、潜在的なアフィリエイトがMaaSを用いることで、単独の攻撃者集団が達成できる以上の影響力を増幅させている可能性があります。
セキュリティ上の推奨事項
ブラジル市場に参入している、または、同市場に関与する企業組織にとって、本攻撃キャンペーンは継続的に展開される深刻な脅威と言えます。本事例で弊社MDRチームが攻撃者側のインフラと感染端末側のテレメトリを可視化できたことは、迅速な検知や対応能力が被害の拡大防止において重要な役割を果たすことを示しています。一方で、本攻撃キャンペーンはユーザのクリック操作を起点に不正活動を開始するため、依然としてユーザのセキュリティ意識が主要な防御策となります。そのため、企業組織は以下に示すベストプラクティスを適用することで、Banana RATを含む脅威のリスクを軽減することが可能です。
- ソーシャルエンジニアリングへの対策:ユーザや従業員に対するセキュリティ意識向上トレーニングの強化が推奨されます。特に、正規のWebサイト、セキュリティツール、CAPTCHA認証などを偽装して、エラー解決や本人確認を理由にコマンド実行を指示する手口に注意が必要です。このような正当なサービスを偽装し、ユーザにPowerShellスクリプトをコピーさせた上で、[ファイル名を指定して実行]ダイアログやターミナル上に貼り付けて実行させる手口は、ソーシャルエンジニアリングにおいて広く確認されている典型的な手口です。
- 金融機関の正規Webページを模した偽ウインドウへの警戒:オンラインバンキングなどのウインドウが突然最前面に表示された場合は、警戒が必要です。偽ウインドウには、ユーザを待機させたり、QRコードをスキャンするよう指示する文言が記載されていることがあります。この手口は、Banana RAT攻撃キャンペーンで確認されたソーシャルエンジニアリングの手口に酷似しています。攻撃者は、バックグラウンドで不正取引を実行しながら、偽ウインドウを最前面に表示することでユーザの注意を逸らし、処理時間を確保していました。
- エンドポイントへの広範な保護対策:エンドポイントに対しては、最新のセキュリティソリューションとして、リアルタイムの挙動監視機能を備えたEDR(Endpoint Detection and Response)センサーを導入し、常時有効な状態で運用することが推奨されます。また、これらのセキュリティ機構が最新の状態に維持されていることを継続的に確認する必要があります。
TrendAI Vision One™によるプロアクティブセキュリティ
「TrendAI Vision One™」は、Cyber Risk Exposure Management(CREM)やセキュリティオペレーションを一元化し、オンプレミス、ハイブリッド、マルチクラウド環境にまたがる堅牢な多層防御を提供する、唯一のAI駆動型統合セキュリティ基盤です。
TrendAI Vision One™ スレットインテリジェンス
TrendAI Vision One™ Threat Intelligence Hubでは、新たな脅威や攻撃者集団に関する最新の知見、TrendAI™ Researchによる限定公開の戦略レポートをご確認いただけます。さらにTrendAI Vision One™プラットフォーム内では、TrendAI Vision One™ Threat Intelligence Feedをご活用いただけます。
TrendAI Vision One™ Threat Insights
新たな脅威:From Server to Endpoint: TrendAI MDR Maps the Full Operation Behind Brazil's Banana RAT
暫定攻撃者集団:SHADOW-WATER-063
TrendAI Vision One™のアプリ「Intelligence Report」(IoC Sweeping)
From Server to Endpoint: TrendAI MDR Maps the Full Operation Behind Brazil's Banana RAT
スレットハンティングクエリ
TrendAI Vision One™の検索機能「Search」アプリ
TrendAI Vision One™をご利用のお客様は、お客様環境内のデータを検索アプリに用いることで、本ブログ記事で取り上げた悪意ある指標を調査いただけます。
Banana RAT detection in TrendAI Vision One™(TrendAI Vision One™内でのBanana RATの検出)
malName:*BANANARAT* AND eventName:MALWARE_DETECTION AND LogType: detection
Payload dropped as msedge.txt in public documents(公開されたドキュメント内に作成されたペイロード(msedge.txt))
eventSubId:101 and objectFilePath:*\\Users\\Public\\Documents\\msedge.txt*
Malicious file written to ETW masquerade path(ETWの偽装パスに記述された悪意あるファイル)
eventSubId:101 and objectFilePath:*\\ProgramData\\Microsoft\\Diagnosis\\ETW\\* AND objectName:*.txt
TrendAI Vision One™をご利用中で、「Threat Intelligence Hub」が有効となっている場合、より多くの脅威ハンティングクエリをご確認いただけます。
侵入の痕跡(IoC: Indicators Of Compromise)
本記事に関する侵入の痕跡は、こちらをご参照ください。
参考記事
Inside SHADOW-WATER-063’s Banana RAT: From Build Server to Banking Fraud
By: Aldrin Ceriola, Gabriel Nicoleta, Jovit Samaniego, Mohamed Fahmy
翻訳:益見 和宏(Platform Marketing, TrendAI Research™)