偵測和補救非法同意授與

提示

您知道您可以免費試用 Office 365 方案 2 的 Microsoft Defender 全面偵測回應 功能嗎? 使用 Microsoft Defender 入口網站試用中樞的 90 天 適用於 Office 365 的 Defender 試用版。 在這裡瞭解誰可以註冊和 試用條款

總結 瞭解如何在 Microsoft 365 中辨識和補救非法同意授與攻擊。

在非法同意授權攻擊中,攻擊者會建立已註冊 Azure 的應用程式,要求存取連絡人資訊、電子郵件或文件等資料。 然後,攻擊者誘騙使用者授權該應用程式同意透過網路釣魚攻擊,或透過插入非法程式碼到信任的網站,來存取其資料。 在非法應用程式獲得同意之後,它會具有數據的帳戶層級存取權,而不需要組織帳戶。 例如,重設密碼或需要多重要素驗證 ( (MFA) ) 的一般補救步驟無法有效抵禦這種類型的攻擊,因為這些應用程式是組織外部的。

這些攻擊會使用一種互動模型,假設呼叫資訊的實體是自動化的,而不是人為。

重要事項

您懷疑您目前是否遇到來自應用程式的非法同意授與問題? Microsoft Defender for Cloud Apps 具有可偵測、調查及補救 OAuth 應用程式的工具。 此適用於雲端應用程式的Defender文章有一個教學課程,概述如何 調查具風險的OAuth應用程式。 您也可以設定 OAuth 應用程式原則 來調查應用程式要求的許可權,哪些使用者正在授權這些應用程式,並廣泛核准或禁止這些許可權要求。

您需要搜尋 稽核記錄 以尋找簽署,也稱為「入侵指標 (IOC) 此攻擊。 如果組織擁有許多 Azure 註冊應用程式和大量使用者,最佳做法就是每週檢閱您的組織同意授權。

尋找此攻擊徵象的步驟

  1. 開啟 Microsoft Defender 入口https://security.microsoft.com網站,然後選取 [稽核]。 或者,若要直接前往 [稽核] 頁面,請使用 https://security.microsoft.com/auditlogsearch

  2. 在 [核] 頁面上,確認已選取 [搜尋] 索引標籤,然後設定下列設定:

    • 日期和時間範圍
    • 活動:確認已選取 [顯示所有活動的結果 ]。

    當您完成時,請選取 [搜尋]。

  3. 選取 [ 活動 ] 資料行來排序結果,並尋找 [ 同意應用程式]

  4. 從清單中選取專案,以查看活動的詳細數據。 檢查IsAdminConsent是否設定為 True。

注意事項

發生事件之後,對應的稽核記錄專案可能需要 30 分鐘到 24 小時才會顯示在搜尋結果中。

稽核記錄保留並可在稽核記錄中搜尋的時間長度取決於您的 Microsoft 365 訂閱,特別是指派給特定使用者的授權類型。 如需詳細資訊,請參閱稽核記錄

值為 true 表示具有全域管理員存取權的人員可能已授與數據的廣泛存取權。 如果這個值非預期,請採取步驟來 確認攻擊

如何確認攻擊

如果您有一或多個先前列出的 IOC 實例,您需要進行進一步的調查,以確認攻擊是否發生。 您可以使用這三種方法之一來確認攻擊:

  • 使用 Microsoft Entra 系統管理中心 來清查應用程式及其許可權。 這個方法很徹底,但如果您有許多用戶要檢查,一次只能檢查一位使用者,這會非常耗時。
  • 使用 PowerShell 來清查應用程式及其權限。 這是最快也最徹底的方法,而且負擔最小。
  • 讓您的使用者個別檢查其應用程式和授權,並將結果報告給系統管理員以進行修正。

使用您組織中的存取權來清查應用程式。

您有下列選項可清查使用者的應用程式:

  • Microsoft Entra 系統管理中心。
  • PowerShell。
  • 讓使用者個別列舉自己的應用程式存取權。

使用 Microsoft Entra 系統管理中心的步驟

您可以使用下 Microsoft Entra 系統管理中心 來查閱任何個別使用者已授與權限的應用程式:

  1. 在 開啟 Microsoft Entra 系統管理中心https://entra.microsoft.com,然後移至 [身分識別>使用者>]*[所有使用者]。 或者,若要直接移至 [使用者>所有使用者],請使用 https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/
  2. 按兩下 [ 顯示名稱 ] 值,尋找並選取您想要檢閱的使用者。
  3. 在開啟的使用者詳細數據頁面上,選取 [ 應用程式]

這些步驟會顯示指派給使用者的應用程式,以及應用程式擁有的許可權。

請您的使用者列舉其應用程式存取權的步驟

請您的使用者前往 https://myapps.microsoft.com,並在那裡查看自己的應用程式存取權。 他們應該能夠查看具有存取權的所有應用程式、查看相關的詳細資料 (包括存取範圍),並能夠撤銷可疑或非法應用程式的權限。

