Active DirectoryのNTDS.ditを狙う正規RMM悪用攻撃の脅威とドメイン掌握を防ぐ多層防御設計

Tech

Active DirectoryにおけるNTDS.dit窃取と正規RMMツール悪用攻撃への対処法 Critical CSIRT / インフラエンジニア / AD管理者

本記事は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 ファイルは動作中、オペレーティングシステムによって排他的にロックされているため、直接コピーすることは不可能です。攻撃者はこの制限を回避するために ntdsutilvssadmin を使用します。

誤用例(脆弱な運用・設定)

特権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."
    }
}

保護策の設計原則

  1. 最小権限の原則(Tiered Administration): ドメイン管理(Tier 0)と通常のサーバー管理(Tier 1)、端末管理(Tier 2)を明確に分離し、RMMツール経由でTier 0管理者権限が直接参照されないよう設計します。

  2. LAPS(Local Administrator Password Solution)の全社導入: ローカル管理者のパスワードを自動ローテーションし、横展開(Lateral Movement)を防止します。

【検出と緩和策】

1. SIEM/EDRでの検知ポイント(主要イベントID)

イベントソース イベントID 検知対象・条件
Windows Security 4688 プロセス生成ログ。ProcessNamentdsutil.exe, vssadmin.exe, esentutl.exe, wmic.exe が含まれ、コマンドラインに shadowcopyifm が含まれる場合。
Sysmon 1 Process Creation。特に ParentImage が RMMツール(例: ScreenConnect.Client.exe)から cmd.exepowershell.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の特権委任を制限。

【実務上の落とし穴】

  1. 正規バックアップソフトウェアとの誤検知(False Positive)

    • リスク: vssadmin や VSS 関連のAPI呼び出しは、VeeamやCommvaultなどの正規バックアップソリューションも日常的に使用します。

    • 対策: 単に「VSSの起動」を検知するのではなく、実行ユーザー(バックアップ専用サービスアカウントか否か)および親プロセス(RMMやインタラクティブなcmd/PowerShellでないか)を組み合わせてSIEMの相関分析ルールを作成する必要があります。

  2. 可用性(サービス継続性)とのトレードオフ

    • リスク: 厳格すぎるプロセス遮断ルールを即座に本番環境のDCへ適用すると、夜間バックアップジョブが失敗し、ディザスタリカバリ不能に陥る危険性があります。

    • 対策: 事前にAudit Mode(監査モード)で最低2週間のログを収集し、正規のバックアップスケジュールとプロセスをホワイトリスト化した上でブロックモードへ移行してください。

【まとめ】

組織のドメイン環境を防衛するために、CSIRTおよびAD管理者は以下の3点を最優先で実施してください。

  1. Tier 0(DC等)におけるRMMツールの完全排除と起動制限

    • 端末管理用RMMツールがDCにインストールされていないか緊急監査を実施し、AppLocker等で制限する。
  2. ntdsutil / vssadmin 実行のプロセス監視ルール作成

    • イベントID 4688 / Sysmon Event ID 1 に基づき、不正なコマンドライン引数を検知・アラート化する。
  3. ドメイン管理者権限の分離(Tierドメインの適用)とLAPSの導入

    • 端末感染からDCへの到達経路を断つため、特権アクセスモデルを再設計・強化する。

参考文献

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました