コンテンツにスキップ
Zenn Dev 8chikuwa3 Articles 3f4c1d680ca8be

Active Directory:krbtgt パスワードの安全なリセット手法

  • URL: https://zenn.dev/8chikuwa3/articles/3f4c1d680ca8be
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: Active Directoryの krbtgt アカウントパスワードを安全にリセットする手順を、PingCastleのルールID「A-Krbtgt」への対応として解説している。krbtgtハッシュ漏洩がゴールデンチケット攻撃の温床になる理由を示した上で、Microsoft公式の対話型PowerShellスクリプトを用いた7ステップの手順を紹介している。特に「時間差で2回リセット」するという鉄則と、本番実施前のダミーアカウントを使った予行演習の重要性を強調している。

詳細

  • krbtgt の危険性: ADのKerberos認証チケット(TGT)の暗号化キーを生成するアカウント。ハッシュが漏洩するとゴールデンチケット(偽造TGT)を半永久的に発行できるバックドアになる
  • 手動での変更は禁止: ADユーザーとコンピューターから直接変更するとDC間の複製遅延により認証障害が発生するリスクがあるため、PowerShellスクリプトを使用する
  • 使用スクリプト: Reset-KrbTgt-Password-For-RWDCs-And-RODCs.ps1(GitHubから取得)
  • 9つのモードのうち主要なもの:
    • Mode 2(カナリアテスト): 全DCへの同期時間を測定する必須ステップ
    • Mode 4(テストリセット): ダミーアカウントで本番同等の予行演習
    • Mode 6(本番リセット): 実際のリセット実行
  • 時間差2回リセットの理由: ADはKerberos認証の互換性確保のため「現在」と「1世代前(N-1)」の2世代のパスワード履歴を有効なものとして扱う。古いハッシュを完全に無効化するには10時間以上の待機を挟んで2回リセットする必要がある
  • 7ステップ手順: Mode 8でダミー作成 → Mode 2で同期確認 → Mode 4で予行演習 → Mode 5で本番直前確認 → Mode 6(1回目) → 10時間以上待機 → Mode 6(2回目)