DeadLockランサムウェアがBYOVDを悪用してEDRを無効化し、バックアップを秘匿的に削除

Cisco Talosは、新たなDeadLockランサムウェアキャンペーンを明らかにしました。このキャンペーンでは、攻撃者が脆弱なBaidu Antivirusドライバ(CVE-2024-51324)を悪用し、「Bring Your Own Vulnerable Driver(BYOVD)」手法でEDRシステムを無効化し、PowerShellスクリプトで防御を解体し、バックアップを削除したうえで、独自の暗号化アルゴリズムを用いてWindows上のファイルを暗号化します。特筆すべき点として、このグループはパブリックなリークサイトを運用しておらず、被害者との連絡はSessionメッセンジャーのみで行っています。

Talosによると、このオペレーションは金銭目的のアクターによって運営されており、暗号化の少なくとも5日前には被害者環境へのアクセスを確立し、DeadLockの展開に向けて系統立てた準備を行います。攻撃チェーンの要となるのがBYOVDです。攻撃者は、正規だが脆弱なBaidu AntivirusドライバBdApiUtil.sysをDriverGay.sysと偽装して導入し、EDRGay.exeというカスタムローダーとともに配置します。ユーザーモードで動作するこのローダーはドライバを初期化し、CreateFile()を通じて通信を確立したうえで、実行中のプロセスを列挙し、アンチウイルスやEDRソリューションを探索します。

その後、攻撃者はドライバの権限処理の欠陥であるCVE-2024-51324を悪用します。ローダーは、IOCTLコード0x800024b4と標的プロセスのPIDを含む細工されたDeviceIOControl()リクエストを発行します。カーネル空間では、ドライバはこれを終了要求として解釈しますが、呼び出し元の権限を検証しません。カーネルレベルの権限で動作しているため、ZwTerminateProcess()を呼び出すだけで、セキュリティサービスを即座に停止させ、その後の悪意ある活動への道を開きます。

暗号化ツールを起動する前に、オペレーターは被害者マシン上で準備用のPowerShellスクリプトを実行します。スクリプトはまず現在のユーザー権限を確認し、必要に応じてRunAsを利用して管理者権限で自分自身を再実行し、UACを回避して標準的なPowerShell制限を弱体化させます。昇格した権限のもとで、Windows Defenderやその他の保護機構を無効化し、バックアップサービス、データベース、暗号化を妨げる可能性のあるその他のソフトウェアを停止・無効化します。同時に、すべてのボリュームシャドウコピーのスナップショットを削除し、被害者から標準的な復旧手段を奪ったうえで、最終的に自壊してフォレンジック分析を困難にします。

スクリプトには、ネットワークコンポーネント(WinRM、DNS、DHCP)、認証メカニズム(KDC、Netlogon、LSM)、およびコアとなるWindowsサービス(RPCSS、プラグアンドプレイ、イベントログ)など、重要なシステムサービスを対象とした精査済みの除外リストが含まれています。これにより、攻撃者はシステムを完全にクラッシュさせることなく、可能な限り多くの防御およびアプリケーションコンポーネントを無効化でき、被害者が身代金メモを読み、脅迫者に連絡し、支払いを行える状態を維持できます。Talosは、ネットワーク共有の削除や代替的なプロセス終了手法に関する部分など、スクリプトの一部がコメントアウトされていることを観測しており、特定の標的向けに温存されたオプションモジュールであることが示唆されます。一部の除外項目は、run[.]txtという外部ファイルから動的に読み込まれます。

テレメトリによれば、初期アクセスは侵害された正規の認証情報を通じて取得されています。侵入後、攻撃者は永続的なリモートアクセスを確立します。reg addを用いてレジストリ値fDenyTSConnectionsを変更してRDPを有効化し、netsh advfirewallでポート3389を開放するファイアウォールルールを作成し、RemoteRegistryサービスを手動起動に設定したうえで起動し、リモートレジストリ操作を可能にします。

暗号化の1日前には、オペレーターはホスト上に新たなAnyDeskインスタンスをインストールします。これは、環境内にすでに他のAnyDeskインストールが存在しているにもかかわらず行われるため、不審な挙動として際立ちます。AnyDeskはサイレントモードで展開され、Windows起動時に自動起動するよう設定され、無人アクセス用のパスワードで保護され、攻撃者のセッションを妨げないようアップデートは無効化されます。その後、積極的な偵察とラテラルムーブメントが続きます。nltestでドメインコントローラーとドメイン構造を特定し、net localgroup /domainで特権グループを列挙し、pingとquserでホストの到達性とアクティブユーザーを確認し、mstscとmmc compmgmt.mscでRDP接続とリモート管理を行います。また、内部IPアドレスを対象としたiexplore.exeの起動から、内部Webリソースへのアクセスが推測されます。

専用のフェーズでは、Windowsに組み込まれた保護機能の弱体化に焦点が当てられます。Talosは、正規のシステムバイナリSystemSettingsAdminFlows.exeを用いてWindows Defenderの設定を変更していることを記録しました。このコマンドシーケンスにより、リアルタイム保護、クラウドベース機能、サンプル送信、高度な通知が無効化されます。これらの変更は信頼されたWindowsユーティリティによって行われるため、一部の検知ルールを回避することが可能です。

