WhisperGateマルウェアがウクライナのコンピューターを破損

WhisperGateマルウェアがウクライナのコンピューターを破損

insikt-logo-blog.png
このレポートは、2022 年 1 月 15 日に Microsoft Threat Intelligence によって報告された WhisperGate マルウェアの技術的な概要です。 これは、マルウェアのTTPと緩和策の概要を探している人を対象としています。

Executive Summary

WhisperGateは、政府、非営利団体、情報技術組織など、ウクライナの複数の業界を標的とした継続的な作戦で使用されている新しいマルウェアファミリーです。 このマルウェアは、被害者のMBRを破壊し、接続されたストレージデバイス上のファイルを破損するように設計された3段階のマスターブートレコード(MBR)ワイパーです。 マルウェアの各ステージには個別のタスクがあります:ステージ1はMBRを身代金メモとコードで上書きし、見つかった各ドライブのセクションを上書きし、ステージ2はDiscordのCDNにJPG添付ファイルとしてホストされているステージ3をダウンロードして実行し、ステージ3は191のファイル拡張子のリストに一致するファイルを破損します。 マルウェアの開発者は、特にステージ3で難読化を使用して、検出と分析を回避します。 WhisperGateは、Windowsシステムをワイプして破損させ、ファイルやドライブを回復または使用できなくなります。 WhisperGateの動機と攻撃の背後にいる脅威アクターに関する詳細はまだ明らかにされていません。 これらの攻撃は、2022年1月14日に発生したロシアによるウクライナ侵攻とウクライナ政府のウェブサイト改ざんのリスクが高まっている中で行われました。

主な判断

背景

2022年1月15日、Microsoftはウクライナの複数の組織を標的とした破壊的なマルウェア作戦を 報告 しました。このアクティビティは、既存の脅威アクターグループに起因していないため、未知の脅威アクティビティの新たなクラスターを追跡するために使用されるMicrosoftのDEV-####命名規則を使用して追跡されています。このグループには、最終的に名前付きアクターに変換されるか、既存のアクターとマージされるまで、DEV-0586 という名称が付けられています。Microsoft は 2022 年 1 月 13 日にこの悪意のあるアクティビティを目撃し始め、調査の結果、WhisperGate として追跡されている新しいマルウェア ファミリが発見されました。

WhisperGateテクニカル分析

WhisperGateマルウェアには3つの段階があり、以下の図1で詳しく説明します。 3つのステージはすべて、マシンが再起動する前に実行する必要があります。 ステージ1では、被害者のブートディスクのMBRが破損し、再起動時にシステム上の他のドライブが破損します。 ステージ 2 は、アタッチされたファイル システムやネットワーク ドライブ上のファイルを破損するために使用されるステージ 3 をダウンロードします。 ステージ 1 またはステージ 2 のどちらか一方だけが正常に実行されると、ファイルの損傷が発生します。 テストでは、GUID パーティション テーブル (GPT) ディスクは WhisperGate のステージ 1 マルウェアによって修復不可能なほど破壊されたわけではないため、マルウェアのそのステージに対して部分的に免疫があることがわかりました。 ステージ2とステージ3を含めることは、GPTスタイルのブートディスクを使用している被害者もマルウェアの影響を受けるようにする方法であると推測しています。 ただし、ステージ3はリモートネットワークドライブも対象としているため、被害者のブートディスクで使用されているパーティションスキームに関係なく、さらに被害が及ぶ可能性があります。

whispergate-malware-corrupts-computers-ukraine-1-1.png
図 1: WhisperGate malware (情報源: Recorded Future) の段階
ステージ 1: マスター ブート レコード (MBR) を上書きする

ステージ 1 は、Windows 上の GNU コンパイラ コレクション (GCC) 6.3.0 をサポートする Minimalist GNU for Windows (MinGW) 開発環境を使用してコンパイルされます。 バイナリの主な目的は、"\\.\PhysicalDrive0" の MBR をカスタム MBR で上書きし、その影響はマシンが再起動するまで表示されないことです。 起動時に、コンピュータのBIOSは、MBRを検索するときに使用するディスクの順序を決定します。 PhysicalDrive0 の MBR を上書きすると、そのディスクが BIOS によってチェックされる最初のディスクであると想定されますが、これは通常、妥当な仮定です。 マシンが再起動し、カスタム MBR コードが実行されると、図 2 に示す身代金メモがユーザーに表示されます。

whispergate-malware-corrupts-computers-ukraine-2-1.png
図 2: ウィスパーゲートのステージ1実行後に表示される身代金メモ(情報源: Recorded Future)

身代金要求メモを表示した後、MBR コードは各ドライブのセクションを 199 バイト間隔で、図 3 に示す内容で上書きします。 各ドライブに書き込まれる内容は 6 バイト目で異なり、0x00 バイトから順番に増加します。

whispergate-malware-corrupts-computers-ukraine-3-1.png
図 3: ディスクに書き込まれる内容の 16 進数ビュー (情報源: Recorded Future)

MBR コードは、図 4 に示すように、 割り込み0x13を介して拡張書き込み関数呼び出しを行うことで、各ドライブにコンテンツを複数回書き込みます。

whispergate-malware-corrupts-computers-ukraine-4-1.png
図 4: ドライブを列挙し、見つかった各ディスクのセクションを上書きするMBR命令(出典:Recorded Future)

