令牌竊取手冊

本文及其配套 決策樹,為資安分析師與事件應變人員提供識別與調查組織內代幣盜竊攻擊的指引。 當組織增加其安全性狀態時,威脅執行者會使用更複雜的技術來危害資源。 需要快速回應,才能調查、包含和補救因令牌竊取攻擊所造成的損害。

當威脅執行者入侵並重新執行發給使用者的令牌時,就會發生令牌竊取攻擊,即使該使用者已滿足多重要素驗證也一樣。 因為符合驗證需求,因此威脅執行者會使用遭竊的令牌來授與組織資源的存取權。

深入了解:

必要條件

  • 使用者與服務主體可以存取 Microsoft Entra ID 的 登入稽核 日誌
  • 一個被指派為以下 Microsoft Entra 角色之一的帳號:
    • 安全性系統管理員
    • 安全檢視器
    • 全域閱讀器
    • 安管員

建議

雖然並非必要,但建議您:

需求

設定 SIEM

安全資訊與事件管理(SIEM)工具如 Microsoft Sentinel 具備集中式日誌可視化功能。 設定 SIEM 以擷取下列項目的風險事件:

  • 登入記錄和稽核記錄
  • Microsoft Sentinel整合(預覽版)說明如何將Microsoft Defender for Cloud Apps整合至Microsoft Sentinel(一種可擴展的雲端原生SIEM與SOAR),以實現對警示與發現資料的集中監控。
  • Office 登入記錄和稽核記錄
  • 設定相關的警示

深入了解:

請依照立即啟用威脅偵測的指引,設定 Microsoft Sentinel(或第三方 SIEM)規則以進行威脅偵測與回應。

深入了解:

  • 設定 Microsoft Entra ID Protection 警示。 How To: Export risk data 說明如何透過在Microsoft Entra ID中更改診斷設定,將 RiskyUsers、UserRiskEvents、RiskyServicePrincipals 及 ServicePrincipalRiskEvents 資料傳送至Log Analytics工作區、歸檔資料至儲存帳號、串流資料至事件樞紐,或將資料傳送至合作夥伴解決方案,以保存較長時間的資料。

將 SIEM 整合至 Microsoft Defender for Cloud Apps

Microsoft Defender for Cloud Apps 與 Microsoft Sentinel 預設是連接的。 如果你不使用 Microsoft Sentinel,請將你的 SIEM 連接到支援 Microsoft Sentinel、ArcSight by Open Text 以及通用通用事件格式(CEF)的 Microsoft Defender for Cloud Apps。

深入了解:

將 SIEM 與 Microsoft Graph API 整合

請將 SIEM 與 Microsoft Graph Security API 連接。

  • 支援的整合選項 ——撰寫程式碼連結您的應用程式與衍生洞察。 Microsoft Graph安全API概述描述了關鍵功能並提供程式碼範例。
  • 原生整合與連接器 - 由 Microsoft 合作夥伴打造
  • 連接器:用於通過 SIEM 解決方案、安全編排自動化回應(SOAR)、事件追蹤與服務管理(ITSM)、報告等進行 API 連接。

調查

請檢閱下列各節,以獲得觸發條件、調查清單及其他相關事項的指引。 使用代幣盜用工作流程 決策樹 來協助調查與決策。

調查觸發因素

每個組織都有一般與非典型案例。 使用下列調查清單來判斷觸發因素或不尋常的活動。

  • 身分識別
  • 登入記錄
  • 稽核記錄
  • Office 應用程式
  • 與受影響使用者相關聯的裝置

如果確認這些用戶活動有效,則不會有任何缺口。 如果無法確認它們有效,請假定發生安全漏洞,然後採取緩解措施。 透過搜尋並調查 Microsoft Sentinel 入口網站或 SIEM 中的事件類型,偵測憑證竊盜嘗試。

深入了解:

請確定您收到下列事件的警示,這可能表示令牌竊取攻擊:

Microsoft Entra ID Protection 功能具有以下觸發條件:

  • 異常標記(離線偵測) — 偵測到非典型標記特徵,或標記來自不熟悉地點。 偵測此行為的演算法會使用具有Microsoft 365屬性的Microsoft Entra ID資料。 此偵測指出攻擊者是否正在重放令牌。

  • 不熟悉的登入屬性 —— 與登入歷史相比,登入行為異常。 當使用者登入屬性不熟悉時,就會發生此事件。

  • 陌生登入 ——發生非互動式登入。 增加對不熟悉登入的審查,特別是當偵測到可疑裝置時。 建議您立即注意偵測非互動式登入。

  • 嘗試存取主要刷新令牌(PRT) - 在 Windows 10 和 11 中,Microsoft Defender for Endpoint 偵測到對 PRT 及相關檔案的可疑存取。 偵測結果會反映在 Microsoft Entra 風險分數中,該分數控制資源條件存取。 此偵測的頻率低且不常發生。

  • Microsoft Defender XDR 偵測 – 整合 Microsoft Entra ID Protection 與 Microsoft Defender XDR,以便在一個入口網站中查看所有偵測結果。

    • 根據預設,會啟用安全性作業中心 (SOC) 最相關的警示。 對於所有 Microsoft Entra IP 風險偵測,或要關閉整合,請在 Microsoft Defender XDR 警報服務設定中進行變更。

    僅顯示高衝擊警報選項的截圖。

  • 可疑網址 ——使用者可能點擊了釣魚郵件連結。 可疑的電子郵件可能是中間人攻擊(AiTM)網路釣魚套件,可能是攻擊的開始。

    一份可疑活動清單的截圖。

  • 其他可疑行為 - Defender for Office 365 進階獵手警示的證據與警示表格顯示出代幣盜竊行為。 檢閱記錄以判斷:

    • 用戶下載大量檔
    • 用戶不尋常的檔案下載
    • 將多重要素驗證或無密碼認證新增至帳戶
    • 新增或編輯信箱轉寄規則

開始調查

開始前:完成並啟用先決條件。 此外,本手冊假設 Microsoft 客戶及調查團隊可能尚未擁有或設定好的 Microsoft 365 E5 或 Microsoft Entra ID P2 授權套件。 因此,請注意提供的自動化指引。

針對此調查,假設您在下列專案中有潛在的令牌竊取入侵跡象:

  • 用戶報告
  • Microsoft Entra 登入日誌範例
  • Microsoft Entra ID Protection 偵測

調查檢查清單

在了解您的典型案例後,請判斷以下情況中的異常狀況或不尋常活動:

  • 身分識別
  • 登入日誌 - 異常位置或裝置
  • 稽核記錄 - 新註冊的裝置、其他多重要素驗證選項,或認證變更。
  • Office 應用程式 ——自觸發事件發生以來的變更
  • 裝置 - 與受影響使用者相關聯。 評估事件觸發後的警示。

入侵或令牌竊取的證據:用戶確認

在您識別可能遭入侵的使用者帳戶之後,請確認可疑的活動。 每個組織的流程都不同。

深入了解:

使用者和/或裝置調查

如果您認為帳戶或多個用戶帳戶遭到入侵,請區分兩個內容之間的調查活動:用戶會話和計算機裝置。

使用者調查檢查清單

調查與用戶行為相關的記錄。 如果有可疑的用戶活動:

  • 在 Microsoft Entra ID Protection 或類似功能中,警示會提示代幣被盜
  • 新增至使用者的其他認證或裝置
    • 記錄要撤銷的身分識別清單
  • 受影響的使用者收到可疑的電子郵件
  • 仿冒詐騙調查 提供識別與調查組織內詐騙攻擊的指南。
  • 受影響的特殊許可權帳戶
    • 檢閱在安全入侵後所做的高權限帳戶變更
  • 建立收件匣規則
    • 記錄可疑信箱規則
    • 遭入侵的使用者
    • 記錄IP位址和使用者帳戶
    • 判斷其他可能遭入侵的帳戶
    • 從可疑的IP位址或使用者代理程式字串識別其他驗證

網路釣魚攻擊或惡意電子郵件

若有釣魚或其他惡意郵件的跡象,Microsoft 365 中的惡意郵件調查說明如何尋找及調查可疑郵件。

攻擊者IP位址或使用者代理程式字串驗證

下列查詢會參考 Sentinel 中的數據表。 尋找持續性的標誌:多重要素驗證註冊、裝置註冊、信箱轉寄規則或收件匣規則。

請參考Microsoft Entra安全操作指南

AADUserRiskEvents
| where RiskEventType contains "unfamiliar" or RiskEventType contains "anomalous"
| where IpAddress == "x"

或者,使用登入記錄來取得具有相同IP位址的使用者。

SigninLogs
| where IPAddress == "x"

針對具特殊許可權的使用者,請確認時間範圍中的任何變更。

AuditLogs
| where TimeGenerated between (datetime(2023-03-01) .. datetime(2023-03-15))
| where InitiatedBy has "x"

特殊許可權帳戶的驗證方法變更

使用下列查詢來尋找已指派特殊許可權系統管理員角色之使用者的安全性資訊中的任何變更。

