2022年8月24日

マルウェアローダー「Bumblebee」の闇

概要

Deep Instinctは、最近、ある顧客の環境において、標的型攻撃を阻止することができました。この攻撃は、難読化されたPowerShellスクリプト、.VHDファイル(.ISOに似たディスクイメージファイルの一種)、DLL、スピアフィッシングを含んでおり、実行前に検知・阻止することができました。

現在、該当するIoCは、ほとんどのセキュリティベンダーで検知されていません。本ブログでは、これらのIoCを詳細に検証し、Bumblebee攻撃の技術的な詳細を提供します。

スピアフィッシングと配信

フィッシング攻撃は、脅威者が選択するマルウェア配信の手段となっています。そのコンセプトは非常にシンプルで、攻撃者がドロッパーを作成し、ターゲットがファイルを開くよう誘導するメッセージとともに電子メールに添付するというものです。しかし、こうした攻撃を見破り、回避する方法についての認識が高まり、脅威者はより巧妙な手段を用いてスピアフィッシング攻撃を行うようになってきています。

スピアフィッシングでは、被害者の個人情報をフィッシングメールに記載したり、被害者が信頼しているドメインと非常に類似したドメインから有害なメールを送信するなど、被害者の信頼を得るための偽装工作が最もよく行われています。また、脅威者は親しい友人や同僚になりすまし、標的を騙して危険なメールを開かせることもよくあることです。

Deep Instinctは、巧妙なスピアフィッシング攻撃から始まった感染を防ぎました。この攻撃では、悪意のある行為者が有名な組織の人間になりすまし、ほぼ同じ名前のドメインを使用し、従業員になりすまし、関連性の高い件名を使用してターゲットを騙してメールを開封させました。

さらに信頼性を高めるため、攻撃者は最初のメールに添付ファイルやダウンロードのリンクを含めず、なりすました人物として自己紹介し、新しいビジネスチャンスにつながるように匂わせることでターゲットからの返信を得られる確率を高めていました。

最初の接触が確立され、「信頼」が得られた後、脅威者は受信者を自分とのミーティングに招待しました。また、ファイル共有プラットフォーム「Smash」へのリンクが記載された別のメールも送信されました。

図1 - 2通目のメール
図1 - 2通目のメール

攻撃者は、porkbun.comに登録されたドメイン”hognose1”を使用し、Postfixのsmtpdを使用しています。

“Smash”リンクは、別のメール内で提供され、.VHD ファイルにつながっていました。このファイルには.LNK(ショートカットファイル)が含まれており、ディスクイメージファイルにも存在する隠されたPowerShellスクリプトを実行するものでした。

VHDコンテナ

悪意のあるVHDには、実行時に隠されたPowerShellスクリプトを実行するショートカットファイルが含まれています。

図2 - VHDコンテナ、マウント時の様子
図2 - VHDコンテナ、マウント時の様子

図3 - VHDコンテナ、隠しファイルを表示
図3 - VHDコンテナ、隠しファイルを表示

図4 - ショートカット・ファイルは、隠されたPowerShellスクリプトを実行
図4 - ショートカット・ファイルは、隠されたPowerShellスクリプトを実行

Microsoft が Office Macro をデフォルトで無効化し、有効にするためにさらにいくつかの手順を必要とするよう仕様を変更したことにより、ディスク イメージ ファイル (.ISO/.VHD など) とショートカット ファイルの組み合わせが、脅威の状況において Office Macros の「代わり」として人気を博しています。

見積(Quote)”という名のPowerShell Loader

"quoutefile.ps1" - 1 PowerShellローダー

.LNKファイルによって実行されると、”quoutefile.ps1”は開いているPowerShellのウィンドウを隠して実行を継続します。これは、PowerShellのコマンドラインパラメータ”-windowstyle hidden”の使用を避けるための措置と思われ、検出の可能性を高めることにつながります。

図5 - 開いているウィンドウを隠すためのPowerShellのコードスニペット
図5 - 開いているウィンドウを隠すためのPowerShellのコードスニペット

このコードでは、疑わしい文字列を分割し、静的スキャンを回避するために、軽いながらも効果的な難読化を行っています。

このコードは、アクティブなPowerShellウィンドウを隠した後、Gzip圧縮されたデータストリームを含む100以上の一連の”elem”変数を難読化解除するために、ストリームの最初の文字を”H”に置き換え、より一般的な「置換」方法ではなく「挿入」「削除」を使用してGzipストリームヘッダーを形成し、有効なGzipストリームを配列に追加しています。

これは、サイバー犯罪者が静的スキャンを回避するために、簡単で非常に効果的な方法を使っているもう一つの例です。

図6 - 「難読化」されたGzipストリーム
図6 - 「難読化」されたGzipストリーム

その後、コードはGzip圧縮されたストリームの配列を繰り返し、それらを解凍し、”Invoke-Expression”によって実行される第2段階のコードブロックを形成します。

図7 - 2ndステージが解凍され実行
図7 - 2ndステージが解凍され実行


2ステージ PowerShellローダー

PowerShell ローダーの第2ステージは、非常に大きく、非常によく書かれた(コメントも付けられた)コードブロックで構成されており、埋め込まれた 64 ビットの .DLL をメモリにロードします。

このステージもまた、静的解析を回避することを目的とした、シンプルで効果的な難読化を継続しています。

図8-9 - 疑わしい文字列

図8-9 - 疑わしい文字列
図8-9 - 疑わしい文字列 "breakup."

ローダーは埋め込みファイルを検証し、実行システム上でファイルが正しく読み込まれるように複数のチェックを行います

図10-11 - ファイルの検証と確認

図10-11 - ファイルの検証と確認
図10-11 - ファイルの検証と確認

