SecTor 2025 | The (Un)Rightful Heir: My dMSA Is Your New Domain Admin
三句話摘要
安全研究員揭露 Active Directory 新功能 DMSA 的提權漏洞「Bad Successor」,低權限攻擊者可藉此取得網域管理員憑證。 DMSA 的 PAC 合併設計雖然解決了移轉問題,卻同時創造了一條只需 OU 寫入權限就能竊取任意帳號權限與憑證的攻擊路徑,說明新安全功能上線前必須對每個設計決策進行敵手視角的審查。 PAC 合併機制是漏洞根源。 為解決舊帳號遷移後權限斷層的問題,DC 在 DMSA 身份驗證時會自動合併兩帳號的 PAC,使 DMSA 繼承被取代帳號的全部群組成員資格與權限。這個設計本身成為可被濫用的攻擊面。
重點整理
重點- 1
PAC 合併機制是漏洞根源。 為解決舊帳號遷移後權限斷層的問題,DC 在 DMSA 身份驗證時會自動合併兩帳號的 PAC,使 DMSA 繼承被取代帳號的全部群組成員資格與權限。這個設計本身成為可被濫用的攻擊面。
- 2
攻擊門檻極低,只需 OU 寫入權限。 正式的移轉指令受到網域管理員級別的保護,但攻擊者可以直接手動修改 DMSA 的連結屬性來模擬移轉,繞過 LDAP 操作的權限驗證,無需任何特權帳號即可完成攻擊鏈。
- 3
修補後仍有利用空間。 補丁加入了相互連結驗證(雙向 link 才有效),但若攻擊者同時對目標用戶帳號有寫入權限,仍可建立雙向連結,繞過修補後的限制,依然可提取憑證與權限。
- 4
可作為隱蔽的憑證傾倒替代方案。 相較於傳統的 DCSync 或複製 NTDS.dit,Bad Successor 產生截然不同的遙測資料,攻擊者可藉此規避現有的偵測規則,對已入侵網域的攻擊者提供額外的逃避偵測手段。
實用技巧與重點
乾貨- 漏洞名稱: Bad Successor(CVE 已分配)
- 受影響功能: DMSA(Delegated Managed Service Account),微軟 2025 年引入
- 修補日期: 2025 年 8 月 12 日
- 攻擊前提: 對任意 OU 有建立物件的寫入權限
- 攻擊結果: 取得任意帳號的 PAC(群組權限)+ Kerberos 憑證(含密碼雜湊)
- 繞過機制: 直接修改 `msDS-SupersededBy` / `msDS-SupersededByLink` 屬性,不使用 `Migrate-AdServiceAccount` 指令
- 補丁修復方式: 新增 `KDCDmsaValidateLink` 函式,要求雙向 link 才核發 TGT
- 修補後利用條件: 攻擊者需同時對目標用戶帳號具有寫入 link 屬性的權限
- 偵測點 1: Syslog 監控 DMSA 創建路徑(異常 OU)與創建者(非 IT 人員)
- 偵測點 2: 監控 DMSA 與用戶的關聯事件,警示沒有對應「禁用被取代帳號」日誌的單向連結
- 偵測點 3: 預設日誌事件(原 GMSA 密碼讀取日誌);異常點為 Caller 欄位顯示 `ANONYMOUS LOGON` 而非實際用戶
- 工具: Rubeus(身份驗證測試)、IDA Pro + BinDiff(二進位差分分析補丁)
- 關鍵 DLL: `kdcsvc.dll`(處理 Kerberos 票據的網域控制器元件)
- 發現者: Ivar Gordon,Akamite Technologies
結論
結論“DMSA 的 PAC 合併設計雖然解決了移轉問題,卻同時創造了一條只需 OU 寫入權限就能竊取任意帳號權限與憑證的攻擊路徑,說明新安全功能上線前必須對每個設計決策進行敵手視角的審查。”
完整解析
詳細微軟在 2025 年推出 DMSA(委派托管服務帳戶),目標是解決企業長期依賴舊式服務帳戶的問題。舊式服務帳戶雖然存在 Kerberoasting 等安全風險,但因許多服務不支援 MSA、且手動遷移容易導致服務中斷,導致即使 GMSA 推出近 20 年,多數組織仍大量使用舊帳號。DMSA 的核心賣點在於「無縫移轉」:IT 人員只需啟動遷移,DC 便自動處理後續,服務無需感知帳號的切換。
DMSA 移轉機制的設計為:啟動遷移後,舊帳號與 DMSA 互相建立屬性連結,DMSA 取得對特定屬性的讀取權限(控制誰可以以 DMSA 身分驗證)。等待期間,各服務器逐一向 DC 驗證並取得「以 DMSA 驗證」的授權;遷移完成後,舊帳號被停用,服務自動切換至 DMSA。為確保 DMSA 擁有與舊帳號相同的群組成員資格,DC 在驗證時會合併兩者的 PAC(Privilege Attribute Certificate),這樣 DMSA 便完整繼承舊帳號的所有權限,服務得以正常運作。
研究員 Ivar Gordon 注意到,這套合併 PAC 的機制代表存在一種途徑:若能控制 DMSA 並任意指定「被取代的帳號」,便可繼承任意帳號的權限。他發現,雖然正式的 `Migrate-AdServiceAccount` 指令需要網域管理員權限,但背後的實作僅是修改幾個 LDAP 屬性,而只要對 DMSA 物件有寫入控制,即可手動模擬這個移轉。由於 DMSA 可以在一般 OU(組織單元)內建立,攻擊者只需對任意 OU 有建立物件的權限,即可在該 OU 創建 DMSA、偽造移轉、將其連結至網域管理員,然後以 DMSA 身分驗證,取得完整的網域管理員權限,甚至直接獲得對方帳號的 Kerberos 憑證雜湊。更進一步,這個手法可以批次對整個網域的所有帳號執行,一次傾倒全域憑證。
補丁於 2025 年 8 月 12 日發布,DC 的 `kdcsvc.dll` 新增了 `KDCDmsaValidateLink` 函式,要求 DMSA 與目標帳號之間必須有雙向連結,單向偽造的連結不再核發 TGT,身份驗證直接返回 Kerberos 錯誤。然而研究員進一步分析後發現,若攻擊者同時持有對目標用戶帳號 link 屬性的寫入權限(例如已高度入侵網域的攻擊者),仍可將目標帳號反向連結回 DMSA,構成雙向連結,繼續利用 Bad Successor 傾倒憑證,只是產生的系統日誌與 DCSync 不同,有助於規避現有的偵測規則。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

