19段階のLockBit5.0、最新クロスプラットフォームランサムウェアの内部:パート1
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
この記事は、Windows、Linux、およびVMware ESXiを対象とした19個のLockBit 5.0ランサムウェアサンプルをレビューします。ChaCha20による高速暗号化、このファミリーのクロスプラットフォーム設計、および仮想マシンをディスク暗号化前にシャットダウンできるESXiに焦点を当てた動作を強調しています。記事は実行段階、解析回避手段、マルウェアが影響時に優先するハイパーバイザ固有のファイルターゲットを説明します。
調査
研究者はELFバリアントの静的解析を行い、組み込みのパス、コマンド文字列、および構成スイッチを抽出しました。ESXi上では、マルウェアはVMware管理ツール(vim-cmdを含む)を利用して、ディスク暗号化前に仮想マシンを列挙およびシャットダウンし、valgrindやfridaなどのツールに対するデバッグ防止チェックを含みます。サンプルは実行テレメトリを/var/log/encrypt.logに書き込み、ルーチン完了後に自己削除をサポートしています。
緩和策
VMware管理コマンドの予期しない使用、計画外のVMシャットダウンイベント、/var/log/encrypt.logファイルの作成、および.vmdk.fastpassマーカーなどのアーティファクトを監視してください。ハイパーバイザ上での信頼されていないELFの実行を防止し、ESXi上で実行を許可されるバイナリおよびスクリプトに対して厳格なホワイトリストを適用することで露出を減らします。
対応
アクティビティが検出された場合は、影響を受けたESXiホストを隔離し、VMプロセスを停止して拡散を防ぎ、証拠を保全してください(ELFペイロード、encrypt.log、および関連するホストログ)。クリーンなスナップショット/バックアップからの復元を開始し、その後、追加のランサムウェアコンポーネントを検索し、重要なハイパーバイザファイルの整合性を検証します。
graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#cccccc classDef technique fill:#e6e6e6 %% アクションノード validate_env[“<b>アクション</b> – <b>T1059.004 Unix シェル</b><br/><b>説明</b>: ESXi 管理コマンド (T1675) および Unix シェルコマンドを使用して ESXi 環境を検証。”] class validate_env action enumerate_vms[“<b>アクション</b> – <b>T1673 仮想マシンの列挙</b><br/><b>説明</b>: ESXi ホスト上に存在する仮想マシンを一覧表示。”] class enumerate_vms action poweroff_vms[“<b>アクション</b> – <b>T1675 ESXi 管理コマンド</b><br/><b>説明</b>: vimu2011cmd を使用して対象の仮想マシンをシャットダウン。”] class poweroff_vms action anti_analysis[“<b>アクション</b> – Antiu2011analysis チェック<br/><b>技術</b>: T1497.001 システムチェック, T1497.002 ユーザーアクティビティチェック, T1622 デバッガ回避”] class anti_analysis action encrypt_vm[“<b>アクション</b> – VM ファイルの暗号化<br/><b>技術</b>: T1573.001 暗号化チャネル(対称暗号)ChaCha20 を使用”] class encrypt_vm action obfuscate_files[“<b>アクション</b> – 暗号化ファイルの難読化<br/><b>技術</b>: T1027.002 ソフトウェアパッキング”] class obfuscate_files action archive_data[“<b>アクション</b> – 暗号化ファイルのアーカイブ化<br/><b>技術</b>: T1560.003 カスタム手法によるアーカイブ”] class archive_data action wipe_free_space[“<b>アクション</b> – 空き領域およびログ活動のオプション消去”] class wipe_free_space action self_delete[“<b>アクション</b> – クリーンアップ<br/><b>技術</b>: T1070.004 ファイル削除, T1027.001 バイナリパディング, T1027.005 ツールからのインジケータ除去”] class self_delete action %% ツールノード tool_esxi_admin[“<b>ツール</b> – ESXi 管理コマンド<br/><b>目的</b>: ESXi ホスト設定および VM ライフサイクルの管理。”] class tool_esxi_admin tool tool_vim_cmd[“<b>ツール</b> – vimu2011cmd<br/><b>目的</b>: VM 操作用の ESXi コマンドu2011ライン ユーティリティ。”] class tool_vim_cmd tool tool_chacha20[“<b>ツール</b> – ChaCha20 暗号化モジュール<br/><b>目的</b>: 高速u2011パスおよび完全u2011パスの対称暗号化を実行。”] class tool_chacha20 tool tool_custom_archive[“<b>ツール</b> – カスタムアーカイバ<br/><b>目的</b>: 暗号化された VM ファイルを独自のアーカイブ形式にパッケージ化。”] class tool_custom_archive tool %% 接続 validate_env –>|使用| tool_esxi_admin validate_env –>|実行| tool_vim_cmd validate_env –>|につながる| enumerate_vms enumerate_vms –>|使用| tool_vim_cmd enumerate_vms –>|につながる| poweroff_vms poweroff_vms –>|使用| tool_vim_cmd poweroff_vms –>|につながる| anti_analysis anti_analysis –>|実行| encrypt_vm encrypt_vm –>|使用| tool_chacha20 encrypt_vm –>|につながる| obfuscate_files obfuscate_files –>|につながる| archive_data archive_data –>|使用| tool_custom_archive archive_data –>|につながる| wipe_free_space wipe_free_space –>|につながる| self_delete self_delete –>|使用| tool_esxi_admin
アタックフロー
シミュレーション実行
前提条件: テレメトリとベースラインの事前確認が通過していること。
理由: このセクションでは、検出ルールをトリガーするよう設計された敵の技術(TTP)の正確な実行を詳述します。コマンドと説明は特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。
-
アタックナラティブとコマンド:
ESXiホストへの管理者アクセスを持つ攻撃者が、vSphereクライアントを介してLockBit 5.0ペイロードをアップロードします。ランサムウェアは、作業ディレクトリを以下に作成し始めます/var/tmp/.guestfs-0/appliance.d/root、暗号化ログを以下に書き込みます/var/log/encrypt.log、そしてすべてのVMFSデータストア(/vmfs/volumes/)を横断して仮想ディスクファイルを暗号化し始めます。以下のコマンドは、無害なダミーファイルを使用してその動作をエミュレートします:- ランサムウェアのステージングディレクトリとダミーの「暗号化された」VMFSファイルを作成します。
- LockBitの暗号化ステータスを模倣するログエントリを書き込みます。
- VMFSボリューム内の深い場所にファイルを作成し、バルク暗号化活動を再現します。
-
回帰テストスクリプト:
#!/usr/bin/env bash set -euo pipefail # 1️⃣ ステージングディレクトリを作成(LockBitペイロードのアンパックをシミュレート) mkdir -p /var/tmp/.guestfs-0/appliance.d/root echo "LockBit 5.0 ステージングディレクトリが作成されました" > /var/tmp/.guestfs-0/appliance.d/root/stage.txt # 2️⃣ 暗号化ログを書き込み(ランサムウェア活動のログ記録をシミュレート) LOGFILE="/var/log/encrypt.log" echo "$(date '+%Y-%m-%d %H:%M:%S') - VMFSデータストアでの暗号化開始" | sudo tee -a "$LOGFILE" # 3️⃣ VMFSボリューム上のバルクファイル暗号化をシミュレート DUMMY_VMFS_PATH="/vmfs/volumes/lockbit_simulation" mkdir -p "$DUMMY_VMFS_PATH" dd if=/dev/zero of="$DUMMY_VMFS_PATH/encrypted_dummy.vmdk" bs=1M count=10 status=none echo "ランサムウェア暗号化をエミュレートするためにダミーVMFSファイルが作成されました" | sudo tee -a "$DUMMY_VMFS_PATH/notes.txt" echo "=== シミュレーション完了。 ==="ESXiホスト上でroot(またはsudo経由)としてスクリプトを実行します。
auditdはopen,writeを生成し、creatSigmaルール内のすべてのキーワードに一致するイベントを生成します。 -
クリーンアップコマンド:
#!/usr/bin/env bash set -euo pipefail sudo rm -rf /var/tmp/.guestfs-0/appliance.d/root sudo rm -f /var/log/encrypt.log sudo rm -rf /vmfs/volumes/lockbit_simulation echo "=== クリーンアップ完了。 ==="