Try in Splunk Security Cloud


The following analytic identifies an O365 account that has experienced more than 20 failed authentication events within a span of 5 minutes. This could be indicative of an attacker attempting to brute force or guess the password for that particular user account. It leverages the O365 Unified Audit Logs, specifically the "UserLoginFailed" events. By monitoring the frequency and volume of these events for individual users, the analytic can flag accounts that exceed the set threshold of failed attempts within the defined timeframe. Multiple failed login attempts in a short period can be a strong indicator of malicious activity. While there could be benign reasons, such as a user forgetting their password, the rapid succession of failed attempts is often a sign of an attacker trying to gain unauthorized access. By detecting and alerting on this behavior, the SOC can quickly investigate and take appropriate action, potentially stopping an attack in its early stages. Given that environments differ across organizations, security teams should consider customizing the threshold of this detection to better suit their specific needs and risk profile. If an attacker successfully guesses or brute-forces a user's password after numerous attempts, they can gain unauthorized access to the O365 environment. This unauthorized access could allow them to view sensitive emails, documents, and other data.

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud

  • Last Updated: 2023-10-10
  • Author: Mauricio Velazco, Splunk
  • ID: 31641378-2fa9-42b1-948e-25e281cb98f7




ID Technique Tactic
T1110 Brute Force Credential Access
T1110.001 Password Guessing Credential Access
Kill Chain Phase
  • Exploitation
  • DE.CM
  • CIS 10
 `o365_management_activity` Operation=UserLoginFailed  record_type=AzureActiveDirectoryStsLogon Workload=AzureActiveDirectory 
| bucket span=5m _time 
| stats  dc(_raw) AS failed_attempts  values(src_ip) as src_ip by user, _time 
| where failed_attempts > 10 
| `o365_high_number_of_failed_authentications_for_user_filter`


The SPL above uses the following Macros:

:information_source: o365_high_number_of_failed_authentications_for_user_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Required fields

List of fields required to use this analytic.

  • _time
  • src_ip
  • user
  • Operation
  • record_type
  • Workload

How To Implement

You must install the Splunk Microsoft Office 365 Add-on and ingest Office 365 management activity events.

Known False Positives

Although unusual, users who have lost their passwords may trigger this detection. Filter as needed.

Associated Analytic Story


Risk Score Impact Confidence Message
35.0 50 70 User $user$ failed to authenticate more than 10 times in the span of 5 minutes.

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.


Test Dataset

Replay any dataset to Splunk Enterprise by using our tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 1