被害者がブートディスクでGPTスタイルのパーティションテーブルを使用している場合、ステージ1は有効になりません。 再起動すると、Windowsは起動できなくなります。ただし、ディスクドライブを破損するWhisperGateのMBRコードは実行されません。 GPTディスクはディスクの最後にGPTテーブルのバックアップコピーを保持するため、被害者はライブLinuxディストリビューションを実行し、図5に示すように gdisk ユーティリティの リカバリコマンドを使用して GPTテーブルを復元できます。

whispergate-malware-corrupts-computers-ukraine-5-1.png
図 5: gdiskリカバリコマンドを使用して破損したGPTテーブルを復元する(出典:Recorded Future)
ステージ2:ダウンローダー

ステージ2はNETで書かれており、その主な機能はマルウェアの第3ステージをダウンロードして実行することです。 PowerShell コマンド "_powershell -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwAA==_" を使用して 20 秒後に実行を開始し、"_Start-Sleep -s 10_" にデコードします。 10秒の遅延は2回実行され、マルウェアがAVエンジンによる検出を回避するために使用される可能性があります。 このマルウェアは、 https://cdn[.]discordapp[.]com、 名前付きTbopbh.jpg。 ステージ 2 では、JPG ファイルのバイトを反転し、JPG ファイルを .NET アセンブリとして反射的に読み込み、エクスポートされた関数 "_Ylfwdwgmpilzyaph_" を呼び出します。

ステージ3:ファイル破損者

Stage 3 of the malware is written in .NET and obfuscated with eazfuscator. Upon execution, 2 embedded PE executable resources (AdvancedRun and Wagybg) are unpacked, decoded, and GZIP decompressed. Next, a .vbs script is written to “%AppData%\local\Temp\Nmddfrqqrbyjeygggda.vbs” and executed with Wscript.exe. The script, shown in Figure 6, is used to exclude the entire C drive from being scanned by Windows Defender.

whispergate-malware-corrupts-computers-ukraine-6-1.png
図 6: Contents of “%AppData%\local\Temp\Nmddfrqqrbyjeygggda.vbs” (Source: Recorded Future)

次に、AdvancedRunが実行され、Windows Defenderサービスが停止され、そのプログラムデータフォルダーが削除されます。 AdvancedRunは 、NirSoft によって開発された無害なソフトウェアであり、さまざまな設定でプログラムを実行するために使用されます。 著者がAdvancedRunを使用したのは、Windows Defenderを無効にするコマンドを実行するために必要なTrustedInstaller権限でプログラムを実行できるためです。 図 7 と図 8 は、AdvancedRun.exe の実行に使用されるコマンド ライン引数を示しています。 "_/RunAs 8_" 引数を使用すると、TrustedInstaller 特権を使用するように AdvancedRun に指示します。

whispergate-malware-corrupts-computers-ukraine-7-1.png
図 7: 「AdvancedRun.exe」Windows Defender サービスの停止 (情報源: Recorded Future)
whispergate-malware-corrupts-computers-ukraine-8-1.png
図 8: 「AdvancedRun.exe」Windows Defenderのプログラムデータを再帰的に削除する(情報源: Recorded Future)

最後に、Wagybgは、InstallUtil.exeプロセスでのプロセスハロウイングを介して実行されます。 同様の手法は、2019年にフィッシングキャンペーンの一環としてNetwireトロイの木馬をロードするために使用されました。InstallUtil は、Microsoft によって作成され、.NET Framework の一部として配布される無害なプログラムです。

マルウェアのこの段階は、ファイルの破損を実行するために使用されます。 まず、GetLogicalDrives() を呼び出してシステム上の論理ドライブのリストを取得し、次に固定メディアまたはネットワークドライブを識別します。 このマルウェアは、これらのドライブで、以下の図9に示す191のファイル拡張子のうち1つで終わるファイルを検索します。 次に、各ファイルの最初の 1 MiB を 0xCC バイトで上書きすることにより、一致するファイルを破損します。

whispergate-malware-corrupts-computers-ukraine-9-1.png
図 9: 標的にされるファイル拡張子(出典:Recorded Future)

ファイルの破損が完了すると、破損者は5つのpingリクエストを111.111.111[.]111 その後、図 10 に示すように自身を削除します。 マルウェアがpingリクエストを行う正確な理由は不明ですが、マルウェア自体を削除するまでの遅延を追加するため、または感染したホストの記録を保持するためであると推測されます。

whispergate-malware-corrupts-computers-ukraine-10-1.png
図 10: ファイル破損者が使用する自己削除機能(情報源: Recorded Future)

軽減策

組織は、WhisperGateマルウェアの破壊機能からデータを保護するために、オフサイトバックアップ戦略を検討することをお勧めします。

今後の展望

この記事の執筆時点では、DEV-0586 は WhisperGate を使用してウクライナの組織を標的にしているだけのようです。 この脅威アクターに関するアトリビューションを含む詳細情報は、今後数日または数週間のうちに公開される予定です。 WhisperGateが公に報告され、セキュリティ専門家にマルウェアについて警告が発せられた今、WhisperGateの開発者はワイパーを変更して検出をより適切に回避する可能性があります。