密碼噴水攻擊的警示分類
適用於:
- Microsoft Defender XDR
威脅執行者會使用創新的方式來危害其目標環境。 獲得攻擊的其中一種類型是密碼噴射攻擊,攻擊者的目標是以最少的精力存取網路內的許多帳戶。 不同於傳統的暴力密碼破解攻擊,威脅執行者會在單一帳戶上嘗試許多密碼,密碼噴射攻擊著重於猜測許多帳戶的密碼是否正確,其中包含一組有限的常用密碼。 這會讓攻擊對於密碼弱或容易猜到的組織特別有效,進而導致組織遭受嚴重的數據外泄和財務損失。
攻擊者會使用自動化工具,重複嘗試使用常用密碼清單來存取特定帳戶或系統。 攻擊者有時會藉由建立許多虛擬機 (VM) 或容器來發動密碼噴水攻擊,來濫用合法的雲端服務。
此劇本可協助調查發現可疑行為表示密碼噴水攻擊的情況。 本指南適用於安全性作業中心 (SOC) ,以及檢閱、處理/管理及分類警示的 IT 系統管理員等安全性小組。 本指南可協助您快速將警示分類為 真 (TP) 或誤判 (FP) ,並在 TP 的情況下採取建議的動作來補救攻擊並降低安全性風險。
使用本指南的預期結果如下:
您已將與密碼噴射嘗試相關聯的警示識別為惡意 (TP) 或誤判 (FP) 活動。
您已採取必要的動作來補救攻擊。
調查步驟
本節包含回應警示的逐步指引,並採取建議的動作來保護您的組織免於遭受進一步的攻擊。
1.調查安全性警示
- 警示登入嘗試是否來自可疑的位置? 針對受影響的用戶帳戶,檢查來自非一般位置的登入嘗試。 一或多個使用者的多次登入嘗試是有用的指標。
2.調查可疑的用戶活動
是否有不尋常屬性的異常事件? 受影響使用者的唯一屬性,例如不尋常的 ISP、國家/地區或城市,可能表示可疑的登入模式。
電子郵件或檔案相關活動是否明顯增加? 可疑事件,例如增加的郵件存取或傳送活動嘗試次數,或增加將檔案上傳至受影響使用者的 SharePoint 或 OneDrive 等事件,是一些要尋找的徵兆。
是否有多個失敗的登入嘗試? 受影響的使用者從各種IP和地理位置進行的大量失敗登入嘗試,可能表示密碼噴水攻擊。
從受影響使用者的登入活動中識別 ISP。 檢查相同 ISP 中其他用戶帳戶的登入活動。
檢查環境中任何最近的修改:
- Office 365 應用程式中的變更,例如 Exchange Online許可權、郵件自動轉寄、郵件重新導向
- PowerApps 中的修改,例如透過PowerAutomate的自動化資料傳輸設定
- Azure 環境中的修改,例如 Azure 入口網站 訂用帳戶變更
- SharePoint Online 的變更,例如受影響的用戶帳戶,可存取具有敏感/機密/僅限公司內容的多個網站或檔案
檢查在多個平臺和應用程式上在短時間內發生的受影響帳戶活動。 稽核事件以檢查活動的時間軸,例如對比使用者在讀取或傳送電子郵件后將資源配置給用戶帳戶或其他帳戶所花費的時間。
3.調查可能的後續攻擊
檢查您的環境,以瞭解其他涉及受影響用戶帳戶的攻擊 ,因為攻擊者通常會在成功密碼噴水攻擊之後執行惡意活動。 請考慮調查下列可能的可疑活動:
-
- 攻擊者會使用 MFA 疲勞 來略過組織為了保護其系統所採用的安全性措施。 檢查受影響的用戶帳戶所引發的多個 MFA 要求。
- 攻擊者可能會藉由停用租使用者內其他帳戶的 MFA 保護,以提升許可權使用受影響的使用者帳戶來執行 MFA 竄改 。 檢查受影響的使用者是否執行可疑的系統管理活動。
內部網路釣魚攻擊
- 攻擊者可能會使用受影響的用戶帳戶來傳送內部網路釣魚郵件。 檢查可疑的活動,例如電子郵件轉寄或建立收件匣操作或收件匣轉寄規則。 下列劇本可引導您進一步調查電子郵件事件:
- 檢查使用者是否在密碼噴水活動之前收到其他警示。 具有這些警示表示用戶帳戶可能遭到入侵。 範例包括不可能的旅遊警示、來自不常使用國家/地區的活動,以及可疑的電子郵件刪除活動等等。
進階搜捕查詢
進階搜捕 是以查詢為基礎的威脅搜捕工具,可讓您檢查網路中的事件並找出威脅指標。
使用這些查詢來收集與警示相關的詳細資訊,並判斷活動是否可疑。
請確定您可以存取下列資料表:
- AadSignInEventsBeta
- CloudAppEvents
- DeviceEvents
- EmailEvents
- EmailUrlInfo
- IdentityLogonEvents
- UrlClickEvents
使用此查詢來識別密碼噴水活動。
IdentityLogonEvents
| where Timestamp > ago(7d)
| where ActionType == "LogonFailed"
| where isnotempty(RiskLevelDuringSignIn)
| where AccountObjectId == <Impacted User Account Object ID>
| summarize TargetCount = dcount(AccountObjectId), TargetCountry = dcount(Location), TargetIPAddress = dcount(IPAddress) by ISP
| where TargetCount >= 100
| where TargetCountry >= 5
| where TargetIPAddress >= 25
使用此查詢來識別來自警示 ISP 的其他活動。
CloudAppEvents
| where Timestamp > ago(7d)
| where AccountObjectId == <Impacted User Account Object ID>
| where ISP == <Alerted ISP>
| summarize count() by Application, ActionType, bin(Timestamp, 1h)
使用此查詢來識別受影響使用者的登入模式。
IdentityLogonEvents
| where Timestamp > ago(7d)
| where AccountObjectId == <Impacted User Account Object ID>
| where ISP == <Alerted ISP>
| where Application != "Active Directory"
| summarize SuccessCount = countif(ActionType == "LogonSuccess"), FailureCount = countif(ActionType == "LogonFailed") by ISP
使用此查詢來識別 MFA 疲勞攻擊。
AADSignInEventsBeta
| where Timestamp > ago(1h)
//Error Code : 50088 : Limit on telecom MFA calls reached
//Error Code : 50074 : Strong Authentication is required.
| where ErrorCode in ("50074","50088")
| where isnotempty(AccountObjectId)
| where isnotempty(IPAddress)
| where isnotempty(Country)
| summarize (Timestamp, ReportId) = arg_max(Timestamp, ReportId), FailureCount = count() by AccountObjectId, Country, IPAddress
| where FailureCount >= 10
使用此查詢來識別 MFA 重設活動。
let relevantActionTypes = pack_array("Disable Strong Authentication.","system.mfa.factor.deactivate", "user.mfa.factor.update", "user.mfa.factor.reset_all", "core.user_auth.mfa_bypass_attempted");
CloudAppEvents
AlertInfo
| where Timestamp > ago(1d)
| where isnotempty(AccountObjectId)
| where Application in ("Office 365","Okta")
| where ActionType in (relevantActionTypes)
| where RawEventData contains "success"
| project Timestamp, ReportId, AccountObjectId, IPAddress, ActionType
CloudAppEvents
| where Timestamp > ago(1d)
| where ApplicationId == 11161
| where ActionType == "Update user."
| where isnotempty(AccountObjectId)
| where RawEventData has_all("StrongAuthenticationRequirement","[]")
| mv-expand ModifiedProperties = RawEventData.ModifiedProperties
| where ModifiedProperties.Name == "StrongAuthenticationRequirement" and ModifiedProperties.OldValue != "[]" and ModifiedProperties.NewValue == "[]"
| mv-expand ActivityObject = ActivityObjects
| where ActivityObject.Role == "Target object"
| extend TargetObjectId = tostring(ActivityObject.Id)
| project Timestamp, ReportId, AccountObjectId, ActivityObjects, TargetObjectId
使用此查詢來尋找受影響使用者所建立的新電子郵件收件匣規則。
CloudAppEvents
| where AccountObjectId == <ImpactedUser>
| where Timestamp > ago(21d)
| where ActionType == "New-InboxRule"
| where RawEventData.SessionId in (suspiciousSessionIds)
建議的動作
一旦您判斷與此警示相關聯的活動是惡意的,請將這些警示分類為 TP,並採取下列動作進行補救:
- 重設使用者的帳戶認證。
- 撤銷遭入侵帳戶的存取令牌。
- 在 Microsoft Authenticator 中使用數位比對來減輕 MFA 疲勞攻擊。
- 套用最低許可權原則。 Create 具有完成工作所需最低許可權的帳戶。
- 如果成品與電子郵件相關,請根據寄件者的IP位址和網域設定封鎖。
- 封鎖網路保護平臺上 (URL 或 IP 位址,) 在調查期間識別為惡意的 URL 或 IP 位址。
另請參閱
提示
想要深入了解? Engage 技術社群中的 Microsoft 安全性社群:Microsoft Defender 全面偵測回應 技術社群。