Query
  let queryperiod = 14d;
  let queryfrequency = 2h;
  let security_info_actions = dynamic(["User registered security info", "User changed default security info", "User deleted security info", "Admin updated security info", "User reviewed security info", "Admin deleted security info", "Admin registered security info"]);
  let VIPUsers = (
      IdentityInfo
      | where TimeGenerated > ago(queryperiod)
      | mv-expand AssignedRoles
      | where AssignedRoles matches regex 'Admin'
      | summarize by tolower(AccountUPN));
  Audit logs
  | where TimeGenerated > ago(queryfrequency)
  | where Category =~ "UserManagement"
  | where ActivityDisplayName in (security_info_actions)
  | extend Initiator = tostring(InitiatedBy.user.userPrincipalName)
  | extend IP = tostring(InitiatedBy.user.ipAddress)
  | extend Target = 
tolower(tostring(TargetResources[0].userPrincipalName))
  | where Target in (VIPUsers)

可疑的身分識別和異常

使用 Log Analytics 或 Sentinel(以 Microsoft Entra ID 來源的日誌)來發現可疑的身份和異常。

SigninLogs
    | where UserId == "x"
    | extend deviceId_ = tostring(DeviceDetail.deviceId)
    | extend displayName_ = tostring(DeviceDetail.displayName)
    | extend city_ = tostring(LocationDetails.city)
    | extend countryOrRegion_ = tostring(LocationDetails.countryOrRegion)
    | summarize min(TimeGenerated), max(TimeGenerated) by IPAddress, ResultDescription, deviceId_, displayName_, city_, countryOrRegion_, AppDisplayName

注意

並非所有 Microsoft Entra 活動產生警報在 SigninLogs 中都有相應的條目,如異常令牌偵測所見。 我們建議你查看其他表格,例如 OfficeActivityAuditLogs

OfficeActivity
    | where UserId == "x"
    | summarize min(TimeGenerated), max(TimeGenerated) by ClientIP, OfficeWorkload

Microsoft Defender XDR 中 CloudAppEvents 表格中的活動

使用此方法取決於記錄設定。

M365D AH
CloudAppEvents
| where AccountId == "x"
| summarize min(Timestamp), max(Timestamp) by IPAddress, CountryCode, City, Application

CloudAppEvents 描述了包含 Microsoft Defender for Cloud Apps 涵蓋的各種雲端應用程式與服務活動資訊的進階搜尋架構。

AuditLogs、AzureActivity、AzureDevOpsAuditing 和 CloudAppEvents 中的惡意動作

確認攻擊者存取了什麼:身分證件、程式碼、資料庫等。如以下 SharePoint 範例所示,檢查項目是否有敏感資訊或硬編碼憑證。

OfficeActivity
    | where OfficeWorkload contains "SharePoint" (or other)
    | where ClientIP == "bad IP"
    | project TimeGenerated, Operation, OfficeObjectId

裝置調查檢查清單

分析記錄裝置行為的日誌。 出現可疑的裝置活動的情況包含以下幾種:

  • Microsoft Defender 入口:
    • 裝置具有令牌竊取相關警示。 搜尋裝置識別碼:將 AlertInfo 與 AlertId 結合 | 其中 DeviceId 是 x
    • 嘗試存取主要更新權杖 (PRT)
    • 使用者已安裝可疑的應用程式、擴充功能,或他們最近流覽至可疑網站。 搜尋 Microsoft Defender for Endpoints 警示,尋找可疑的程序或檔案。 警示事項可能包括可疑的植入過程來自已知的新興威脅、程式名稱、程式行為、服務啟動或排程任務活動。 針對可能的 C2 通信,請使用可能的命令和控制活動。
    • 調查 Microsoft Defender for Endpoint 警示描述如何調查影響網路的警示,包括了解其意義及如何加以解決。
  • 進階搜捕:
    • 裝置具有來自可疑程序的對外網路連線。 在觸發時間窗口期間尋找不尋常的傳出活動。
    • 本地用戶帳號執行可疑活動

深入了解:

隔離裝置與網路

控制裝置。 在Microsoft Defender for Endpoint 中對裝置採取回應行動中說明如何透過隔離裝置或收集調查套件來快速回應偵測到的攻擊。

攻擊者存取的數據

數據遺失是數據損毀或外洩。 探索攻擊者存取的內容和數據敏感度。 Investigate SharePoint, OneNote, Azure DevOps. 輪替認證。

數據遺失程序

使用災害復原計劃的指引,來處理攻擊者存取公司數據的情況。 使用下列指引來協助防止數據遺失,以及改善或建立災害復原計劃。

其他受影響的使用者或裝置:整個環境

查詢整個環境的入侵指標。 例如,更多受影響的裝置。 重複操作以確保找出受影響的用戶和裝置。

內含項目狀態

一旦您識別出一個以上的使用者、裝置、應用程式或工作負載身分識別為惡意或遭到入侵,您應該採取行動來遏制攻擊者。 如果遭入侵,您可能不會立即復原應用程式的認證,也不會將其刪除。

