關閉選單
使用 Cazadora 在 Microsoft 365 中尋找隱藏的惡意 OAuth 應用
身份型攻擊的新興典範:OAuth 應用程式的合法外衣

在當前雲端優先的企業環境中,傳統針對密碼或憑證的攻擊已逐漸演變,攻擊者轉而利用系統的「合法功能」來建立持久且隱蔽的後門。Microsoft 365 作為核心生產力平台,其 OAuth(Open Authorization)應用程式生態系統,正成為此類身份安全攻擊的溫床。OAuth 機制原本旨在提供安全的資源授權管道,允許應用程式代表使用者或租戶存取特定資源,但這項便利性也成為攻擊者夢寐以求的「功能性漏洞」。惡意應用程式一旦取得使用者同意(Consent),便能繞過多重要素驗證(MFA)與密碼重設的限制,獲得長期、隱匿的存取權。這種攻擊難以被傳統邊界防護或端點安全工具偵測,對企業構成難以察覺的「白蟻巢」威脅。

 

Cazadora:開源狩獵工具的誕生背景與核心價值

在雲端安全日益受到關注的今日,資安研究員 Daniel Stenberg 推出一款名為「Cazadora」的開源工具,專門用於偵測 Microsoft 365 租戶中潛藏的惡意 OAuth 應用程式。這些應用可能被攻擊者利用,以合法授權的方式長期存取企業郵件、檔案與其他敏感資料。 Cazadora 透過 Microsoft Graph API 掃描租戶內所有 OAuth 應用,並比對其授權範圍與使用者活動,協助資安人員辨識出異常或可疑的應用。特別針對使用「委派權限」的應用進行分析,這類應用常被攻擊者偽裝成合法工具,誘騙使用者授權後持續存取帳號,即使重設密碼也無法阻止。 報導指出,OAuth 攻擊的最大風險在於其「合法外衣」:攻擊者不需破解密碼,只需取得授權,即可長期存取帳號資源。這類攻擊難以透過傳統防毒或入侵偵測系統發現,造成企業資安防線的重大漏洞。建議防護措施

  1. 定期審查 Microsoft 365 租戶中的 OAuth 應用授權紀錄。
  2. 導入 Cazadora 等工具進行主動偵測與清查。
  3. 教育使用者避免授權不明應用,強化資安意識。
  4. 搭配 Microsoft Defender for Cloud Apps 等原生工具進行整合防護。

 

Microsoft 365 應用程式的基礎運作機制解析

理解 OAuth 應用程式的風險,必須先釐清其在 Azure/Entra ID 生態中的結構。Azure 將應用程式分為兩大類:「應用程式註冊」(Application Registrations)與「企業應用程式」(Enterprise Applications)。應用程式註冊是指在租戶內自行開發、註冊並維護的應用程式藍圖;而企業應用程式則是指從其他租戶安裝或使用的應用程式實例。

無論哪種類型,當應用程式被安裝到租戶中時,系統都會建立一個服務主體(Service Principal),它本質上是該應用程式在特定租戶中的工作帳號,記錄著已同意的權限與授權身份。應用程式的存取能力完全取決於使用者或管理員在安裝過程中提供的「同意」(Consent)。令人憂心的是,Azure 的預設配置允許任何使用者為自己帳戶的資源安裝應用程式並授予權限,無需額外審核,這為惡意應用程式的潛伏提供了極佳的條件。OAuth 攻擊的本質,即是利用這套合法的認證與授權系統,將惡意行為包裝成正常的應用程式活動。

 

惡意應用程式的兩種主要戰術:「叛徒軟體」與「惡意軟體」

