内部構造の解析:「Gentlemen」ESXiランサムウェアの解剖 | CXO Transformation

「Gentlemen」ランサムウェアグループは、VMware ESXiハイパーバイザーを標的に特化した高度なELFバイナリを展開していることが確認されています。このサンプルはESXiコマンドラインエコシステム(esxcli、vim-cmd)に対する深い知識を有しており、暗号化前に仮想マシン(VM)を強制終了し、ストレージバッファを操作する積極的な戦略を採用しています。

逆コンパイルされたCコードの分析により、ChaCha20暗号化を利用する高度なマルチスレッド型ロッカーが判明しました。このロッカーは、大容量の仮想ディスクを迅速に破壊するための断続的な「速度」モードと、自動化されたサンドボックスを妨害するための特定のアンチ解析ガードレールを実装しています。

ゲートキーパー:アンチ解析引数チェック

このマルウェアが採用する最初の防衛手段の一つが「パスワード」チェックです。自動化されたサンドボックスは多くの場合、引数なしでサンプルを実行して動作を観察します。「Gentlemen」はこれを想定しており、コマンドラインから正しいパスワードが提供されない場合、バイナリは単に「bad password」と表示して終了し、悪意ある活動を一切露呈しません。

エントリ関数 FUN_00401660 に見られるように、マルウェアはargv[2]をハードコードされた文字列と明示的に照合します:

// コード参照: FUN_00401660
iVar3 = strcmp((char *)param_2[2], “KhHULsJugc”); // ハードコードされたパスワード
if (iVar3 != 0) {
  puts(“bad password”);
  return 1;
}

このシンプルなロジックにより、KhHULsJugcキーを知らない汎用解析環境ではマルウェアが起動しないよう効果的に防止されています。

ESXi環境の武器化

認証が完了すると、マルウェアはESXiホストへの最大限の打撃に向けた準備を行います。単にファイルを暗号化するだけでなく、実行中のVMを強制終了することでファイルハンドルを積極的に解放し、暗号化されたデータができる限り早くディスクにコミットされるようバッファ設定を変更します。

バッファキャッシュの操作

マルウェアはESXiのバッファキャッシュ設定を変更してキャッシュサイズを縮小しフラッシュ頻度を増加させることで、暗号化されたファイル操作がより迅速かつ永続的にディスクへ書き込まれるようにし、揮発性メモリバッファに残る未暗号化データの量を削減します:

system(“esxcfg-advcfg -s 32768 /BufferCache/MaxCapacity > /dev/null 2>&1”);
system(“esxcfg-advcfg -s 20000 /BufferCache/FlushInterval > /dev/null 2>&1”);

「キル」ループ

仮想ディスク(.vmdk)を暗号化するには、実行中のVMプロセスによってファイルがロックされていない状態である必要があります。マルウェアはVMをシャットダウンするために二段階のアプローチを採用しています:

  1. ソフトストップ:vim-cmd vmsvc/power.off を使用してVMを正常にシャットダウンしようとします。
  2. ハードキル:esxcli vm process list を使用して実行中のプロセスを反復処理し、プロセスが残存している場合は強制終了します。

// コード参照: FUN_00401660
snprintf((char *)__s, 0x200, “esxcli vm process kill –type=force –world-id=%s > /dev/null 2>&1”);
system((char *)__s);

暗号化実装:ステルスより速度を優先

マルウェアはChaCha20ストリーム暗号を使用しています。これはハードウェアAESアクセラレーションを持たないCPUでの高いパフォーマンスから、現代のランサムウェアで標準的に採用されている選択肢です。

ChaCha20の特定:

関数 FUN_00404e20 において、標準的な「expand 32-byte k」定数を使用したChaCha20状態マトリックスの初期化が確認されます:

// コード参照: FUN_00404e20 – ChaCha20定数
*(undefined4 *)(param_1 + 0x10) = 0x61707865; // “apxe” (expa)
*(undefined4 *)((long)param_1 + 0x84) = 0x3320646e; // “nd 3” (3 dn)
*(undefined4 *)(param_1 + 0x11) = 0x79622d32; // “2-by” (yb-2)
*(undefined4 *)((long)param_1 + 0x8c) = 0x6b206574; // “te k” (k et)

