2種類のサンプル、片方はディスクを物理レベルで破壊
Microsoftの脅威分析チームは、GigaWiperの2種類のサンプルを被害環境で確認しました。いずれもストリップされていない(デバッグ情報が残った)Golang製の実行ファイルです(出典)。
1つ目は単体のワイパーで、個別ファイルの削除ではなく物理ディスクレベルで動作します。生のディスク内容を上書きし、パーティションのメタデータを削除したうえで、Windowsのシャットダウン機能を使い再起動なし・遅延ゼロで即座にシステムを再起動させます。
「複数の破壊的機能をモジュール型バックドア1つに統合したことは、通常は純粋な破壊のみを目的とするワイパー型マルウェアにおいて、注目すべき変化を示している」(Microsoft Threat Intelligence)
より厄介な第2サンプル——C2通信と多彩な破壊コマンド
2つ目のサンプルは、同様のディスク破壊機能に加えて、バックドアとしての永続化機能とC2(指令・制御)通信機能を備えています。C2サーバーからのコマンド受信にはAMQPプロトコル経由のRabbitMQを、コマンドステータスや出力の更新にはRedisを利用しています。
GigaWiperのコマンドは複数のカテゴリに整理されており、次のような機能を備えています。
- 常時実行系:継続的な画面録画などのタスク
- 管理コマンド:システム管理機能
- 特殊コマンド:Windowsの復旧機能を無効化し、ブルースクリーン(BSOD)を発生させて端末を起動不能にするコマンドを含む
- 破壊コマンド:Crucioランサムウェアをベースにしたファイル暗号化。暗号鍵はランダム生成され一切保存されないため、被害組織は復号が原理的に不可能
- 暗号化コマンド:AES-256(CBCモード)による一括暗号化・復号
- 窃取コマンド:MinIO Client(mc)を使った窃取データのリモートストレージへのアップロード
このほかPowerShellコマンドの実行、スクリーンショット・画面録画、システム情報収集、Windowsイベントログの消去、キーボード・マウスを含む遠隔操作など、攻撃者が自在に使える機能が多数搭載されています(出典)。
少なくとも3つの既存マルウェアを統合
Microsoftによると、GigaWiperはCrucioランサムウェア、FlockWiperのGo移植版、そして単体型ディスクワイパーという、これまで別々に存在していた少なくとも3つのマルウェアファミリーの要素を組み合わせて構築されています。
「今回の発見は、攻撃者のツールが時間とともに進化してきたことを示している。機能が単一の堅牢なバックドアへと統合されたことで、攻撃者は感染システムを制御・破壊するための手段をより多く手にした」(Microsoft Threat Intelligence)
MicrosoftはThe Registerからの取材に対し、GigaWiperによる攻撃の規模や範囲についての質問には回答しなかったとのことです。
複数の破壊機能を1つのバックドアに統合するという設計思想は、防御側にとっても対応の難易度を上げるものだと感じます。単一の侵入経路から、データ窃取・恐喝・完全な破壊まで一気通貫で実行できてしまう点は、正直かなり厄介です。C2通信にRabbitMQ・Redisという一般的なミドルウェアを使っている点も、通信の検知をより難しくしている可能性がありそうです。