本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
Active DirectoryのNTDS.ditを狙う正規RMM悪用攻撃の脅威とドメイン掌握を防ぐ多層防御設計
【脅威の概要と背景】
正規リモート管理ツールを悪用し、Volume Shadow Copy等経由でNTDS.ditを窃取してドメイン全資格情報を奪う攻撃が多発中。
近年、AnyDeskやConnectWise ScreenConnect、Splashtopなどの正規RMM(Remote Monitoring and Management)ツールを踏み台とし、Active Directory(AD)のドメインコントローラー(DC)へ侵入する攻撃が急増しています(MITRE ATT&CK: T1219, T1003.003)。攻撃者はEDRによる検知を回避するため、標準のバックアップ機能である Volume Shadow Copy Service (VSS) や ntdsutil.exe などの正規コマンド(Living off the Land: LotL)を悪用して NTDS.dit ファイルと SYSTEM レジストリハイブを窃取します。これにより、オフラインで全ドメインユーザーおよびコンピュータのハッシュ化されたパスワード(NTLMハッシュやKerberos鍵)が解読され、ドメイン全体の完全掌握へと繋がります。
【攻撃シナリオの可視化】
graph TD
A["攻撃者"] -->|正規RMMツールの不正利用| B["初期侵入・足場確立"]
B -->|権限昇格/横展開| C["ドメインコントローラーへ到達"]
C -->|ntdsutil / vssadmin 実行| D["NTDS.ditのシャドウコピー作成"]
D -->|NTDS.dit & SYSTEMハイブ抽出| E["外部へデータ漏出"]
E -->|オフライン解析 SecretsDump等| F["全ドメイン資格情報の奪取・完全掌握"]
攻撃の流れは、境界防御の突破ではなく正規ツールによるアクセスから始まります。侵入後にDC上でバックアップ処理を装って NTDS.dit を抽出し、ネットワーク検知を回避しながらオフラインで全暗号化データを解析する点が特徴的です。
【安全な実装と設定】
NTDS.dit ファイルは動作中、オペレーティングシステムによって排他的にロックされているため、直接コピーすることは不可能です。攻撃者はこの制限を回避するために ntdsutil や vssadmin を使用します。
誤用例(脆弱な運用・設定)
特権IDの管理が不十分で、不要なRMMツールの自動実行や、DC上での制限のないバックアップコマンド実行を許容している状態。
# 誤用例:攻撃者が悪用する標準的なNTDS抽出コマンドスクリプト # EDRや監査ログの設定が不十分な環境では検知されずに実行される ntdsutil "ac i ntds" "ifm" "create full C:\Windows\Temp\AD_Backup" q q
安全な代替案(防御スクリプトおよびグループポリシー/AppLockerの設定)
DC上での不要な正規プロセスの実行制限と、NTDS.dit 関連コマンド実行時の監査・制御を実施します。
# 対策例1: AppLocker / WDAC による不要なRMMおよびバックアップツールの実行制限
# PowerShellによるAppLockerルールの確認と適用状態の定義(管理者実行が必要)
# ルールの作成: ntdsutil や vssadmin の実行を特定バックアップサービスアカウントのみに限定
$Path = "C:\Windows\System32\ntdsutil.exe"
$Acl = Get-Acl $Path
# 一般管理者グループからの直接実行を制限(バックアップ専用管理アカウントのみ許可)
# ※実務ではグループポリシー(GPO)の「アプリケーション制御のポリシー」で一括制御することを推奨
Write-Output "[+] AppLocker/WDACで ntdsutil.exe および vssadmin.exe の実行権限を厳格化してください。"
# 対策例2: DC上での未承認RMMサービスの自動検知・停止スクリプト (監視用プロトタイプ)
$UnauthorizedServices = @("AnyDesk", "ScreenConnect", "SplashtopRemoteService", "TeamViewer")
foreach ($Service in $UnauthorizedServices) {
$Svc = Get-Service -Name $Service -ErrorAction SilentlyContinue
if ($Svc -and $Svc.Status -eq 'Running') {
Stop-Service -Name $Service -Force
Set-Service -Name $Service -StartupType Disabled
Write-EventLog -LogName "Security" -Source "CustomADSecurity" -EventID 9999 -EntryType Warning -Message "Unauthorized RMM Service $Service was stopped automatically."
}
}
保護策の設計原則
最小権限の原則(Tiered Administration): ドメイン管理(Tier 0)と通常のサーバー管理(Tier 1)、端末管理(Tier 2)を明確に分離し、RMMツール経由でTier 0管理者権限が直接参照されないよう設計します。
LAPS(Local Administrator Password Solution)の全社導入: ローカル管理者のパスワードを自動ローテーションし、横展開(Lateral Movement)を防止します。
【検出と緩和策】
1. SIEM/EDRでの検知ポイント(主要イベントID)
| イベントソース | イベントID | 検知対象・条件 |
|---|---|---|
| Windows Security | 4688 | プロセス生成ログ。ProcessName に ntdsutil.exe, vssadmin.exe, esentutl.exe, wmic.exe が含まれ、コマンドラインに shadowcopy や ifm が含まれる場合。 |
| Sysmon | 1 | Process Creation。特に ParentImage が RMMツール(例: ScreenConnect.Client.exe)から cmd.exe や powershell.exe を経由して ntdsutil.exe を呼び出しているケース。 |
| Directory Service | 1644 | ADデータベースに対する過度な検索クエリ(DCSyncや大量のオブジェクト参照の事前予兆)。 |
| System | 7036 | 「Volume Shadow Copy」サービスの予期せぬ開始。 |
2. 緩和策(Workaround)
RMMツールのアプリケーション制御: DCを含むTier 0環境にはRMMツールのインストールを一切許可せず、ネットワークレベルおよびAppLocker/WDACでブロック。
Protected Users グループの活用: ドメイン管理者アカウントを「Protected Users」グループに追加し、NTLM認証の無効化、CredSSPおよびKerberosの特権委任を制限。
【実務上の落とし穴】
正規バックアップソフトウェアとの誤検知(False Positive)
リスク:
vssadminや VSS 関連のAPI呼び出しは、VeeamやCommvaultなどの正規バックアップソリューションも日常的に使用します。対策: 単に「VSSの起動」を検知するのではなく、実行ユーザー(バックアップ専用サービスアカウントか否か)および親プロセス(RMMやインタラクティブなcmd/PowerShellでないか)を組み合わせてSIEMの相関分析ルールを作成する必要があります。
可用性(サービス継続性)とのトレードオフ
リスク: 厳格すぎるプロセス遮断ルールを即座に本番環境のDCへ適用すると、夜間バックアップジョブが失敗し、ディザスタリカバリ不能に陥る危険性があります。
対策: 事前にAudit Mode(監査モード)で最低2週間のログを収集し、正規のバックアップスケジュールとプロセスをホワイトリスト化した上でブロックモードへ移行してください。
【まとめ】
組織のドメイン環境を防衛するために、CSIRTおよびAD管理者は以下の3点を最優先で実施してください。
Tier 0(DC等)におけるRMMツールの完全排除と起動制限
- 端末管理用RMMツールがDCにインストールされていないか緊急監査を実施し、AppLocker等で制限する。
ntdsutil/vssadmin実行のプロセス監視ルール作成- イベントID 4688 / Sysmon Event ID 1 に基づき、不正なコマンドライン引数を検知・アラート化する。
ドメイン管理者権限の分離(Tierドメインの適用)とLAPSの導入
- 端末感染からDCへの到達経路を断つため、特権アクセスモデルを再設計・強化する。

