Try in Splunk Security Cloud


The following analytic identifies the addition of new credentials for Service Principals and Applications in addition to existing legitimate credentials in Azure AD. These credentials include both x509 certificates and passwords. With sufficient permissions, there are a variety of ways to add credentials including the Azure Portal, Azure command line interface, and Azure or Az PowerShell modules. Adversaries and red teams alike who have obtained privileged access to Azure AD may add credentials to Service Principals to maintain persistent access to victim accounts and other instances within the Azure environment. By compromising an account who is an Owner of an application with privileged access, attackers may also escalate their privileges in an Azure AD environment by adding new credentials and logging in as the service principal.

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

  • Last Updated: 2023-12-20
  • Author: Mauricio Velazco, Gowthamaraj Rajendran, Splunk
  • ID: e3adc0d3-9e4b-4b5d-b662-12cec1adff2a




ID Technique Tactic
T1098 Account Manipulation Persistence, Privilege Escalation
T1098.001 Additional Cloud Credentials Persistence, Privilege Escalation
Kill Chain Phase
  • Installation
  • Exploitation
  • DE.CM
  • CIS 10
 `azure_monitor_aad`  category=AuditLogs operationName="Update application*Certificates and secrets management " 
| rename properties.* as * 
| rename  targetResources{}.* as * 
| stats count min(_time) as firstTime max(_time) as lastTime values(displayName) as displayName by user, modifiedProperties{}.newValue, src_ip 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)` 
| `azure_ad_service_principal_new_client_credentials_filter`


The SPL above uses the following Macros:

:information_source: azure_ad_service_principal_new_client_credentials_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
  • category
  • operationName
  • user
  • properties.targetResources{}.displayName
  • properties.targetResources{}.modifiedProperties{}.newValue
  • src_ip

How To Implement

You must install the latest version of Splunk Add-on for Microsoft Cloud Services from Splunkbase ( You must be ingesting Azure Active Directory events into your Splunk environment. This analytic was written to be used with the azure:monitor:aad sourcetype leveraging the Signin log category.

Known False Positives

Service Principal client credential modifications may be part of legitimate administrative operations. Filter as needed.

Associated Analytic Story


Risk Score Impact Confidence Message
35.0 70 50 New credentials added for Service Principal by $user$

: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: 2