開場引言
Golden Ticket 攻擊是 Active Directory 環境中最具破壞力的持久化手法。攻擊者只需取得一個 Hash,即可在網域中無限偽造身份,徹底架空整個認證體系。
為什麼 krbtgt 是致命弱點?
在 Kerberos 認證流程中,KDC(Key Distribution Center)使用 krbtgt 帳號的 NTLM Hash 對所有 TGT 票券進行簽章與加密。這意味著任何人只要掌握此 Hash,便能在本機自行生成合法格式的 TGT,完全不需要與 DC 互動。由於 DC 無法辨別票券是否由自身簽發,偽造的 TGT 將被視為完全合法。更嚴重的是,krbtgt 帳號預設從不輪換密碼,一旦洩漏,攻擊效力幾乎永久有效,直到管理員主動重置兩次該帳號密碼為止。
攻擊鏈:從 Hash 到網域最高權限
攻擊者通常先透過 DCSync 或直接存取 NTDS.dit 取得 krbtgt 的 NTLM Hash,接著使用工具(如 Mimikatz 的 kerberos::golden 模組)偽造一張包含 Domain Admins SID 的 TGT 票券。偽造時可任意指定使用者名稱、群組成員與票券有效期(預設可設定長達 10 年)。票券注入記憶體後,攻擊者即可對任意服務請求 ST,存取檔案伺服器、執行遠端指令,實現完整的橫向移動與持久化。整個過程不觸發密碼驗證,傳統帳號稽核機制形同虛設。
# Mimikatz - 偽造 Golden Ticket 並注入當前 Session
kerberos::golden /user:Administrator /domain:corp.local \
/sid:S-1-5-21-XXXXXXXXXX /krbtgt:<NTLM_HASH> \
/groups:512 /ptt
💡 重點整理
- 根本成因:krbtgt Hash 是整個 Kerberos 信任體系的單一失效點。
- 隱蔽性極高:偽造票券不觸發 DC 登入事件,傳統 Log 難以察覺。
- 緩解關鍵:須連續重置 krbtgt 密碼兩次,使舊 Hash 完全失效。
- 偵測方向:監控票券生命週期異常(如有效期超過 10 小時)及 Event ID 4769 異常來源。
結語
Golden Ticket 攻擊揭示了 Kerberos 設計中信任邊界的根本脆弱性。防禦重點在於阻止攻擊者取得 krbtgt Hash,並部署異常票券的即時偵測機制。
📚 參考文獻
- Microsoft Learn — Kerberos Golden Ticket 威脅偵測與防禦指南(官方 Defender for Identity 文件)
- MITRE ATT&CK — T1558.001: Golden Ticket(攻擊技術戰術分類與說明)
- Sean Metcalf — Mimikatz and Active Directory K
留言
張貼留言