mcpField
D
detecting-golden-ticket-attacks-in-kerberos-logs

detecting-golden-ticket-attacks-in-kerberos-logs

github.com/mukul975セキュリティ35.2k60 回インストール8 週間前に更新
リポジトリ

detecting-golden-ticket-attacks-in-kerberos-logs について

偽造 Golden Ticket を調査するセキュリティ分析担当者向けの Kerberos ログハンティングスキルです。Windows イベントを相関し、チケット要求、暗号化、有効期間、SID の異常を特定します。

主な機能

  1. 01Kerberos イベントログの相関
  2. 02RC4 暗号化の異常検出
  3. 03チケット有効期間の異常検知
  4. 04TGS と TGT 要求順序の確認
  5. 05KRBTGT パスワード更新の追跡

活用シーン

  1. 01KRBTGT ハッシュ窃取の可能性を調査
  2. 02ドメイン内の永続アクセスを探索
  3. 03暗号化方式のダウングレードを分析
  4. 04修復後の Golden Ticket の残存を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill detecting-golden-ticket-attacks-in-kerberos-logs

インストール後、Claude Code で/detecting-golden-ticket-attacks-in-kerberos-logsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
references/
api-reference.md
scripts/
agent.py

詳細

Kerberos ログで Golden Ticket 攻撃を検出する

使用するタイミング

  • DCSync または NTDS.dit の抽出により、KRBTGT アカウントのハッシュが漏えいした可能性がある場合
  • ドメインへの永続的なアクセスに使われる偽造 Kerberos チケットを調査する場合
  • インシデント対応により、ドメインレベルでの認証情報窃取が判明した後
  • 不可能なログオンパターン(ユーザーが複数の場所から同時にログインするなど)を調査する場合
  • Golden Ticket が使用されているかを判断するため、侵害後の評価を行う場合

前提条件

  • ドメインコントローラーで Windows セキュリティイベント ID 4768、4769、4771 を記録していること
  • Kerberos ポリシー設定(チケットの最大有効期間、暗号化の種類)に関する知識
  • Kerberos サービスチケット操作を有効にしたドメインコントローラーの監査ポリシー
  • 複数の DC にまたがる Kerberos イベントを相関できる SIEM

ワークフロー

  1. TGT リクエストを監視する(イベント 4768):Kerberos 認証サービスへのリクエストを追跡します。Golden Ticket は AS-REQ/AS-REP の交換を完全に迂回するため、4769 の前に 4768 がない場合は疑わしい兆候です。
  2. 暗号化の種類の異常を検出する:Golden Ticket では RC4(0x17)暗号化がよく使われます。ドメインで AES(0x12)を強制している場合、RC4 TGT はすべて危険信号です。イベント 4769 の TicketEncryptionType を監視します。
  3. チケット有効期間の異常を確認する:Kerberos TGT のデフォルトの有効期間は 10 時間で、更新期間は 7 日間です。Golden Ticket は有効期間を 10 年にして偽造できます。ポリシーの期間を超えるチケットを検出します。
  4. 存在しない SID を探す:Golden Ticket には、任意の SID(存在しないアカウントやグループを含む)を含めることができます。TGS リクエストを既知の AD SID インベントリと照合します。
  5. 先行する TGT のない TGS を検出する:同じ IP/アカウントからの先行する TGT リクエスト(4768)がないのにサービスチケット(4769)が現れた場合、既存の Golden Ticket を示している可能性があります。
  6. KRBTGT パスワードの経過期間を監視する:KRBTGT が最後にリセットされた時期を追跡します。既知の侵害以降に KRBTGT のハッシュが変更されていない場合、その期間に作成された Golden Ticket は引き続き有効です。
  7. PAC 署名を検証する:KB5008380 以降で PAC 検証が強制されている場合、ドメインコントローラーは偽造 PAC を拒否します。PAC 検証エラーを示す Kerberos の失敗を監視します。

検出クエリ

Splunk — Kerberos TGS の RC4 暗号化
index=wineventlog EventCode=4769
| where TicketEncryptionType="0x17"
| where ServiceName!="krbtgt"
| stats count by TargetUserName ServiceName IpAddress TicketEncryptionType Computer
| where count > 5
| sort -count
Splunk — 先行する TGT のない TGS
index=wineventlog (EventCode=4768 OR EventCode=4769)
| stats earliest(_time) as first_tgt by TargetUserName IpAddress EventCode
| eventstats earliest(eval(if(EventCode=4768, first_tgt, null()))) as tgt_time by TargetUserName IpAddress
| where EventCode=4769 AND (isnull(tgt_time) OR first_tgt < tgt_time)
| table TargetUserName IpAddress first_tgt tgt_time
KQL — Golden Ticket の兆候
SecurityEvent
| where EventID == 4769
| where TicketEncryptionType == "0x17"
| where ServiceName != "krbtgt"
| summarize Count=count() by TargetUserName, IpAddress, ServiceName
| where Count > 5

よくあるシナリオ

  1. DCSync 後の Golden Ticket:KRBTGT のハッシュを抽出した後、攻撃者は Domain Admin SID を含み、KRBTGT が 2 回ローテーションされるまで数か月間有効な TGT を偽造します。
  2. RC4 へのダウングレード:AES のみを使用する環境で、RC4 暗号化を使用した Golden Ticket が偽造されます。暗号化の種類の不一致から検出できます。
  3. ドメイン間の Golden Ticket:偽造されたインターレルム TGT を使い、AD ドメイン/フォレスト間を横展開します。
  4. 修復後の永続化:KRBTGT のローテーションが 1 回しか行われなかったため(現在と以前の両方のハッシュが有効)、パスワードリセット後も Golden Ticket が有効なままです。

出力形式

Hunt ID: TH-GOLDEN-[DATE]-[SEQ]
Suspected Account: [Account using forged ticket]
Source IP: [Client IP]
Target Service: [SPN accessed]
Encryption Type: [RC4/AES128/AES256]
Anomaly: [No prior TGT/RC4 in AES environment/Extended lifetime]
KRBTGT Last Reset: [Date]
Risk Level: [Critical]

コメント