資安研究社群將惡意或可疑的應用程式行為模式歸納為兩類:

  1. 叛徒軟體(Traitorware):這類應用程式本身是合法的,設計用於正當用途,但因其功能強大或具有高度利用價值,而成為攻擊者在入侵後常用的工具。它們類似於端點安全中的「生活在土地上」(Living Off the Land)戰術,攻擊者利用環境中既有的合法工具,而非自帶惡意代碼,使行為更難被辨識。例如,某些遠端監控與管理(RMM)工具在合法使用時是無害的,但在入侵場景中卻成為攻擊者建立持久存取的利器。

  2. 惡意軟體(Rogue Apps):這類應用程式是專為惡意用途而建立,通常具有高度混淆性,旨在騙取使用者或管理員的同意。它們會要求廣泛或高風險的權限,然後在幕後執行竊取資料、修改設定等惡意活動。攻擊者會透過精心的命名或偽裝,使其在外觀上與合法應用程式無異,隱藏在租戶的應用程式清單中。

 

Cazadora 的鑑識邏輯與惡意特徵指標

Cazadora 的核心價值在於,它將多年來對 OAuth 應用程式攻擊的實務經驗,轉化為一組可執行的鑑識邏輯,供管理員進行主動狩獵。該工具透過比對常見的攻擊者應用程式命名習慣和配置異常,來識別潛在的「冒煙槍」(Smoking Guns)應用程式。資安人員在審查 Microsoft 365 租戶時,應特別關注以下五個關鍵特徵:

  1. 以使用者帳號命名的應用程式:應用程式的命名應與其功能或發布者相關,若其名稱被設定為單一使用者帳號或通用名稱,極為可疑。

  2. 通用或測試名稱:應用程式被命名為「Test」、「Test App」或類似的通用、敷衍名稱,缺乏應有的專業描述,可能是在攻擊環境中迅速建立的惡意實體。

  3. 以租戶域名命名的應用程式:這是一種欺騙手法,試圖讓應用程式看起來像是租戶內部自行開發或高度信任的應用程式。

  4. 使用非字母數字的任意字串:如「........」、「_-_-_」等,這類非標準、難以辨識的名稱是攻擊者試圖在清單中隱藏應用程式的常見伎倆。

  5. 異常的回覆 URL:特別要注意包含本地迴路 URL 的情況,例如 http://localhost:7823/access/。異常的回覆 URL 是 OAuth 應用程式配置中的一個危險訊號,可能指向攻擊者控制的伺服器。

 

整體防禦框架與策略建議

鑑於 OAuth 應用程式攻擊的隱蔽性與破壞力,企業必須將身份安全防禦提升至新的層次。Cazadora 提供了強大的起點,但全面的防禦需要整合技術、流程與人員教育:

  • 流程優化與工具整合:定期排程使用 Cazadora 等工具對所有應用程式註冊與企業應用程式進行掃描與盤點,將其納入資產清單審核流程。同時,應整合 Microsoft Defender for Cloud Apps (MDA) 等原生雲端存取安全代理(CASB)工具,以監控應用程式的實際行為與權限使用情況。

  • 強化權限管控:檢討並限制使用者同意(User Consent)的預設配置。對於需要高風險權限(例如全域管理員權限、郵件讀取權限等)的應用程式,必須啟用管理員同意工作流程,確保所有新的應用程式安裝都經過資安團隊的嚴格審核。

  • 實施最小權限原則:確保應用程式被授予的權限,僅限於其業務功能所需。定期審查已授權應用程式的權限清單,並移除任何過度或不再需要的權限。

  • 使用者資安教育:教育使用者識別可疑的應用程式同意請求。訓練他們警惕要求過多權限、來自未知發行者,或命名可疑的應用程式。強調在授權前,務必仔細閱讀應用程式請求的具體權限範圍。

OAuth 應用程式已成為 Microsoft 365 環境中不可或缺的一部分,但它們也是攻擊者利用「功能」進行攻擊的最佳路徑。透過主動導入 Cazadora 等工具,並建立一套嚴謹的應用程式審核與監控機制,企業才能有效地「撕開」惡意 OAuth 應用程式的合法外衣,確保雲端身份環境的長期安全。


資料來源:https://www.bleepingcomputer.com/news/security/find-hidden-malicious-oauth-apps-in-microsoft-365-using-cazadora/
 
分析開源工具 Cazadora 如何利用 Microsoft Graph API 偵測 Microsoft 365 租戶中潛藏的惡意 OAuth 應用程式