主なポイント
- プルーフポイントは、以前はBazaLoaderやIcedIDの配信をおこなっていた攻撃グループが、新しいマルウェアローダーである「Bumblebee」の配信を開始したことを確認し、追跡しています
- 通常、マルウェアキャンペーンでBazaLoaderを使用している複数の攻撃グループが、Bumblebeeに移行しています。BazaLoaderは、2022年2月以降、Proofpointのデータで確認されていません。
- Bumblebeeは活発に開発されており、複雑なアンチ仮想化を含む精巧な回避技術を駆使しています。
- プロセスホロリングやDLLインジェクションを使用する他のほとんどのマルウェアとは異なり、このローダーは、コマンド&コントロール(C2)から受け取ったコマンドからシェルコードを起動するために、非同期プロシージャコール(APC)インジェクションを利用しています。
- プルーフポイントは、BumblebeeがCobalt Strike、shellcode、Sliver、およびMeterpreterをドロップしていることを確認しました。
Bumblebeeを使用する攻撃グループは、後続段階でランサムウェアキャンペーンに関連するマルウェアのペイロードと関連しています。
概要
2022年3月から、プルーフポイントは、Bumblebeeと呼ばれる新しいダウンローダーを配信する攻撃キャンペーンを観測しました。現在、既知の攻撃グループを含む少なくとも3つの活動クラスターがBumblebeeを配布しています。プルーフポイントが確認したキャンペーンは、ContiおよびDiavolランサムウェアにつながるものとしてGoogle Threat Analysis Groupのブログで詳述されている活動と重複しています。
Bumblebeeは、マルウェアの開発の初期段階であるにもかかわらず、アンチ仮想化チェックと一般的なダウンローダー機能の独自の実装を含む、洗練されたダウンローダーです。Bumblebeeの目的は、追加のペイロードをダウンロードし、実行することです。プルーフポイントのリサーチャーは、BumblebeeがCobalt Strike、シェルコード、Sliver、Meterpreterをドロップすることを確認しました。このマルウェアの名前は、初期の攻撃キャンペーンで使用されたユニークなユーザーエージェント「bumblebee」に由来しています。
Bumblebeeがサイバー脅威状況の中で増加している時期は、Proofpointの脅威データから後続段階での侵害を容易にする人気のペイロードであったBazaLoaderが消えたあとの時期と偶然にも一致しています。
攻撃キャンペーンの詳細
プルーフポイントのリサーチャーは、少なくとも3つの追跡可能な攻撃グループによって、BumblebeeがEメール攻撃キャンペーンで配布されていることを確認しています。これらの攻撃グループは、Bumblebeeを配布するために複数の手法を使用しています。ルアー(おとり文書)、配信テクニック、ファイル名は、通常、攻撃キャンペーンを配信する攻撃グループごとにカスタマイズされていますが、プルーフポイントは、ショートカットファイルやDLLを含むISOファイルの使用、同じ週のうちに複数の攻撃グループが使用する共通のDLLエントリポイントなど、複数のキャンペーンに共通するいくつかの点を確認しました。
BumblebeeにつながるURLやHTML添付ファイルについて
2022年3月、プルーフポイントは、DocuSignブランドのEメール攻撃キャンペーンにおいて、受信者を悪意のあるISOファイルのダウンロードに誘導するよう設計された2つの代替パスが存在することを確認しました。最初の経路は、受信者がメール本文にある「REVIEW THE DOCUMENT」というハイパーリンクをクリックするところから始まります。クリックすると、OneDriveにホストされているzip形式のISOファイルをダウンロードするように誘導されます。
図1:2022年3月に配信されたURLとHTMLの添付ファイルを含むメール
また、同じメールにHTMLファイルが添付されていたこともありました。開かれたHTMLファイルの外観は、未払い請求書へのリンクを含むEメールに見せかけるものでした。HTML添付ファイルの埋め込みURLは、プルーフポイントがCookie Reloadedと呼ぶリダイレクトサービスを使用していました。このURLリダイレクトサービスは、Prometheus TDSを使用して、潜在的被害者のタイムゾーンとCookieに基づいてダウンロードをフィルタリングするものです。このリダイレクトサービスは、ユーザーを、同じくOneDriveにホストされているzip形式のISOファイルに誘導します。
図2:Cookie ReloadedのURLリダイレクトへのリンクが含まれるHTMLの添付ファイル
ISOファイルには、「ATTACHME.LNK」と「Attachments.dat」という名前のファイルが含まれていました。実行すると、ショートカットファイル「ATTACHME.LNK」が「Attachments.dat」を正しいパラメータで実行し、ダウンローダー「Bumblebee」が実行されます。
図3: WinRARで見たアーカイブの内容
図4: WinRARで見たISOの中身
ショートカットファイルからのプロセスツリー:
cmd.exe /c start /wait "" "C:\Users\[removed]\AppData\Local\Temp\ATTACHME.LNK"
rundll32.exe "C:\Windows\System32\rundll32.exe"
Attachments.dat,IternalJob
図5:BumblebeeにつながるTA579の攻撃チェーン
プルーフポイントのリサーチャーは、このキャンペーンを高い信頼性でサイバー犯罪者グループTA579に起因するものとしています。Proofpointは2021年8月以来、TA579を追跡しています。この攻撃グループは、過去のキャンペーンでBazaLoaderとIcedIDを頻繁に配信しています。
メールスレッドが乗っ取られ、Zip圧縮されたISOの添付ファイルによりBumblebeeが投下される
2022年4月、プルーフポイントは、既存の良性メール会話への返信と思われるメールに悪意のあるzip形式のISO添付ファイルを配信するスレッドハイジャックキャンペーンを観測しました。この攻撃キャンペーンでは、すべての添付ファイル名に「doc_invoice_[number].zip」というパターンが使用されています。
図6:悪意のあるzip形式のISO添付ファイルを含む乗っ取られたスレッドのメールサンプル
圧縮されたISOはパスワードで保護されており、「DOCUMENT.LNK」と「tar.dll」が含まれていました。パスワードはメール本文で共有されていました。ショートカットファイル「DOCUMENT.LNK」を実行すると、正しいパラメータで「tar.dll」が実行され、Bumblebeeダウンローダーが起動します。
図7:ショートカットファイルからのプロセスツリー
図8:Bumblebeeにつながるスレッドハイジャックの攻撃チェーン
お問い合わせフォームからの"画像の盗用"を主張する問い合わせを送り、それがBumblebeeにつながる
2022年3月、プルーフポイントは、ターゲットのWebサイト上のお問い合わせフォームにメッセージを送信することで生成されたメールを配信するキャンペーンを観測しました。さらに、ウェブサイトの「お問い合わせ」セクションの設定方法に応じて、送信はターゲットのサイト上にこのトピックに関するパブリックコメントも残しました。このメールは、盗用された画像がウェブサイト上に存在するという主張を装ったものでした。
図9:ランディングページへのリンクが含まれるメールサンプル
この「苦情」には、「DOCUMENT_STOLENIMAGES.LNK」と「neqw.dll」を含むISOファイルのダウンロードにユーザーを誘導するランディングページへのリンクが含まれていました。
図10:ランディングページの例
ショートカットファイルを実行すると、正しいパラメータで「neqw.dll」が実行され、Bumblebeeダウンローダーが起動します。
図11:Bumblebeeにつながる「お問い合わせフォーム」攻撃チェーン
プルーフポイントは、この攻撃キャンペーンは、プルーフポイントのリサーチャーが2020年5月から追跡している攻撃グループであるTA578によるものであるとしています。TA578は、これまでにもUrsnif、IcedID、KPOT Stealer、Buer Loader、BazaLoader、Cobalt Strikeを配信するメールベースのキャンペーンで確認されています。
他のマルウェアとの関係
複数の攻撃グループがBumblebeeを使用していること、Bumblebeeが登場した時期、および本レポートで説明されている行動は、サイバー犯罪の脅威の状況における注目すべき変化と考えることができます。さらに、プルーフポイントは、Bumblebeeを使用する行為者は、初期アクセスブローカー、つまり、主要なターゲットに侵入し、その後、後続のランサムウェア実行グループにアクセスを販売する独立したサイバー犯罪グループと考えられると、中程度の信頼性をもって評価しています。
BazaLoaderマルウェアを通常配布している、追跡可能な少なくとも3つの攻撃グループがBumblebeeペイロードに移行しており、BazaLoaderが最後にProofpointのデータに現れたのは2022年2月のことでした。
BazaLoaderは、2020年に初めて確認された第一段階のダウンローダーであり、Contiを含む後続のランサムウェアキャンペーンに関連しています。プルーフポイントのリサーチャーは当初、BazaLoaderが、主にTrickバンキングトロジャンの配布で知られる攻撃グループによって大量に配布されていることを確認しました。
図12:BazaLoaderとBumblebeeのキャンペーンを抜粋したタイムライン
BazaLoaderがサイバー犯罪の脅威から明らかに消えたのは、2022年2月末にContiの内部業務にアクセスできるウクライナのリサーチャーがサイバー犯罪組織からデータのリークを開始したConti Leaksのタイミングと重なります。流出したファイルの中には、BazaLoaderに関連するインフラが確認されました。
プルーフポイントは、マルウェアのアーティファクトに基づき、Bumblebeeを使用して追跡しているすべての攻撃グループが同じソースから受け取っていると高い信頼性を持って評価しています。
マルウェア分析
Bumblebeeは、C++で書かれたダウンローダーです。分析された初期のBumblebee DLLサンプルは、2つのエクスポートを含んでいます。1つは、Bumblebeeのメイン関数用のスレッドを直接開始します。もう1つは、最終的に同じメイン関数につながりますが、フックが主要なダイナミックリンクライブラリ(DLL)内に配置されているかどうかを確認するためのチェックが追加されています。このDLLをロードするLNKは、デフォルトのDllMain関数をスキップし、代わりに関数フックをチェックするエクスポートを呼び出します。
図図図13:Bumblebeeのフックチェックのスクリーンショット
Bumblebeeローダーの大部分は、初期化、リクエスト送信、レスポンス処理が別々の関数に分かれている多くのマルウェアとは異なり、1つの関数に凝縮されています。ローダーは、ボットネットの識別子として効果的に使用されるグループIDをコピーすることから始まります。他の多くのマルウェアとは異なり、Bumblebeeは現在、その設定を平文で保存していますが、プルーフポイントは、将来的に難読化が追加される可能性があると推測しています。グループIDがコピーされると、ローダーは、ローディングプロセスの後半でインジェクションを適切に実行できるように、さまざまなNTDLL関数のアドレスを解決します。
図14:グループIDをコピーして設定
関数が解決されると、loaderのインスタンスが1つだけ実行されるように、ミューテックスとして機能する一意のイベントが作成されます。
図15:イベントの作成
この時点で、Bumblebeeのインスタンスが1つ実行されていることが確認され、マルウェアはシステム情報の収集を開始します。以下のWMIクエリをCOMオブジェクト経由で実行し、通信に必要な詳細を収集します。
- SELECT * FROM Win32_ComputerSystem
- SELECT * FROM Win32_ComputerSystemProduct
システムのホスト名とUUIDが集められ、クエリーの出力に基づいて連結されます。そして、この値のMD5ハッシュが生成され、16進ダイジェストに変換されます。その結果が、ボットの一意のクライアントIDとなります。
図16:クライアントIDの生成
クライアントIDが生成された後、ローダーはWMIクエリのキャプション、ホストのユーザー名、ホストのドメイン(該当する場合)を含むシステムバージョン文字列を生成します。
これらの情報をすべて収集すると、ローダーはC2との通信を開始できるようになります。ローダーは、25秒ごとにC2にチェックインし、コマンドを取得します。モジュールやペイロードが即座にボットに返される多くのマルウェアとは異なり、Bumblebeeが実行するジョブを受け取るまでに数時間かかることがあるため、このマルウェアの背後にいる攻撃グループは、手動でペイロードを展開するものと思われます。各サーバーレスポンスには、下図に示すデータのバリエーションが含まれています。有効なタスクが返された場合、「tasks」の値はすべてのタスク情報を含む辞書のリストとなります。
図17: Bumblebee の応答
Bumblebee loaderは、以下のコマンドをサポートしています:
- Shi: シェルコードインジェクション
- Dij: DLL インジェクション
- Dex: 実行ファイルのダウンロード
- Sdl: ローダーのアンインストール
- Ins: ボット永続化の有効化
Ins コマンド
Insコマンドは、Bumblebee DLLを%APPDATA%フォルダのサブディレクトリにコピーし、DLLを読み込むVisual Basic Scriptを作成することで永続性を有効にします。スケジュールされたタスクが作成され、wscript.exeを介してVisual Basic Scriptが呼び出されます。
図18:DLLを読み込むVBSスクリプト
図19:VBSファイルで作成されたスケジュールタスク
Dex コマンド
Dexコマンドは、サポートされているコマンドの中で最も初歩的なものです。これは、サーバーの応答からbase64でデコードされたコンテンツを受け取り、ハードコードされたパスのディスクに書き込み、COMオブジェクトを介してそれを実行します。
図20:Dexコマンドの出力
Dij コマンド
Dijコマンドは、他のプロセスのメモリにDLLをインジェクションする機能を追加します。インジェクション先として、マルウェアは3つのハードコードされたオプション(ImagingDevices.exe、wab.exe、wabmig.exe)から1つを選び、その中にDLLをインジェクションするようになっています。
図 21:インジェクションのターゲットとなる実行ファイルの特定
ランダムに選ばれた実行ファイルにより、ローダーはプロセスをサスペンド状態で開始します(COMオブジェクト経由でも可)。これにより、マルウェアは問題を起こすことなく、簡単にプロセスを操作することができます。次に、実行に必要なシェルコードをインジェクションできるように、デバッグ特権を有効にして、インジェクションのためのプロセスを準備します。
図 22:プロセスの新規作成とデバッグ権限の有効化
適切なパーミッションが設定されていれば、データを操作することができ、ローダーは中断されたプロセスにシェルコードを書き込み、最初のエントリーポイントを新しいもので上書きします。この実装では、32バイトのシェルコードを書き込み、SleepExの解決済みアドレスでplaceholderを置き換えています。
図23:プレースホルダー値を置き換えるSleepEx
図24:逆アセンブルされたシェルコード
上図のシェルコード・アセンブリの「call RAX」命令は、前の図で見たように SleepEx のアドレスに置き換えられ、シェルコードは 1000 ミリ秒の値で SleepEx を呼び出します。シェルコードがプロセスにインジェクションされると、プロセスが再開され、ローダーはAPCルーチンを介して悪意のあるペイロードを実行ファイルに注入することができるようになります。
図25: APCによるプロセスインジェクション
正しくインジェクションするために、ローダーは注入対象内に2つの新しいセクションを作成し、dijから新しいセクションにバッファをコピーし、動的に解決されたNtQueueApcThreadを介してターゲット実行可能ファイルにコピーされたコンテンツを呼び出します。
図26: 2つの新しいセクションの作成
図 27: 動的に解決された NtQueueApcThread を呼びだし
マルウエア開発
プルーフポイントのリサーチャーは、キャンペーンの1ヶ月以内に、Bumblebeeの開発者がマルウェアに新機能を追加していることに気づきました。具体的には、アンチVMおよびアンチサンドボックスのチェックが含まれています。以下は、以前のサンプルです。
図28: 古いBumblebeeのサンプル
そして、より最近のサンプルは以下です。
図29.check_bad_artifactsを追加して更新したBumblebeeのサンプル
新機能を調べてみると、ちょっとした驚きがありました。
図 30: マルウェアのファームウェアチェックの逆コンパイル
図31.Al Khaserのオープンソースコードで、全く同じチェックが行われている
上記の図は、VMアーティファクトをチェックするために使用される一般的なツールであるAl Khaser スイートの一部である。Bumblebeeローダーの開発者は、標準的な開発者と同じように、オープンソースのツールに依存しているようです。
重要なアップデート
プルーフポイントは、2022年4月19日に観測されたBumblebeeの最新バージョンにおいて、Bumblebeeの機能に大きな変更があったことを指摘しています。カンマ区切りリストによる複数のC2がサポートされるようになりました。
図32: 複数の組み込まれたC2
旧バージョンではスリープ間隔が25秒とハードコードされていましたが、ランダムな値に変更されました。
図33.ランダムスリープ値の追加
このマルウェアの最も大きな変更点は、ネットワーク通信に暗号化レイヤーを追加したことです。開発者は、リクエストの暗号化とレスポンスの復号化に使用されるハードコードされたキーを介してRC4をサンプルに追加しました。
図34:リクエストの暗号化
図35:レスポンスの復号化
4月22日、プルーフポイントは、このグループがBumblebeeに新しいスレッドを追加し、マルウェア解析者が使用する一般的なツールのハードコードされたリストと現在実行中のプロセスを照合していることを確認しました。このスレッドは、Bumblebeeのプロセスの開始時に作成されます。
図 36: 新しいスレッドの開始を示すBumblebeeのメイン関数
図 37: Bumblebeeがチェックするツールの一覧
これらのプロセスのいずれかが見つかった場合、この関数は1を返し、Bumblebeeのメインスレッドを終了させるトリガーとなります。
結論
Bumblebeeは、現在も開発が続けられている高機能なマルウェアローダです。これは、複数のサイバー犯罪グループが使用しています。プルーフポイントは、Bumblebeeローダーが、ランサムウェアなどの後続のペイロードを配信するための初期アクセスファシリテータとして使用される可能性が高いと評価しています。Bumblebeeは、脅威が出現した時期や複数のサイバー犯罪グループによって使用されていることから、BazaLoaderの直接の代替品ではないにせよ、歴史的に他のマルウェアを好んで使用してきた攻撃グループによって使用される新しい多機能ツールである可能性が高いと考えられます。
IoC (Indicators of Compromise: 侵害の痕跡)
Indicator | Type | Description |
c6ef53740f2011825dd531fc65d6eba92f87d0ed1b30207a9694c0218c10d6e0 | SHA256 | 31 March–1 April 2022 ISO Sample |
a72538ba00dc95190d6919756ffce74f0b3cf60db387c6c9281a0dc892ded802 | SHA256 | 31 March–1 April 2022 Bumblebee Sample |
77f6cdf03ba70367c93ac194604175e2bd1239a29bc66da50b5754b7adbe8ae4 | SHA256 | 5 April 2022 ISO Sample |
0faa970001791cb0013416177cefebb25fbff543859bd81536a3096ee8e79127 | SHA256 | 5 April 2022 Bumblebee Sample |
Fe7a64dad14fe240aa026e57615fc3a22a7f5ba1dd55d675b1d2072f6262a1 | SHA256 | 28 March–1 April 2022 ISO Sample |
08CD6983F183EF65EABD073C01F137A913282504E2502AC34A1BE3E599AC386B | SHA256 | 10 March unpacked Bumblebee sample |
ET Signatures
ET MALWARE Win32/BumbleBee Loader Activity
ET USER_AGENTS Observed Bumblebee Loader User-Agent (bumblebee)
※本ブログの情報は、英語による原文「This isn't Optimus Prime's Bumblebee but it's Still Transforming」の翻訳です。英語原文との間で内容の齟齬がある場合には、英語原文が優先します。