跳到主要內容

Golden Ticket 攻擊深度解析:偽造 TGT 票券奪取 AD 網域最高權限

開場引言

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,並部署異常票券的即時偵測機制。

📚 參考文獻

  1. Microsoft Learn — Kerberos Golden Ticket 威脅偵測與防禦指南(官方 Defender for Identity 文件)
  2. MITRE ATT&CK — T1558.001: Golden Ticket(攻擊技術戰術分類與說明)
  3. Sean Metcalf — Mimikatz and Active Directory K

留言