図 12 - ペイロード .DLL エクスポート関数への参照
図 12 - ペイロード .DLL エクスポート関数への参照

最後に、ローダーは5秒間スリープし、ペイロード.DLLをメモリにロードするためにメイン関数を呼び出します。

ここで、実行可能なMZヘッダーを隠すために使用される「置換トリック」に注意してください。第1ステージで使用されたGzipストリームの「難読化」と同様の方法です。

Figure 13 – Main function called to load payload .DLL
Figure 13 – Main function called to load payload .DLL


そしてBumblebee

最終的なDLLは64ビットのBumblebeeペイロードです。

これは、すべてのBumblebeeバイナリに存在するユニークなプライベートクリプタと思われるものによって保護されています。このcrypterは、"setPath: "という名前のエクスポート関数を使用しています。

図14 - Crypterのエクスポート関数
図14 - Crypterのエクスポート関数 "setPath"

サンプルを解凍する前でも(単にファイルの文字列を見るだけ)、大きな変更が加えられていないことは明らかです。

VM回避のための「盗まれた」オープンソースコードはまだ存在しています。

図15 - Anti-VM Codeに関連する文字列
図15 - Anti-VM Codeに関連する文字列

このコードは、プログラムが仮想マシンで実行されているか、エミュレーションを使用しているか、実行環境にデバッガやサンドボックスの指標が存在するかどうかを識別するために使用される様々な技術の巨大なコレクションです。

図 16 - Anti-VM に使用されているオープンソースのコード
図 16 - Anti-VM に使用されているオープンソースのコード

既知のマルウェア解析・デバッグツールのプロセスや、仮想化に関連するプロセスのチェックが行われます。

システムが仮想化されているかどうかを識別するために、特定のレジストリキーが照会されます。さらに、DLLファイルやSYSファイル、仮想マシン内にのみ存在する特定のフォルダのチェックが行われます。

ここでは仮想ネットワークカードだけでなく、MACアドレスもチェックされます。

そしてファン情報などのシステム情報について、各種WMIクエリーが行われます。

図17 BumblebeeがWindowsの様々な機能をフックしている様子
図17 BumblebeeがWindowsの様々な機能をフックしている様子

Bumblebeeの詳細な概要については、こちらをご覧ください。

脅威の主体へのリンク

観測された攻撃チェーンは、EXOTIC LILYの活動と一致しています。

攻撃者は、小文字の”I”の代わりに小文字の”L”を使用して、米国を拠点とする正規のサイバーセキュリティ企業になりすまし、視覚的に類似したドメインを登録しました。

そして攻撃者は、同社の従業員になりすましたメールボックスを作成し、ビジネス提案などを行うメールを送信するのです。

メールには、同社が使用する署名に酷似したメール署名など、適切な英語で書かれています。署名のドメインは、攻撃者が作成した偽ドメインに変更されています。

偶然かもしれませんが、攻撃者はBlack Hat USAの開催時期にメールを送信しています。これは、多くの営業チームがオフィスを離れてカンファレンスに参加するため、オフィス外でのセキュリティ対策が甘く、常にネットワークに接続している可能性があり、ビジネス提案などのメールがイベント期間中に読まれやすいと考えたのではないかと推測されます。

EXOTIC LILYの活動で注目すべき変化は、Bumblebeeの配信にファイル転送プラットフォーム”Smash”が追加されたことです。

GoogleのTAGでも"EXOTIC LILYは、メールキャンペーンによる初期アクセスの獲得に重点を置き、その後の活動として、ContiやDiavolランサムウェアの展開など、別組織として活動しているようだ"という指摘があります。

IBMは、Contiランサムウェアを開発した同じグループによって開発されたと思われるBumblebee、Ramnit、Trickbotマルウェア間の接続とコードの類似性を発見しました。

しかし、”Conti”はもはや存在せず、IBMが指摘するように、BumblebeeはQuantumランサムウェアとの関連も指摘されています。

Deep InstinctによるBumblebeeの予防

Deep Instinctは攻撃を実行前に防ぐことができましたが、攻撃に使われたPowerShellペイロードの検出率は、初めてファイルが登場した時点ではVTにあるすべてのエンジンでゼロ、数日後でも3つのエンジンが汎用シグネチャを追加して検出できただけでした。

図18 – 該当の悪意のあるPowerShell が登場した時点でVTでの検知はゼロ
図18 – 該当の悪意のあるPowerShell が登場した時点でVTでの検知はゼロ

図 19 - 悪意のある PowerShell に対する VirusTotal 検知数の推移
図 19 - 悪意のある PowerShell に対する VirusTotal 検知数の推移

これらの結果は、シグネチャベースの検知が、新しいまたは改変された未知の攻撃に対して有効でないことを改めて証明するものです。

図 20 - Deep Instinct による防御
図 20 - Deep Instinct による防御

マルウェア、ランサムウェア、ゼロデイ対策について、より詳しく知りたい方は、こちらからデモをリクエストください

https://info.deepinstinct.com/ja-jp/request-a-demo

IOCs

container.vhd (sha256)91d29cfe549d8c7ade35f681ea60ce73a48e00c2f6d55a608f86b6f17f494d0d
Quote.lnk (sha256)940182dd2eaf42327457d249f781274b07e7978b62dca0ae4077b438a8e13937
quotefile.ps1 (sha256)d6cc3ac995484b99ed790b6f8ceb145492794eb5d01ec4a71123b9975e9bfd20
stage2.ps1 (sha256)5d000af554dcd96efa066301b234265892b8bf37bf134f21184096bdc3d7230b
payload.dll (sha256)0b0a5f3592df7b538b8d8db4ba621b03896f27c9f112b88d56761972b03e6e58

Flight of the Bumblebee動画(英語)
https://www.youtube.com/watch?v=M93qXQWaBdE