動態群組具有可利用規則

MEDIUM

說明

動態群組是 Microsoft Entra ID 的一項強大功能,需要 P1 或更高版本的授權。這些群組會根據與使用者屬性相關的特定規則自動更新其成員名單。不過,若規則是基於使用者可自行修改的屬性,則容易遭到刺探利用。

攻擊者若能修改動態群組規則所依賴的屬性,就能操控群組的成員名單。如果群組授予敏感資源的存取權,則此錯誤設定可能會導致未授權存取或特權提升。

雖然租用戶中的許多屬性不允許使用者自行修改,但訪客帳戶是一個例外。由攻擊者控制的訪客使用者,若在攻擊者的租用戶中擁有管理特權,則可以修改屬性並利用目標租用戶的動態群組規則。

此問題最早於 2020 年左右在安全研究和滲透測試文獻中提出,至今在設定錯誤的環境中仍是可行的攻擊媒介。自 2024 年底起,AADInternals 攻擊工具新增了一項用於識別可刺探利用群組的功能。

可能的攻擊情境:

  1. 偵察: 攻擊者作為沒有特權角色的標準使用者取得租用戶的存取權。根據預設,他們可以列舉群組並檢視動態群組規則。
  2. 目標選取: 攻擊者鎖定具有敏感內容權限的動態群組,例如 Azure 訂閱中的特權角色。攻擊者會鎖定包含可利用屬性的規則,例如 displayName 中出現特定關鍵字 (如「admin」)。
  3. 惡意準備: 攻擊者在自己的 Entra 租用戶中建立使用者,其屬性與目標群組的成員規則相符。
  4. 訪客邀請: 攻擊者以訪客身分邀請此惡意使用者加入目標租用戶。
  5. 規則刺探利用: 當惡意訪客接受邀請後,其帳戶會建立在目標租用戶中,而動態群組的成員規則會處理其屬性。
  6. 特權提升: 惡意訪客會在帳戶建立後的幾分鐘內自動加入動態群組並獲得相應權限 (例如 Azure 訂閱特權角色)。

風險和後果的嚴重性取決於下列因素:

  • 訪客存取設定: 脆弱的訪客限制會提高攻擊成功的可能性。在允許邀請訪客及檢視群組規則的情況下,風險會上升 (請參閱相關曝險指標「未受限訪客帳戶」和「訪客帳戶和一般帳戶享有同等存取權」)。
  • 群組存取範圍: 刺探利用的嚴重性取決於群組控制的資源,其中可能包括:
    • Microsoft 365 服務 (Teams 頻道、SharePoint 網站、Exchange 收件匣)
    • Azure 雲端資源
    • 其他整合應用程式

解決方案

動態群組有助於簡化系統管理作業,但必須謹慎設定以防止濫用。管理員若能妥善應對這些風險,便能在 Entra ID 中維持動態群組的安全與效率。

最直接的修復方法是避免在規則中納入由使用者控制的屬性: 切勿採行使用者 (尤其是訪客) 可以直接修改的屬性作為動態群組成員規則。然而,這會大幅降低此功能的實用性和彈性。

如上所述,最簡單的刺探利用方法是邀請惡意訪客。為了緩解此風險,您可以設定原則,僅允許受信任的使用者群體進行訪客邀請。雖然這可能會影響協作效率,但會大幅降低惡意訪客成功存取的風險。 另外,若這些危險訪客不應成為動態群組成員,您也可以選擇將其排除。在規則編輯器中,針對 userType 屬性新增「And」規則,使用 Not Equals 運算子排除 Guest 值,產生的規則如下: and (user.userType -ne "Guest")。請注意,此措施無法防範惡意「外部成員」的攻擊行為。

但是,能夠編輯使用者屬性 (例如透過 Entra 角色獲得授權) 的內部使用者也可以利用此漏洞,建立其他攻擊路徑。因此,請仔細檢查會授予此類權限的 Entra 角色

不僅是內部使用者,就連信任度較低的訪客都能輕鬆找到可刺探利用的群組。為了緩解此風險,您可以降低訪客對群組及其規則的瀏覽權限。請參閱相關曝險指標「未受限訪客帳戶」和「訪客帳戶和一般帳戶享有同等存取權」中的建議。不過請注意,這不能防止內部使用者惡意刺探利用群組,因為他們仍然可以瀏覽群組並從中鎖定目標。

作為輔助措施,您可以定期監控動態群組的成員資格變更,以便及時發現並阻止潛在的刺探利用。您可以透過 Entra 稽核記錄進行即時監控,或在動態群組屬性中選擇「暫停處理」,並在準備好比較成員變化時再重新啟用此功能。

最後,如果您認為風險在可接受範圍內,可以選擇排除已識別的群組——無論是因為該群組被發現或刺探利用的可能性極低,或者是因為群組成員無法存取敏感資源。

指標詳細資料

名稱: 動態群組具有可利用規則

代碼名稱: DYNAMIC-GROUP-FEATURING-AN-EXPLOITABLE-RULE

嚴重性: Medium

類型: Microsoft Entra ID Indicator of Exposure

MITRE ATT&CK 資訊: