本ブログ記事は、2022年2月10日に米国で公開されたBlackBerryのブログ記事の抄訳版です。原文はこちらからご覧頂けます。
仮想通貨の急速な普及によって、マルウェア作成者に稼ぎ時の心理が生まれています。支払い形態としての仮想通貨はランサムウェアビジネスのバックボーンとなっていますが、犯罪者の中には、被害者の暗号ウォレットの中身を窃取するという、より直接的な手口をとる者もいます。その目的のために、BHunt は被害者の仮想通貨へのアクセスを求めてシステムをあさると同時に、システム上でのその活動を隠匿し、さまざまな方法で解析を遅らせようとします。
BHunt の主目的は被害者の暗号ウォレットを収集することにあります。また、このプロセスでブラウザーのパスワードも窃取しようとします。これは、オンライン仮想通貨アカウントへのログイン認証情報を、ブラウザーから入手することを目的としていると考えられます。金銭の入手源となるオンラインバンキングのアカウントとソーシャルメディアのアカウントもねらわれます。以下で説明する一定の状況下で、BHunt は被害者のデバイスに仮想通貨マイニング機能をデプロイしたり、セキュリティパスフレーズをねらって被害者のクリップボードを監視したりもします。
この脅威は、市販のバイナリパッカーでファイルを難読化して、脅威の機能を複数のファイルにわたって分割することにより、解析を遅らせようとします。BHunt は、不正な目的で正規のツールを活用することで、さらに踏み込んだ脅威の手順を実行します。
このブログでは、BHunt の内部動作を詳しく調べ、目的達成のために BHunt がどのように作成されているかを示します。
オペレーティングシステム
リスクと影響
技術的解析
BHunt は昨年の暮れに Bitdefender によって初めて発見されました。Bitdefender による報告では、鍵管理サービス(KMS)のクラッキングユーティリティにパッケージ化されていたと考えられるドロッパーによって感染が始まっています。これらのクラッキングユーティリティは、Microsoft® の KMS を迂回するために広く使用されているツールで、Windows® 10 などの Microsoft® 製品を違法にアクティブ化します。
このドロッパーは C:\\Windows\System32 に "msn.exe" または "msh.exe" として書き込まれ、被害者のシステムディレクトリに存在することを想定した Microsoft ファイルに偽装されます。この脅威アクターは、このサンプルを VMProtect にパッケージ化してサンプルの内容を隠匿するほか、"Piriform Ltd" の証明書を埋め込んで正規のファイルに見えるようにします。Piriform Software Ltd. は、広く使用されている PC 最適化ツール "CCleaner" の開発元で、2017 年にセキュリティ企業 Avast に買収されています。
当社の詳しい検査では、以下に示すこの証明書がバイナリの実際の内容と一致しないことがわかり、図 1 のように、無効な証明書であることを確認しています。
図 1 - 無効であることが確認された Piriform の証明書
次に、このドロッパーによって、そのコアファイルが AppData\Roaming\mscrlib.exe に書き込まれます。このコアファイルは、名前を BHunt として、難読化した .NET 実行可能ファイルです。図 2 のように、BHunt は、複数の関数とモジュールで構成されています。
図 2 - BHunt のモジュール関数
各モジュールの目的は次のとおりです。
Log
標的としたマシン上に存在するさまざまな暗号ウォレットに関する情報をコマンドアンドコントロール(C2)サーバーに報告するための初期調査が Log 関数によって実行されます。Atomic、Bitcoin、Electrum、Ethereum、Exodus、Jaxx、Litecoin などの仮想通貨のウォレットがあるかどうかが確認されます。また、クリップボードに文字列を保存してそれを取得する操作を試すことで、BHunt にユーザーのクリップボードへのアクセス権があるかどうかも確認されます。
Blackjack
Blackjack 関数によってウォレットのファイルが窃取されます。Log 関数は特定の暗号ウォレットが存在することを報告しますが、Blackjack はユーザーの %AppData% フォルダで "wallet.dat" ファイルを探します。この名前のファイルが見つかると、その内容と場所の両方が BHunt の C2 に送信されます。
このマルウェアの作者は、これと異なるウォレット命名規則が Exodus で使用されていることを考慮し、%AppData%\Exodus\exodus.wallet フォルダも検索されるようにしています。この場合も、そのようなファイルがあれば、その内容と場所の両方が C2 に送信されます。
図 3 - Blackjack の元のコード
BHunt の最新のバージョンでは、Blackjack 関数が特化性を深めた機能に更新されています。具体的には、%AppData%\Exodus\exodus.wallet\seed.seco ファイルのみを検索することで、C2 に送信するファイルの量が削減されています。
%AppData%\Electrum\wallets フォルダを検索するコードも追加され、このフォルダにあるすべてのファイルが送信されるようになっています。
図 4 - Blackjack の更新済みコード
Sweet_Bonanza
Sweet_Bonanza 関数によって、被害者のブラウザーからパスワードの窃取が試みられます。まず、この関数のリソースから名前が "bonanza" のバイナリが抽出され、%AppData%\bonanza.exe に書き込まれます。
つづいて、このファイルが次のコマンドラインで実行されます。
“%AppData%\\bonanza.exe /stext %AppData%\\bonanza”
他のステージで使用されるバイナリ同様、このバイナリも圧縮されています。このバイナリを実行してみると、このファイルが NirSoft の WebBrowserPassView ツールであることがわかります。同社のウェブサイトによれば、"/stext" コマンドを使用することで "パスワードのリストが通常のテキストファイルに保存" されます。
このファイルを実行すると、その出力が C2 に送信されます。
Golden7
Golden7 は、Firefox のすべてのプロファイルデータを検索して文字列 "accountToken" を探すことから活動を開始します。この文字列を収めたファイルが見つかると、それに関連する SQLITE データベースファイルが探し出されます。多くの場合、Firefox では、これらのファイルへのハンドルを開いたままにして、これらのファイルが削除されないようにしています。このマルウェアによって、実行中の Firefox のインスタンスがすべて終了し、これらのデータベースファイルが C2 に送信されます。その後、それらのファイルが削除できるようになります。
つづいて、Golden7 によって Google Chrome™ と拡張機能である MetaMask が探し出されます。MetaMask は、ブラウザーに Ethereum ウォレットを統合するために使用するウォレットです。この拡張機能が見つかると、このステージによって Chrome が終了し、拡張子 "ldb"を持つすべてのファイルが拡張フォルダで検索されます。これらのファイルが C2 に送信されると、ローカル側ではこれらのファイルが削除されます。
Chrome または Firefox に対する手順が目的どおりに終了すると、別のリソース "golden7" が "%appdata%\\MS Office.exe" に書き込まれ、自動実行のレジストリキーを使用して永続状態になります。
ドロッパーのステージ同様、このバイナリも難読化されますが、ここではパッカーとして Themida が使用されます。解凍された実行可能ファイルをメモリからダンプしてみると、Golden7 が別の .NET 実行可能ファイルであることがわかります。
このプログラムの機能によって、被害者のクリップボードに語数が 12 または 13 の文字列があるかどうかが定期的に確認されます。この文字列形式は、復元パスフレーズとして暗号ウォレットで広く使用されています。この基準に合致する文字列が見つかると、それが C2 に送信されます。
Chaos_crew
Sweet_Bonanza と Golden7 同様、Chaos_crew 関数もそのリソースからディスクにバイナリを書き込みます。リソース "chaos_crew" が "%AppData%\\Outllook.exe" に書き込まれ、自動実行のレジストリキーを使用して永続状態になります。
Golden7 バイナリ同様、Chaos_crew も Themida で圧縮されています。Golden7 同様の解凍技法を使用すると、これも別の .NET バイナリであることがわかります。Chaos_crew は Golden7 よりもはるかに複雑ですが、わかりやすく説明するために、ここではそのコア機能に注目します。
Chaos_crew によって、2 つの独自の Pastebin リンクにアクセスして暗号データが取得されます。第 1 の暗号化 BLOB は、CPU と GPU に対する設定データであり、このマルウェアによってレジストリに保存されます。第 2 の BLOB は関数 "dwfiles" で使用されます。この関数によってファイルがダウンロードされ、"%AppData%\Scype" フォルダに置かれます。
この関数の実行後、Chaos_crew によって以下の各プロセスの作成が試みられます。
- “%AppData%\Scype\svx.exe”
- “%AppData%\Scype\a\svc.exe”
この時点でこれらの Pastebin はもうホストされていないので、どのようなデータがダウンロードされたかを正確に知ることはできなくなっています。VirusTotal での検索により、このデータとして、名前が AppData%\scype\a\svc.exe のファイルがこれまでに見つかっています。
詳しい調査により、このファイルが、高性能の仮想通貨マイニング機能 XMRig であることがわかっています。このことは、CPU と GPU の設定データに関する当社の初期の所見と整合しています。Chaos_crew には、別の関数として、GPU のタイプを問い合わせる "vidcheck" も含まれていますが、この点によっても当社の所見が確かなものになります。被害者のシステムが仮想通貨マイニング機能のインストールに適しているかどうかの評価が、Chaos_crew の機能的な目的であることがわかります。
Copier
当社の調査では、同じマルウェアキャンペーンの一環と考えられる独特の .NET バイナリも見つかっています。このバイナリの役割は、%AppData%\Scype\a\svx.exe ファイルがあれば、それを %AppData%\Scype\a\svc.exe にコピーすることだけです。
Chaos_crew で参照されているパスは %AppData%\Scype\svx.exe(このパスには "a" ディレクトリがありません)であることから、このマルウェアの作者がこの Copier バイナリで何を実現しようとしていたかははっきりしません。
図 5 - Copier の唯一の機能
まとめ
ディスクに複数のファイルを配置する BHunt の戦略は、検知されるリスクをその数々のコンポーネントに分散するための手の込んだ方法です。また、NirSoft の WebBrowserPassView といった正規ツールを使用することにより、被害者のシステム上でマルウェアのこれらのコンポーネントを検知することを一層困難にしています。セキュリティ製品は、正規のバイナリが使用されているコンテキストを判別する必要がありますが、従来のアンチウイルスソフトウェアではこれが容易ではありません。
仮想通貨が普及し続けるに伴い、脅威アクターは、セキュリティ担当者に用心させながらも、絶えず複雑さと秘匿性を深める仮想通貨窃取手段を使用して、この金銭的誘因を追求し続けています。
YARA ルール
以下の YARA ルールは、この記事で説明した脅威を捕捉するために BlackBerry の Research & Intelligence Team が作成しました。
import "pe" rule Mal_Infostealer_Win64_BHunt_2022_01_28 strings: condition: |
セキュリティ侵害インジケーター(IOC)
C2 Encrypted Data For Chaos_crew BHunt Bonanza.exe Outllook.exe MS Office.exe Mrpropper Cleaner XMrig miner believed to be %APPDATA%\scype\a\svc.exe Copier |
BlackBerry によるサポート
もし BHunt Scavenger のような脅威にさらされているなら、BlackBerry にお任せください。現在 BlackBerry 製品を利用していなくても問題ありません。 BlackBerry のインシデント対応チームは、世界的に活躍するコンサルタントから構成され、ランサムウェアや持続的標的型攻撃(APT)など、さまざまなインシデントへの対応と封じ込めのサービスを専門としています。 弊社はグローバルコンサルティングチームを常に待機させており、ご希望があれば、24 時間サポートと現地支援を提供できます。次の URL からご相談ください。 https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
・お問い合わせ:https://www.blackberry.com/ja/jp/forms/enterprise/contact-us
・イベント/セミナー情報:https://www.blackberry.com/ja/jp/events/jp-events-tradeshows
・BlackBerry Japan:https://www.blackberry.com/ja/jp