令牌竊取劇本

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

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

深入了解:

必要條件

  • 存取 Microsoft Entra 識別碼 (先前稱為 Azure AD) 登入稽核 使用者和服務主體的記錄
  • 已指派下列其中一個 Microsoft Entra 角色的帳戶:
    • 安全性系統管理員
    • 全域管理員
    • 安全性讀取者
    • 全域讀取者
    • 安全性操作員

建議

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

需求

設定 SIEM

安全性資訊和事件管理 (SIEM) 工具,例如 Microsoft Sentinel 具有集中式記錄可見性。 設定 SIEM 以擷取下列項目的風險事件:

  • 登入記錄和稽核記錄
  • Microsoft Sentinel 整合(預覽版)說明如何整合 適用於雲端的 Microsoft Defender Apps 與 Microsoft Sentinel(可調整的雲端原生 SIEM 和 SOAR),以集中監視警示和探索數據。
  • Office 登入記錄和稽核記錄
  • 設定相關的警示

深入了解:

依照現用偵測威脅中的指引,設定威脅偵測和回應的 Microsoft Sentinel (或第三方 SIEM) 規則。

深入了解:

  • 設定 Microsoft Entra ID Protection 警示。 如何:導出風險數據 描述如何在 Microsoft Entra 標識符中變更診斷設定,以將 RiskyUsers、UserRiskEvents、RiskyServicePrincipals 和 ServicePrincipalRiskEvents 數據儲存至 Log Analytics 工作區、將數據封存至記憶體帳戶、將數據串流至事件中樞,或將數據傳送至合作夥伴解決方案。

整合 SIEM 與 適用於雲端的 Microsoft Defender Apps

適用於雲端的 Microsoft Defender 應用程式與 Microsoft Sentinel 預設會連線。 如果您沒有使用 Microsoft Sentinel,請將 SIEM 連線到 適用於雲端的 Microsoft Defender Apps,其支援 Microsoft Sentinel、ArcSight by Open Text 和一般通用事件格式 (CEF)。

深入了解:

整合 SIEM 與 Microsoft Graph API

使用 Microsoft Graph 安全性 API 連線 SIEM。

  • 支援的整合選項 - 撰寫程式代碼來連接您的應用程式以衍生深入解析。 Microsoft Graph 安全性 API 概觀描述主要功能並提供程式碼範例。
  • 原生整合和連接器 - 由 Microsoft 合作夥伴所建置
  • 連線 ors - 透過 SIEM 解決方案的 API、安全性協調流程自動化回應 (SOAR)、事件追蹤和服務管理 (ITSM)、報告等等
    • Microsoft 的連接器列表說明使用 Microsoft Graph 安全性 API 連線的選項。

調查

請檢閱下列各節,以取得觸發程式、調查檢查清單等等的指引。 使用令牌竊取工作流程 判定樹 來協助您進行調查和決策。

調查觸發程式

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

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

如果確認這些用戶活動有效,則不會有任何缺口。 如果無法確認它們有效,請假設有缺口,然後繼續進行緩和動作。 在 Microsoft Sentinel 入口網站或 SIEM 中搜尋和調查事件類型,以偵測令牌竊取嘗試。

深入了解:

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

Microsoft Entra ID Protection 功能具有下列觸發程式:

  • 異常令牌 (離線偵測) - 偵測到非典型令牌特性,或從不熟悉的位置使用令牌。 偵測此行為的演算法會使用 Microsoft Entra ID 中的數據與 Microsoft 365 屬性。 此偵測指出攻擊者是否正在重新執行令牌。

  • 不熟悉的登入屬性 - 與登入歷程記錄相比,登入是異常的。 當使用者登入屬性不熟悉時,就會發生此事件。

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

  • 嘗試存取主要重新整理令牌 (PRT) - 在 Windows 10 和 11 中,適用於端點的 Microsoft Defender 偵測到對 PRT 和相關聯成品的可疑存取。 偵測會饋送至 Microsoft Entra 風險分數,以控制資源條件式存取。 此偵測是低磁碟區且不常偵測。

  • Microsoft Defender 全面偵測回應 偵測 – 整合 Microsoft Entra ID Protection 和 Microsoft Defender 全面偵測回應,以查看一個入口網站中的偵測。

    Screenshot of the Show high impact alerts only option.

  • 可疑的 URL – 使用者可能已按兩下網路釣魚電子郵件連結。 可疑的電子郵件可能是中間的敵人 (AiTM) 網路釣魚套件,以及攻擊的開始。

    Screenshot of a list of suspicious activity.

  • 其他可疑行為 - 適用於 Microsoft 365 的 Defender 進階獵人警示辨識項和警示數據表會顯示指出令牌竊取的動作。 檢閱記錄以判斷:

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

開始調查

開始之前:完成並啟用必要條件。 此外,此劇本假設 Microsoft 客戶和調查小組可能沒有 Microsoft 365 E5 或 Microsoft Entra ID P2 授權套件可供使用或設定。 因此,請注意提供的自動化指引。

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

  • 用戶報告
  • Microsoft Entra 登入記錄範例
  • Microsoft Entra ID Protection 偵測

調查檢查清單

瞭解一般案例后,請判斷下列情況的異常或異常活動:

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

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

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

深入了解:

使用者和/或裝置調查

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

使用者調查檢查清單

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

  • 在 Microsoft Entra ID Protection 或類似功能中,警示建議令牌竊取
  • 新增至使用者的其他認證或裝置
    • 記錄要撤銷的身分識別清單
  • 受影響的使用者收到可疑的電子郵件
    • 針對網路釣魚或惡意電子郵件,請使用 Microsoft Defender 全面偵測回應 調查並判斷其他受影響的使用者
    • 調查 Microsoft 365 中傳遞的惡意電子郵件說明如何尋找並調查可疑的電子郵件訊息。
  • 網路釣魚調查 提供識別和調查貴組織內網路釣魚攻擊的指引。
  • 受影響的特殊許可權帳戶
    • 檢閱在入侵后所做的特殊許可權帳戶變更
  • 建立收件匣規則
    • 記錄可疑信箱規則
    • 遭入侵的使用者
    • 檔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 == "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

cloudAppEvents 數據表中的活動 Microsoft Defender 全面偵測回應

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

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

CloudAppEvents 描述進階搜捕架構,其中包含 適用於雲端的 Microsoft Defender Apps 涵蓋的各種雲端應用程式和服務中活動的相關信息。

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

確認攻擊者存取的內容:身分識別檔、程序代碼、存放庫等。檢閱敏感性資訊或硬式編碼認證的專案,如下列 SharePoint 範例所示。

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

裝置調查檢查清單

調查記錄裝置行為的記錄。 如果有可疑的裝置活動:

  • Microsoft Defender 入口網站:
    • 裝置具有令牌竊取相關警示。 搜尋裝置識別碼:在AlertId上加入AlertInfo |其中 DeviceId 為 x
    • 嘗試存取主要重新整理權杖 (PRT)
    • 使用者已安裝可疑的應用程式、擴充功能,或他們最近流覽至可疑網站。 搜尋 適用於端點的 Microsoft Defender 可疑處理程式或檔案的警示。 警示可能包括可疑:來自已知新興威脅、進程名稱、進程行為、服務啟動或排程工作活動的植入程式。 針對可能的 C2 comms,請使用可能的命令和控制活動。
    • 調查 適用於端點的 Microsoft Defender 警示說明如何調查影響您網路的警示、瞭解它們的意義,以及如何解決它們。
  • 進階搜捕:
    • 裝置具有來自可疑進程的連出網路連線。 在觸發程式視窗期間尋找不尋常的傳出活動。
    • 本機帳戶執行可疑活動

深入了解:

隔離裝置與網路

包含裝置。 適用於端點的 Microsoft Defender 中的裝置採取回應動作說明如何藉由隔離裝置或收集調查套件,快速響應偵測到的攻擊。

攻擊者存取的數據

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

數據遺失程式

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

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

查詢整個環境的入侵指標。 例如,更多受影響的裝置。 反覆運算以確保探索受影響的用戶和裝置。

內含項目狀態

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

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

重要

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

內含專案工作清單

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

  2. 封鎖使用者。 撤銷 Microsoft Entra 識別碼 中的使用者存取權說明如何在包括遭入侵帳戶、員工終止和其他內部威脅的案例中撤銷使用者的所有存取權。

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

  4. 封鎖攻擊者IP位址。

    提示

    攻擊者可以使用合法的虛擬專用網(VPN),這可能會在變更IP位址時產生更多風險。 如果您使用雲端驗證,請在 適用於雲端的 Defender Apps 或 Microsoft Entra ID 中封鎖 IP 位址。 如果同盟,請在 Active Directory 同盟服務 (ADFS) 前方封鎖防火牆層級的IP位址。

  5. 啟用 MFA。 啟用 Microsoft Entra 多重要素驗證 說明如何在登入事件期間提示使用者提供其他形式的識別。

  6. 為使用者和登入風險啟用 Microsoft Entra ID Protection。 風險原則:Microsoft Entra ID Protection 描述 Microsoft Entra 條件式存取中的風險原則,可將風險的回應自動化,並允許使用者自行修復偵測到的風險。

  7. 判斷遭入侵的數據:電子郵件、SharePoint、OneDrive、應用程式。 適用於雲端的 Microsoft Defender Apps 活動篩選可以掃描活動和更新新活動。

  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 入口網站 中,重設帳戶密碼。
  • 針對混合式帳戶,請重設用戶密碼兩次,如撤銷 Microsoft Entra ID 中的使用者存取中所述
  • 在 Microsoft Entra 使用者帳戶中,確認裝置和 MFA 位於使用者控制之下:
    • 停用或刪除未知的裝置
    • 重新啟用使用者帳戶之前,請先刪除未知的 MFA 選項
  • 在您的程式代碼存放庫中,硬式編碼或純文字認證過期:
  • 在 Microsoft 365 入口網站中刪除新增或變更的收件匣規則:

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

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

令牌竊取根本原因

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

調查 Microsoft 365 中傳遞的惡意電子郵件說明如何尋找並調查可疑的電子郵件訊息。

下一步

*令牌竊取 wokflow 判定樹