PowerShell 中的步驟

驗證非法同意授與攻擊的最簡單方式是執行 Get-AzureADPSPermissions.ps1,這會將租使用者中所有使用者的所有 OAuth 同意授與和 OAuth 應用程式傾印到一個 .csv 檔案中。

先決條件

  • 已安裝 Azure AD PowerShell 程式庫。
  • 腳本執行所在組織中的全域管理員許可權。
  • 您執行文稿之電腦上的本機系統管理員許可權。

重要事項

強烈建議您在系統管理員帳戶上要求多重要素驗證。 此指令碼支援 MFA 驗證。

注意事項

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被取代。 若要深入瞭解,請閱讀 淘汰更新。 在此日期之後,這些模組的支援僅限於 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 已淘汰的模組會繼續運作到 2025 年 3 月 30 日。

建議您移轉至 Microsoft Graph PowerShell,以與 Microsoft Entra ID (先前的 Azure AD) 互動。 如需常見的移轉問題,請參閱 移轉常見問題注意: 1.0.x 版的 MSOnline 可能會在 2024 年 6 月 30 日之後中斷。

  1. 使用本機系統管理員許可權登入您要執行腳本的計算機。

  2. 從 GitHub 下載或複製 Get-AzureADPSPermissions.ps1 腳稿到易於尋找和記住的資料夾。 此資料夾也是寫入「permissions.csv」輸出檔案時需要寫入的位置。

  3. 在您儲存文本的資料夾中,以系統管理員身分開啟提升許可權的PowerShell工作階段。

  4. 使用 Connect-MgGraph Cmdlet 連線到您的目錄。

  5. 執行此 PowerShell 命令:

    .\Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

指令碼會產生一個名為「Permissions.csv」的檔案。 依照下列步驟尋找非法應用程式權限授權:

  1. 在 [ConsentType] 數據行 (欄 G) 搜尋 “AllPrinciples” 值。AllPrincipals 許可權可讓用戶端應用程式存取租用中每個人的內容。 原生 Microsoft 365 應用程式需要此許可權才能正確運作。 必須仔細檢閱具有此權限的每一個非 Microsoft 應用程式。

  2. 在 [許可權] 資料行 (欄 F) 中,檢閱每個委派應用程式對內容的許可權。 尋找「讀取」和「寫入」許可權或「全部」許可權,並仔細檢閱這些許可權,因為它們可能不適當。

  3. 檢閱已獲同意授權的特定使用者。 如果高配置檔或高價值的使用者有不適當的同意,您應該進一步調查。

  4. 在 [ClientDisplayName] 欄 (欄 C) 中,尋找看起來可疑的應用程式。 應仔細檢查名稱拼錯、名稱超級簡單名稱或名稱像駭客的應用程式。

判斷攻擊的範圍

完成清查應用程式存取之後,請檢閱 稽核記錄 以判斷缺口的完整範圍。 搜尋受影響的使用者、非法應用程式有權存取您組織的時間範圍,以及應用程式擁有的權限。 您可以在 Microsoft Defender 入口網站中搜尋稽記錄

重要事項

您必須在攻擊之前啟用 [信箱稽核] 和 [系統管理員與使用者的活動稽核],才能獲得此訊息。

在您識別出具有非法許可權的應用程式之後,您有數種方式可以移除該存取權:

  • 您可以執行下列步驟,撤銷應用程式在 Microsoft Entra 系統管理中心 中的權限:

    1. 在 開啟 Microsoft Entra 系統管理中心https://entra.microsoft.com,然後移至 [身分識別>使用者>] [所有使用者]。 或者,若要直接移至 [使用者>所有使用者],請使用 https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/
    2. 按兩下 [ 顯示名稱 ] 值,尋找並選取受影響的使用者。
    3. 在開啟的使用者詳細數據頁面上,選取 [ 應用程式]
    4. 在 [ 應用程式] 頁面上,按兩下 [ 名稱 ] 值來選取非法應用程式。
    5. 在開啟的 [ 指派詳細數據 ] 頁面上,選取 [ 移除]
  • 您可以依照 Remove-MgOauth2PermissionGrant 中的步驟,撤銷 PowerShell 的 OAuth 同意授與

  • 您可以依照 Remove-MgServicePrincipalAppRoleAssignment 中的步驟,撤銷 PowerShell 的服務應用程式角色指派。

  • 您可以停用受影響帳戶的登入,這會停用應用程式對帳戶中數據的存取。 此動作不適用於用戶生產力,但可以是快速限制攻擊結果的短期補救措施。

  • 您可以關閉組織中的整合式應用程式。 此動作十分嚴重。 雖然它可防止使用者不小心授與惡意應用程式的存取權,但也會防止所有使用者將同意授與任何應用程式。 我們不建議此動作,因為它會嚴重降低第三方應用程式的用戶生產力。 您可以遵循開啟 或關閉整合式應用程式中的步驟來關閉整合式應用程式。

另請參閱