チェーンにおける主要な「ペイロード」は、Windowsシステム向けに設計されたDeadLock暗号化ツールそのものです。C++で記述されたこのバイナリは2025年7月にコンパイルされており、研究者のレーダーにこのグループが初めて現れた時期と一致します。実行されると、DeadLockはProgramDataディレクトリに埋め込みのバッチスクリプトをドロップします。このスクリプトはchcp 65001でコンソールのコードページをUTF-8に切り替え、メインの暗号化バイナリを起動し、自身を削除します。その後DeadLockはプロセスホローイングを用いて、自身のコードをrundll32.exeにインジェクションし、正規のシステムプロセスを装います。

DeadLockの挙動は、実行ファイル内に直接埋め込まれた8,888バイトの大きな設定ブロックによって制御されています。起動時に暗号化ツールはこのブロックを「|」区切りで解析し、暗号シード、タイミング値、終了対象のプロセスおよびサービスのリスト、除外するファイル拡張子とパス、キャンペーン識別子、身代金メモの本文、HTMLマーカー、ビジュアルアセットなどのパラメータをメモリに読み込みます。設定には、基礎となる暗号鍵として使用される65文字の数値文字列がハードコードされており、疑似乱数列や実行ディレイのエントロピー源として機能するタイミング値も含まれています。

「キルリスト」は、標準的なWindowsユーティリティ(エクスプローラー、PowerShell、タスクマネージャー)に加え、価値の高いアプリケーションを標的とします。リモートアクセスツール(AnyDesk、RustDesk、mstsc)、クラウドストレージクライアント(Dropbox、OneDrive)、セキュリティコンポーネント(Antimalware Service、SecurityHealthService、SmartScreen)、データベースサービス(Microsoft SQL Server、Sybase SQL Anywhere、MySQL)、バックアップソリューション(Veeam、Veritas Backup Exec、Acronis、CA Arcserve、Carbonite)、アンチウイルスおよびEDR製品(Symantec/Norton、McAfee、360 Security)、さらにQuickBooks、Microsoft Exchange、Apache Tomcat、VMwareツールなど広く利用される業務ソフトウェアが含まれます。一方で、設定にはWindows、Program Files、ProgramData、System Volume Informationといったシステムディレクトリや、実行ファイル、ドライバ、ブートローダー、プロファイル設定ファイルなどの重要なファイルおよび拡張子を対象とした厳格な除外リストも定義されています。これにより、OSの安定性を維持しつつ、データ暗号化を最大化します。

暗号化プロセス自体も特に高度です。DeadLockはファイルシステムを再帰的に走査し、除外されたファイルやディレクトリをスキップしながら、標準的なWindows暗号APIではなくカスタムのストリーム暗号を使用します。キーストリームはGetSystemTimeAsFileTimeで取得したシステム時刻から導出され、追加の数学的処理と組み合わせて8バイトの疑似乱数列を生成します。ファイルは16バイト単位で処理され、内容がUTF-8として妥当か検証されたうえで、生成されたキーストリームを用いてメモリ上で暗号化され、その後ディスクに書き戻されます。暗号化された各ファイルは16進数の識別子と.dlock拡張子を付けてリネームされます。サンドボックス解析を回避するため、マルウェアは実際の暗号化を開始する前に約50秒のディレイを挿入します。

同時に、DeadLockは目立つビジュアル上の変更も行います。ProgramDataにアイコンファイル、バッチスクリプト、ビットマップ画像をドロップし、その後 ソフトウェア配下のDefaultIconレジストリキーを変更し、.dlock拡張子にカスタムアイコンを割り当てて、暗号化されたすべてのファイルにブランドを付与します。ランサムウェアはさらに、 デスクトップの壁紙をカスタム画像に置き換え、コマンドラインユーティリティを無効化して手動での復旧を妨害します。暗号化されたファイルを含むすべてのディレクトリには、身代金メモが配置されます。

身代金メモはおなじみの文言に従っています。オペレーターは「軍事レベル」の暗号化を使用していると主張し、6ステップの復旧プロセスを概説し、独自の復号試行やファイル名変更を行わないよう警告します。支払いはBitcoinまたはMoneroで要求され、メモのファイル名にはREAD ME.<hex_identifier>.txtという形式で一意の被害者識別子が埋め込まれます。連絡手段として攻撃者はSessionメッセンジャーに依存しており、そのエンドツーエンド暗号化と匿名性により、オペレーターの身元特定リスクを最小化し、交渉は一意のSession IDを中心に行われます。

BYOVDの悪用、積極的な防御抑制、特注の暗号化方式、そしてパブリックなリークサイトの不在という組み合わせは、DeadLockが静かでありながら技術的に高度な恐喝を志向していることを示しています。潜在的な被害者にとって、最新のアンチウイルスソフトウェアだけではもはや十分ではありません。脆弱なドライバの有無を監視し、正規のWindowsユーティリティの異常な利用を精査し、AnyDeskのようなリモートアクセスツールのインストールを追跡し、.dlock拡張子がファイルサーバー上に現れ始めるはるか前から、異常なPowerShellアクティビティを調査することが極めて重要です。

翻訳元: https://meterpreter.org/deadlock-ransomware-uses-byovd-to-kill-edr-and-erase-backups-stealthily/

ソース: meterpreter.org