在 Active Directory 環境中,Pass the Ticket(PTT) 讓攻擊者無需任何明文密碼,僅憑竊取的 Kerberos 票券即可橫向移動,是紅隊滲透與APT攻擊中最隱蔽的手法之一。
什麼是 Pass the Ticket?
PTT 攻擊的核心在於 Kerberos 票券的可攜性。當使用者登入後,LSASS 進程會在記憶體中快取 TGT(票證授予票證)及 Service Ticket。攻擊者取得高權限(如本機管理員)後,便可使用工具從 LSASS 記憶體傾印這些票券,再將其注入自身的登入工作階段(Logon Session)。由於 KDC 僅驗證票券本身的加密簽章,無法辨別呈交者是否為原始使用者,攻擊者因此得以完全冒充合法身份存取網路資源。
攻擊流程與關鍵工具
完整攻擊鏈分為三步:① 提權至本機管理員 → ② 傾印票券 → ③ 注入並存取資源。Mimikatz 是最常見的工具,透過 sekurlsa::tickets /export 將票券匯出為 .kirbi 檔案,再以 kerberos::ptt 注入目標工作階段。Rubeus 則提供更現代化的替代方案,可直接在記憶體中完成全流程而不落地寫入磁碟,大幅降低被端點偵測的機率。竊取 Domain Admin 的 TGT 後,攻擊者可對整個網域進行橫向移動。
# Mimikatz:匯出記憶體中所有 Kerberos 票券
mimikatz # privilege::debug
mimikatz # sekurlsa::tickets /export
# 將指定票券注入當前工作階段
mimikatz # kerberos::ptt [0;xxxxxx]-0-0-40e10000-Admin@krbtgt-DOMAIN.COM.kirbi
💡 重點整理
- 無需密碼:直接竊用已核發票券,繞過密碼驗證環節。
- TGT vs Service Ticket:竊取 TGT 可申請任意服務票券,威脅範圍更廣。
- 票券有效期限:預設 TGT 存活 10 小時,過期後攻擊者需重新竊取。
- 偵測指標:監控異常的 Event ID 4768 / 4769,以及非預期的
klist票券。
PTT 之所以危險,在於它完全利用 Kerberos 的合法設計進行攻擊,防禦重點應聚焦於最小權限原則、Credential Guard 部署,以及票券異常行為的持續監控,從根源降低票券被竊的風險。
📚 參考文獻
- MITRE ATT&CK – T1550.003: Use Alternate Authentication Material: Pass the Ticket,攻擊技術官方分類與緩解建議。
- Gentilkiwi – Mimikatz GitHub Repository,PTT 主要工具的原始碼與使用說明。
留言
張貼留言