断続的な「速度」モード:

テラバイト規模のVMデータを暗号化するには時間がかかります。攻撃を迅速化するため、「Gentlemen」はファイルの一定割合のみを暗号化する断続暗号化フラグを実装しています。FUN_00401660 および FUN_00402720 のロジックは、選択されたモードに基づいてジャンプ間隔を計算します:

  • –fast:ファイルの9%を暗号化。
  • –superfast:ファイルの3%を暗号化。
  • –ultrafast:ファイルの1%を暗号化。

// コード参照: FUN_00402720
if (DAT_006086f4 != 0) {
    dVar12 = dVar12 * 0.01; // Ultrafast: 1%
} else if (DAT_006086f8 == 0) {
    dVar12 = dVar12 * 0.09; // Fast: 9%
} else {
    dVar12 = dVar12 * 0.03; // Superfast: 3%
}

このロジックにより、脅威アクターは10TBのデータストアを数時間ではなく数分で使用不能にすることができます。

永続化メカニズム

システムが再起動されたりセッションが中断されても暗号化プロセスが完了するよう、「Gentlemen」は積極的な永続化フックをインストールします。

FUN_004024f0 において、コードは実行中の実行ファイルを隠しロケーションにコピーし、システム起動スクリプトを変更します:

  1. RC.Localインジェクション:/etc/rc.local.d にスクリプトを作成し、起動から30秒後にペイロードを実行します。
  2. Crontab操作:rootのcrontabに @reboot エントリを追加します。

// コード参照: FUN_004024f0
snprintf(acStack_839 + 1, 0x800,
    “mkdir -p /etc/rc.local.d 2>/dev/null; echo ‘#!/bin/sh’ > ‘%s’; …”, …);
snprintf(acStack_839 + 1, 0x800,
    “echo ‘@reboot sleep 60 && %s %s’ | crontab – 2>/dev/null”, …);

侵害の痕跡(IOCs)

  • マルウェアハッシュ:5dc607c8990841139768884b1b43e1403496d5a458788a1937be139594f01dca1eece1e1ba4b96e6c784729f0608ad2939cfb67bc4236dfababbe1d09268960c
  • 身代金拡張子:.fjuuk0 がファイルに付加されます。
  • 身代金要求ノート:README-GENTLEMEN.txt がディレクトリに配置されます。
  • 実行パスワード:KhHULsJugc(コマンドライン履歴ログで確認)。
  • Yaraルール:

rule rbrk_linux_ransomware_gentlemen_ESXi {

    meta:

        description = “VMware ESXiを標的としたGentlemenランサムウェアを検出”

        author = “Rubrik Zero Labs”

        date = “2026-02-03”

        hash = “5dc607c8990841139768884b1b43e1403496d5a458788a1937be139594f01dca”

    strings:

        $s1 = “KhHULsJugc” ascii

        $s2 = “.fjuuk0” ascii

        $s3 = “README-GENTLEMEN.txt”

        $s4 = “esxcli vm process kill” ascii

        $s5 = “vim-cmd vmsvc/power.off” ascii

        $s6 = “esxcfg-advcfg -s 32768 /BufferCache/MaxCapacity” ascii

        $s7 = “–superfast” ascii

        $s8 = “–ultrafast” ascii

    condition:

        all of ($s*)

}

結論

「Gentlemen」ESXiランサムウェアは、仮想化インフラストラクチャに対する成熟した専用脅威を体現しています。断続暗号化とESXi固有の管理コマンドの使用は、ランサムウェアオペレーターがツールの速度と最大限の破壊力を追求した最適化を継続していることを示しています。

翻訳元: https://zerolabs.rubrik.com/blog/under-hood-deconstructing-gentlemen-esxi-ransomware

ソース: zerolabs.rubrik.com