内部構造:「Gentlemen」ESXiランサムウェアの分解 | CXO変革

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

デコンパイルされたCコードの分析により、ChaCha20暗号化を利用する洗練されたマルチスレッドロッカー、大きな仮想ディスクを迅速に破損させるための間欠的な「速度」モード、および自動化されたサンドボックスを阻止するために設計された特定のアンチ解析ガードレールが明らかになりました。

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

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

エントリ関数FUN_00401660で確認されるように、マルウェアはargv[2]をハードコードされた文字列に対して明示的にチェックします:

// Code Reference: 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を使用して実行中のプロセスを反復処理し、それらが継続している場合は終了します。

// Code Reference: 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状態マトリックスの初期化を観察します:

// Code Reference: 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%を暗号化します。

// Code Reference: 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操作:ルートcrontabに@rebootエントリを追加します。

// Code Reference: 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”, …);

侵害の兆候(IOC)

  • マルウェアハッシュ:5dc607c8990841139768884b1b43e1403496d5a458788a1937be139594f01dca1eece1e1ba4b96e6c784729f0608ad2939cfb67bc4236dfababbe1d09268960c
  • 身代金拡張:ファイルに追加される.fjuuk0
  • 身代金メモ:ディレクトリに配置されるREADME-GENTLEMEN.txt
  • 実行パスワード:KhHULsJugc(コマンドライン履歴ログで発見)
  • Yaraルール:

rule rbrk_linux_ransomware_gentlemen_ESXi {

    meta:

        description = “Detects Gentlemen Ransomware targeting VMware ESXi”

        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