DeadLockランサムウェア:そのRust暗号化ツールと復旧ネットワークの内部
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
DeadLockは、被害者との通信およびデータ漏洩活動に分散型インフラを採用した新興のRustベースのランサムウェア運用です。このグループはダブルエクストーションモデルに従い、システムを暗号化し、専用のリークブログを通じて盗まれた情報を公開すると脅します。DeadLockは、運用の回復力を高めるためにSessionメッセージングネットワークとPolygonブロックチェーンを使用している点で際立っています。
調査
Microsoftの脅威インテリジェンスは、DeadLockの暗号化プログラムを分析し、その実行フロー、ディフェンス回避手法、および独特の暗号化アーキテクチャを調査しました。この調査では、リソース認識型のスロットリングメカニズムとブロックチェーン技術とオニオンルーティングメッセージングを基盤にした分散型リカバリチャットシステムが明らかになりました。研究者は、ジオフェンシング機能と、終了を狙った特定のサービスやプロセスのリストも特定しました。
緩和策
推奨される緩和策には、Microsoft Defenderでクラウド配信保護とブロックモードでのEDRを有効にすることが含まれます。組織は、無許可のファイル変更や悪意のあるプロセス実行を制限するために、Controlled Folder Access(CFA)およびAttack Surface Reduction(ASR)ルールを展開するべきです。資格情報の衛生を強化し、改ざん防止保護を有効にすることも、ランサムウェアへの暴露を減らすために不可欠です。
対応
DeadLockの活動が検出された場合、組織はMicrosoft Defender XDRの自動攻撃妨害および調査と修復機能を使用するべきです。セキュリティチームは次のような警告を調査するべきです。 不審な壁紙の変更 or ファイルのバックアップが削除されました そして、影響を受けたエンドポイントを迅速に隔離します。迅速な封じ込めは、さらなる横方向の移動やデータ流出を制限するために重要です。
攻撃の流れ
検出
異常なコードページ変更の実行(コマンドライン経由)
Proof of Value
C2チャネルとしての公共ノードEthereum乱用の可能性(dns_query経由)
Proof of Value
IOCs(HashSha256)で検出: DeadLockランサムウェア: 分散型リカバリーインフラを備えたRustベースの暗号化の詳細分解
Proof of Value
DeadLockランサムウェアシステム属性と壁紙変更検出 [Windows Sysmon]
Proof of Value
DeadLockランサムウェアのアーティファクト検出 [Windowsファイルイベント]
Proof of Value
DeadLockランサムウェア検出 [Windowsプロセスの作成]
Proof of Value
シミュレーション実行
前提条件: テレメトリー&ベースラインプリフライトチェックが合格していること。
根拠: このセクションは、検出ルールをトリガーするために設計された敵対者技術(TTP)の正確な実行を詳述します。コマンドおよび説明は、特定されたTTPに直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目指します。抽象的または無関係な例は誤診につながります。
-
攻撃の説明とコマンド: 敵対者はランサムウェアの展開を目指しています。最大の影響を与え、検出を避けるために、最初にツールの動作を真似して権限を昇格しようとします。
SeDebugPrivilege。彼らはRunAsや、ルールが対象にしているコマンドラインパターンを使用します。シミュレーションは、RunAsのロジックを用いてプロセスを起動しようとするコマンドを実行し、システム言語が除外されていないロケール(例: 英語)に設定されていることを確認してnot selection_languageによって警告が抑制されないようにします。 -
回帰テストスクリプト:
# DeadLockランサムウェア検出を トリガーするシミュレーションスクリプト # このスクリプトは、コマンドライン経由でRunAsを使用しようとする試みを模倣します # 言語除外がそれを見逃さないようにして。 Write-Host "[+] DeadLock ランサムウェアシミュレーションを開始しています..." -ForegroundColor Cyan # 1. ルールの'選択コマンド'部分を模倣する # 'RunAs'を使用して、プロセス作成イベントを生成します $TargetProcess = "cmd.exe" $CommandToRun = "RunAs /user:Administrator cmd.exe" Write-Host "[+] 検出をトリガーするためのコマンドを実行: $CommandToRun" -ForegroundColor Yellow # Start-Processを使用して、文字列を含むプロセスの作成をシミュレート Start-Process "cmd.exe" -ArgumentList "/c $CommandToRun" -WindowStyle Hidden Write-Host "[+] シミュレーションコマンド送信済み。SIEMで警告を確認してください。" -ForegroundColor Green -
クリーンアップ コマンド:
# シミュレーションによって生成された残留する可能性のあるcmdプロセスをすべてクリーンアップ Stop-Process -Name "cmd" -Force -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了。" -ForegroundColor Cyan