<p>本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">Active Directoryの要「NTDS.dit」窃取攻撃:正規ツールを隠れ蓑にしたドメイン掌握への対策</h1>
<h2 class="wp-block-heading">【脅威の概要と背景】</h2>
<p>ドメイン管理情報を保持するNTDS.ditが正規管理ツールの悪用により窃取されるリスクが増大。CVE-2024-21400等の特権昇格と併用されドメイン掌握を招く。(68文字)</p>
<p>Active Directory(AD)の心臓部であるデータベースファイル「NTDS.dit」には、ドメイン内の全ユーザーのパスワードハッシュが含まれています。近年、攻撃者がこのファイルを直接狙う際、マルウェアではなく<code>ntdsutil.exe</code>や<code>vssadmin</code>といったWindows標準の正規ツール(Living off the Land)や、導入済みのリモート管理ツール(RMM)を悪用するケースがJPCERT/CCや各セキュリティベンダーより報告されています。</p>
<h2 class="wp-block-heading">【攻撃シナリオの可視化】</h2>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph TD
A["攻撃元: 外部/侵入済み端末"] -->|RMMツール/VPN悪用| B["ドメインコントローラへのアクセス"]
B -->|CVE-2024-21400等で権限昇格| C["SYSTEM/Domain Admin権限奪取"]
C -->|ntdsutil/vssadminの実行| D["NTDS.ditのシャドウコピー作成"]
D -->|SYSTEMハイブと共に抽出| E["NTDS.ditの外部転送"]
E -->|オフライン解析| F["全ドメインユーザーのハッシュ入手"]
F -->|Golden Ticket作成| G["ドメインの完全掌握/永続化"]
</pre></div>
<h2 class="wp-block-heading">【安全な実装と設定】</h2>
<p>攻撃者はしばしば、管理者がメンテナンス用に作成したスクリプトや、不適切な権限設定を突いて侵入します。以下に「脆弱な運用」と「安全な代替案」を対比します。</p>
<h3 class="wp-block-heading">1. リモート管理の安全化(PowerShell)</h3>
<p><strong>× 誤用例(脆弱な運用)</strong>
プレーンテキストのパスワードをスクリプト内に保持し、WinRMを無制限に許可している。</p>
<div class="codehilite">
<pre data-enlighter-language="generic"># 危険:パスワードのハードコード
$password = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("admin", $password)
Invoke-Command -ComputerName DC01 -ScriptBlock { Get-Process } -Credential $cred
</pre>
</div>
<p><strong>○ 安全な代替案(JEA: Just Enough Administration)</strong>
特定の管理操作のみを許可し、パスワードの露出を防ぐ。また、マネージドサービスアカウント(gMSA)を利用する。</p>
<div class="codehilite">
<pre data-enlighter-language="generic"># 推奨:JEA(構成プロファイルの一部)により
# NTDS関連コマンドを実行できない「制限されたセッション」を提供
# さらに、gMSAを使用してパスワード管理をADに委ねる
$params = @{
Name = 'ADMaintenanceRole'
RoleDefinitions = @{ 'Operator' = @{ VisibleCmdlets = 'Get-Service', 'Restart-Service' } }
}
New-PSSessionConfigurationFile @params
</pre>
</div>
<h3 class="wp-block-heading">2. NTDS.ditのコピー制限</h3>
<p>ADのデータベースは使用中のため通常コピーできませんが、<code>ntdsutil</code>の「IFM (Install From Media)」機能が悪用されます。</p>
<ul class="wp-block-list">
<li><strong>対策:</strong> <code>ntdsutil.exe</code> および <code>vssadmin.exe</code> の実行を、AppLockerやWindows Defender Application Control (WDAC) でドメインコントローラ(DC)上でのみ厳格に制限する。</li>
</ul>
<h2 class="wp-block-heading">【検出と緩和策】</h2>
<h3 class="wp-block-heading">1. EDR/SIEMでの検知ポイント</h3>
<ul class="wp-block-list">
<li><p><strong>プロセス監視:</strong> </p>
<ul>
<li><p><code>ntdsutil.exe</code> が <code>create full</code> などの引数を伴って実行された場合のアラート発報。</p></li>
<li><p><code>vssadmin.exe</code> によるシャドウコピー作成の監視。</p></li>
</ul></li>
<li><p><strong>ファイルアクセス監視:</strong></p>
<ul>
<li><code>C:\Windows\NTDS\ntds.dit</code> への、DCのバックアッププロセス以外のアクセス。</li>
</ul></li>
<li><p><strong>コマンドラインの異常:</strong></p>
<ul>
<li><code>esentutl.exe</code> を使用したNTDS.ditの修復・コピー試行。</li>
</ul></li>
</ul>
<h3 class="wp-block-heading">2. 緩和策(Workaround)</h3>
<ul class="wp-block-list">
<li><p><strong>Tiered Administration (階層型管理):</strong> ドメイン管理者が一般端末にログインすることを禁止し、ドメインコントローラへのアクセスを専用の管理端末(PAW)からのみに制限する。</p></li>
<li><p><strong>RMMツールの制限:</strong> 組織で認可されていないRMMツールの通信をファイアウォール/プロキシで遮断する。</p></li>
</ul>
<h2 class="wp-block-heading">【実務上の落とし穴】</h2>
<ul class="wp-block-list">
<li><p><strong>誤検知(False Positive)のリスク:</strong> 正規のバックアップソフトウェアも <code>vssadmin</code> やシャドウコピー機能を利用します。単純な実行禁止はバックアップ失敗を招くため、<strong>「実行主体(サービスアカウント)」</strong>と<strong>「実行タイミング」</strong>に基づいたホワイトリスト化が必要です。</p></li>
<li><p><strong>可用性とのトレードオフ:</strong> セキュリティを優先してADへのRPC通信やWinRMを過度に制限すると、正当な運用管理やレプリケーションに支障をきたす恐れがあります。設定変更時は、まず「監査モード」での検証が不可欠です。</p></li>
</ul>
<h2 class="wp-block-heading">【まとめ】</h2>
<p>組織として今すぐ実施すべき3つの優先事項:</p>
<ol class="wp-block-list">
<li><p><strong>DCにおけるログ監視の強化:</strong> <code>ntdsutil</code> および <code>vssadmin</code> の実行ログ(イベントID 4688等)をSIEMで即時確認できる体制を整える。</p></li>
<li><p><strong>特権アカウントの分離:</strong> 階層型管理モデルを導入し、ドメイン管理者権限の「横展開(Lateral Movement)」パスを物理的・論理的に遮断する。</p></li>
<li><p><strong>RMMツールの棚卸し:</strong> 既知の脆弱性を持つ、または未認可のリモート管理ツールがネットワーク内に存在しないかスキャンを実施する。</p></li>
</ol>
<hr/>
<p><strong>参考文献:</strong></p>
<ul class="wp-block-list">
<li><p><a href="https://www.jpcert.or.jp/at/2019/at190001.html">JPCERT/CC: 攻撃者が悪用する正規ツールへの対策</a></p></li>
<li><p><a href="https://learn.microsoft.com/ja-jp/windows-server/identity/ad-ds/plan/security-best-practices/securing-privileged-access">Microsoft: Active Directory の管理階層の保護</a></p></li>
<li><p><a href="https://attack.mitre.org/techniques/T1003/003/">MITRE ATT&CK: OS Credential Dumping (T1003.003)</a></p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
Active Directoryの要「NTDS.dit」窃取攻撃:正規ツールを隠れ蓑にしたドメイン掌握への対策
【脅威の概要と背景】
ドメイン管理情報を保持するNTDS.ditが正規管理ツールの悪用により窃取されるリスクが増大。CVE-2024-21400等の特権昇格と併用されドメイン掌握を招く。(68文字)
Active Directory(AD)の心臓部であるデータベースファイル「NTDS.dit」には、ドメイン内の全ユーザーのパスワードハッシュが含まれています。近年、攻撃者がこのファイルを直接狙う際、マルウェアではなくntdsutil.exeやvssadminといったWindows標準の正規ツール(Living off the Land)や、導入済みのリモート管理ツール(RMM)を悪用するケースがJPCERT/CCや各セキュリティベンダーより報告されています。
【攻撃シナリオの可視化】
graph TD
A["攻撃元: 外部/侵入済み端末"] -->|RMMツール/VPN悪用| B["ドメインコントローラへのアクセス"]
B -->|CVE-2024-21400等で権限昇格| C["SYSTEM/Domain Admin権限奪取"]
C -->|ntdsutil/vssadminの実行| D["NTDS.ditのシャドウコピー作成"]
D -->|SYSTEMハイブと共に抽出| E["NTDS.ditの外部転送"]
E -->|オフライン解析| F["全ドメインユーザーのハッシュ入手"]
F -->|Golden Ticket作成| G["ドメインの完全掌握/永続化"]
【安全な実装と設定】
攻撃者はしばしば、管理者がメンテナンス用に作成したスクリプトや、不適切な権限設定を突いて侵入します。以下に「脆弱な運用」と「安全な代替案」を対比します。
1. リモート管理の安全化(PowerShell)
× 誤用例(脆弱な運用)
プレーンテキストのパスワードをスクリプト内に保持し、WinRMを無制限に許可している。
# 危険:パスワードのハードコード
$password = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("admin", $password)
Invoke-Command -ComputerName DC01 -ScriptBlock { Get-Process } -Credential $cred
○ 安全な代替案(JEA: Just Enough Administration)
特定の管理操作のみを許可し、パスワードの露出を防ぐ。また、マネージドサービスアカウント(gMSA)を利用する。
# 推奨:JEA(構成プロファイルの一部)により
# NTDS関連コマンドを実行できない「制限されたセッション」を提供
# さらに、gMSAを使用してパスワード管理をADに委ねる
$params = @{
Name = 'ADMaintenanceRole'
RoleDefinitions = @{ 'Operator' = @{ VisibleCmdlets = 'Get-Service', 'Restart-Service' } }
}
New-PSSessionConfigurationFile @params
2. NTDS.ditのコピー制限
ADのデータベースは使用中のため通常コピーできませんが、ntdsutilの「IFM (Install From Media)」機能が悪用されます。
- 対策:
ntdsutil.exe および vssadmin.exe の実行を、AppLockerやWindows Defender Application Control (WDAC) でドメインコントローラ(DC)上でのみ厳格に制限する。
【検出と緩和策】
1. EDR/SIEMでの検知ポイント
プロセス監視:
ファイルアクセス監視:
C:\Windows\NTDS\ntds.dit への、DCのバックアッププロセス以外のアクセス。
コマンドラインの異常:
esentutl.exe を使用したNTDS.ditの修復・コピー試行。
2. 緩和策(Workaround)
【実務上の落とし穴】
誤検知(False Positive)のリスク: 正規のバックアップソフトウェアも vssadmin やシャドウコピー機能を利用します。単純な実行禁止はバックアップ失敗を招くため、「実行主体(サービスアカウント)」と「実行タイミング」に基づいたホワイトリスト化が必要です。
可用性とのトレードオフ: セキュリティを優先してADへのRPC通信やWinRMを過度に制限すると、正当な運用管理やレプリケーションに支障をきたす恐れがあります。設定変更時は、まず「監査モード」での検証が不可欠です。
【まとめ】
組織として今すぐ実施すべき3つの優先事項:
DCにおけるログ監視の強化: ntdsutil および vssadmin の実行ログ(イベントID 4688等)をSIEMで即時確認できる体制を整える。
特権アカウントの分離: 階層型管理モデルを導入し、ドメイン管理者権限の「横展開(Lateral Movement)」パスを物理的・論理的に遮断する。
RMMツールの棚卸し: 既知の脆弱性を持つ、または未認可のリモート管理ツールがネットワーク内に存在しないかスキャンを実施する。
参考文献:
ライセンス:本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント