KeyFrame內部研究專用

Black Hat Europe 2025 | You Win Some, You CheckSum: A Kerberos Delegation Vulnerability

Black Hat·6月2日週二·26 min英文

三句話摘要

安全研究員 Eliran Batusch 揭露 Kerberos 委派(Delegation)中的邏輯漏洞:透過 MD4 弱雜湊與客戶端驗證繞過,攻擊者可在 MITM 位置以任意使用者身份冒充取得憑證,實現域內完全控制。 Kerberos S4U2self 中「找不到 PA-DATA 就直接成功」的客戶端邏輯缺陷,配合 MD4 無金鑰 checksum,讓 MITM 攻擊者只需兩個步驟即可冒充域內任意使用者——啟用 Kerberos Armoring(FAST) 是根治此類 PA-DATA 篡改攻擊的最佳長期方案。 S4U2self 的身份識別設計本身就是弱點:S4U2self 只需提供使用者識別(user ID),不需密碼或 ticket 作為憑據,這是設計上的協議轉換功能,卻也讓信任邊界完全依賴委派帳戶,攻擊者若能介入這條路徑就能冒充任意使用者。

重點整理

重點
  • 1

    S4U2self 的身份識別設計本身就是弱點:S4U2self 只需提供使用者識別(user ID),不需密碼或 ticket 作為憑據,這是設計上的協議轉換功能,卻也讓信任邊界完全依賴委派帳戶,攻擊者若能介入這條路徑就能冒充任意使用者。

  • 2

    MD4 不只是過時,而是被錯誤使用:MS-S2U 文件描述 PA-DATA 130 的 checksum 類型時,混淆了「有金鑰(keyed, type 6)」與「無金鑰(unkeyed, type 2)」的 MD4,實際實作採用的是 plain MD4,沒有加密保護,使得攻擊者可自行重算並偽造任意內容。

  • 3

    客戶端驗證存在「成功退出」邏輯漏洞:Windows 客戶端驗證函式在搜尋 reply 中的 PA-DATA 130 時,若找不到該欄位,會直接以 `success` 返回、跳過所有完整性檢查;攻擊者只需將 DC reply 中的 PA-DATA 130 移除,即可讓偽造的 ticket 成功安裝至 LSA 快取。

  • 4

    Entra Application Proxy + CA Web Enrollment 提供完整攻擊路徑:Entra 應用程式代理本質上是雲端到本地端的 Kerberos 協議轉換(protocol transition)服務,攻擊者在 connector 和 KDC 之間進行 MITM,兩個步驟(載入 mitmproxy 腳本)即可將一般使用者的請求轉換成 Administrator 的憑證申請,並取得有效 certificate。

實用技巧與重點

乾貨
  • 漏洞相關數字與 CVE
  • CVE 評分:7.5(高複雜度,因需 MITM)
  • 研究時間軸:2024 年 2 月開始 → 3 月發現 MD4 → 7 月揭露 → 8 月確認 → 11 月官方修補
  • 同期另一個研究者發現的 NT auth policy bypass:CVE 評分 8.8
  • 關鍵技術名詞
  • MS-S2U(Service for User):Microsoft Kerberos 協議擴展
  • PA-DATA type 129:使用者名稱識別(HMAC-MD5,安全)
  • PA-DATA type 130:憑證識別(使用 MD4,有問題)
  • Encryption type 23 = RC4-HMAC-MD5
  • Checksum type 2 = RSA-MD4(unkeyed,plain MD4)
  • Checksum type 6 = RSA-MD4-DES-K(keyed,已棄用但更強)
  • `KDCSVC.DLL`:DC 端 Kerberos 服務邏輯所在 DLL
  • 攻擊工具:mitmproxy + impacket
  • 攻擊步驟(精簡)
  • MITM 介入 client ↔ KDC 之間
  • 攔截 AS-REQ,移除 AES,強制降級至 RC4(encryption type 23)
  • 在 S4U2self 請求中,將 PA-DATA type 129 替換為 type 130,修改 username 為 Administrator,重算 MD4
  • 攔截 DC reply,移除 PA-DATA 130,繞過客戶端完整性驗證
  • 偽造 ticket 安裝至 LSA,用於 S4U2proxy 存取後端資源
  • 攻擊向量
  • CA Web Enrollment(ADCS)
  • Entra Application Proxy(混合環境,雲端 SSO → 本地 Kerberos)
  • 防禦措施
  • 首選:安裝 2024 年 11 月官方修補
  • 次選:停用所有舊版加密類型(RC4 等)
  • 根治:啟用 Kerberos Armoring(FAST,群組原則),將 PA-DATA 加密;macOS/Linux 預設已啟用,Windows 需手動開啟

結論

結論

Kerberos S4U2self 中「找不到 PA-DATA 就直接成功」的客戶端邏輯缺陷,配合 MD4 無金鑰 checksum,讓 MITM 攻擊者只需兩個步驟即可冒充域內任意使用者——啟用 Kerberos Armoring(FAST) 是根治此類 PA-DATA 篡改攻擊的最佳長期方案。

完整解析

詳細

Kerberos 委派(Delegation)是解決「雙跳問題」的機制:當使用者透過前端服務(如 SharePoint)存取後端資源(如 File Server)時,前端需要以使用者身份向後端驗證,但 Kerberos ticket 不能直接轉發。Microsoft 的解法是受限委派(Constrained Delegation)與資源型受限委派(RBCD),搭配 MS-S2U 協議擴展,其中 S4U2self 允許前端在使用者以非 Kerberos 協議(如 NTLM、憑證)登入時,向 DC 請求一張「代表該使用者的 service ticket」,再透過 S4U2proxy 存取後端。整個機制的安全前提,是這張 self-generated ticket 的身份識別欄位受到充分保護。

Silverfort 研究員 Eliran Batusch 在審閱 MS-S2U 文件時,注意到 PA-DATA type 130 的 checksum 說明有一個隱藏歧義:文件寫明當加密類型為 RC4(type 23)時,checksum type 為「2」(RSA-MD4),但 Kerberos RFC 中的 type 2 定義的是「無金鑰、純雜湊的 plain MD4」(section 6.1),而非有金鑰的加密版(type 6, section 6.2.6)。這意味著用於保護使用者名稱欄位的 checksum,只是一個任何人都能重算的 MD4 雜湊——攻擊者只要修改使用者名稱,重算 MD4,DC 完全不會察覺篡改。

於是 Batusch 設計了 MITM 攻擊:先攔截 AS-REQ 並移除 AES 選項,強制協商降級至 RC4;再在 S4U2self 請求中,將 PA-DATA type 129 替換為 type 130、把使用者名稱改為 Administrator、重算 MD4 後送出。DC 果然回傳一張 Administrator 的 ticket。但問題出現了:ticket 無法安裝到 LSA 快取——因為客戶端會對 reply 中的 PA-DATA 130 做完整性驗證,而攻擊者無法偽造 server 端的 reply checksum(該 checksum 是用 session key 加密後嵌在加密區段裡)。

Batusch 一度放棄,但重新檢視客戶端驗證函式的反組譯碼後,發現一個關鍵邏輯缺陷:若 DC reply 中找不到 PA-DATA type 130,函式直接以 `success` 返回,跳過所有後續的完整性檢查。攻擊者只需在轉發 DC reply 給客戶端前,將其中的 PA-DATA 130 欄位移除,客戶端就會接受這張偽造的 ticket 並安裝它。最終,攻擊者用兩個動作(在 mitmproxy 載入腳本)、不需任何憑證,將低權限帳戶的登入請求轉換成 Administrator 的 Kerberos ticket。透過 Entra Application Proxy(設計上即為雲端 SSO → 本地 Kerberos 的協議轉換)結合 ADCS CA Web Enrollment,Batusch 在 demo 中以 user1 登入,卻成功申請到 Administrator 的 X.509 憑證,並可進一步提取 NT hash。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

Risky Bulletin: Russia starts blocking DoH and DoT
編輯精選
8 min
Web2 安全英文PODCAST8月26日

Risky Bulletin: Russia starts blocking DoH and DoT

Risky Business

  • 國家級網路管制層級提升:俄羅斯主動封鎖加密 DNS 協定對抗審查工具,中國加速淘汰 Windows 系統並遷移自主 Linux 發行版,各國正透過技術與法律手段強化網路主權與信息控制能力。
  • 詐騙犯罪走向精密化與自動化:從冒充警察的聲音詐騙(竊取 7.2 百萬美元)、AI 語音代理自動化破解 iPhone 啟用鎖、到跨越數百網站的投資詐騙(詐騙 7400 萬美元),犯罪組織正利用自動化工具與 AI 技術大幅降低成本並擴大規模。
  • AI 惡意軟體威脅實際上被嚴重誇大:405 個整合 AI 的惡意軟體樣本中僅 12 個於真實感染被偵測,其餘來自測試環境,證明當前 AI 惡意軟體仍停留於實驗階段,尚未構成主流威脅。
SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;
5 min
Web2 安全英文PODCAST8月26日

SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;

SANS Stormcast

  • SSRF 攻擊者已進化出高級繞過手段,不直接使用元數據服務 IP(169.254.169.254),而改用專門域名服務將請求轉址,支援點或破折號分隔 IP,甚至可自部署 DNS 伺服器進行 DNS 重綁定攻擊,使傳統簡易過濾機制失效。
  • 本地 AI 模型並非完全隱私:微軟 Paint 雖在本地執行生成邏輯,但安全檢查需上傳提示文字至遠程伺服器,返回時圖像內嵌不易移除的伺服器 GUID 隱形浮水印,可見浮水印(Copilot 圖標)則易被移除。
  • 傳統 FTP 協議被新型惡意軟體重新利用為命令控制通道,透過 FTP banner 傳遞指令於連接埠 21,防守者應視任何出站 FTP 流量為異常信號。
SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。