有時候,收集攻擊者詳細數據比立即回應攻擊更重要。 建議您考慮下列指引的順序。 在此範例中,遏制或減輕風險會優先於資訊收集。

重要

判斷停用使用者或裝置帳戶的安全性和商務效果。 如果太嚴重,請考慮移至恢復階段。

遏制工作清單

  1. 變更涉嫌入侵的帳戶密碼,或發現帳戶密碼時。

  2. 封鎖該使用者。 Microsoft Entra ID 中撤銷用戶存取權說明如何在帳號被入侵、員工解僱及其他內部威脅等情境下,撤銷所有用戶存取權。

  3. 在 Microsoft Entra ID Protection 或類似功能中,將相關帳號標記為已入侵。

  4. 封鎖攻擊者IP位址。

    提示

    攻擊者可以使用合法的虛擬專用網(VPN),這可能會在變更IP位址時產生更多風險。 如果你使用 Cloud Authentication,請在 Defender for Cloud Apps 或 Microsoft Entra ID 中封鎖該 IP 位址。 若是聯邦化,請在防火牆層級封鎖 Active Directory Federation Services(ADFS)前方的 IP 位址。

  5. 啟用 MFA。 Enable Microsoft Entra multifactor authentication 說明如何在登入事件中提示使用者提供額外的身份識別方式。

  6. 啟用 Microsoft Entra ID Protection 以防使用者及登入風險。 風險政策:Microsoft Entra ID Protection描述了Microsoft Entra條件式存取中的風險政策,這些政策可以自動化地回應風險,並允許使用者自行修正偵測到的風險。

  7. 找出被入侵的資料:電子郵件、SharePoint、OneDrive、應用程式。 Microsoft Defender for Cloud Apps Activities 過濾器可以掃描活動並更新新活動。

  8. 維護密碼衛生。 密碼指引白皮書提供了給終端使用者及身份管理員的密碼管理建議。

  9. 一直到您發現受影響的帳戶和裝置,並停止攻擊為止。

復原

在調查和遏制措施之後,請使用下列各節做為指引。

補救工作清單

完成調查和控制之後,修復損害:

  • 停用受影響的使用者和裝置帳戶
    • 撤銷目前的憑證
    • 重設密碼
  • 停用新增的認證和/或裝置
    • 補救受感染的裝置
  • 停用可疑的電子郵件規則
  • 復原被入侵的具特權帳戶所做的變更

刪除新增的認證和裝置

重新啟用受影響的帳戶之前,請使用下列指引。 刪除透過 Microsoft Entra 認證方法使用 Graph API 新增的憑證。

若要刪除使用者電子郵件驗證方法,請執行下列 Graph 呼叫:

DELETE /users/{id | userPrincipalName}/authentication/emailMethods/{id}

或者,刪除新增的驗證器驗證方法執行:

DELETE /users/{id | userPrincipalName}/authentication/microsoftAuthenticatorMethods/{microsoftAuthenticatorAuthenticationMethodId}

深入了解:

刪除已識別用戶帳戶所註冊的裝置。 請使用以下 Graph API 呼叫:

DELETE /devices/{id}
DELETE /devices(deviceId='{deviceId}')

攻擊者存取的數據包含更多認證

如果你啟用了 Microsoft Purview,請掃描你的環境。 使用 [所有憑證] 實體定義搭配遭入侵的帳戶。 按照以下“憑證更換”一節中的說明,變更已識別的憑證。

深入了解:

失效並替換洩漏的憑證

更換與使用者或裝置認證相關聯的機密。

  • 在雲端帳號的 Azure 入口網站,重設帳號密碼。
  • 對於混合帳號,請依照 Revoke user access in Microsoft Entra ID 的說明重設兩次使用者密碼。
  • 在 Microsoft Entra 使用者帳號中,請驗證裝置與多重認證是否在使用者控制之下:
    • 停用或刪除未知的裝置
    • 重新啟用使用者帳戶之前,請先刪除未知的 MFA 選項
  • 在您的程式碼存放庫中,使硬編碼或純文字格式的憑證過期。
  • 刪除 Microsoft 365 入口網站新增或更改收件匣規則:

在您的環境中保護身分識別

下列文章提供有關保護身分識別的詳細資訊。

令牌竊取根本原因

有時候,無法探索根本原因。 建議您完成調查,以衍生可顯示根本原因的詳細數據。 復原之後,您可以執行更多調查步驟,以協助判斷根本原因。

調查 Microsoft 365 中傳送的惡意郵件描述如何尋找及調查可疑電子郵件。

下一步

* 代幣竊取工作流程決策樹