Try in Splunk Security Cloud


The following analytic identifies the creation of 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.

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

  • Last Updated: 2022-08-17
  • Author: Mauricio Velazco, Splunk
  • ID: e3adc0d3-9e4b-4b5d-b662-12cec1adff2a




ID Technique Tactic
T1098 Account Manipulation Persistence
T1098.001 Additional Cloud Credentials Persistence
Kill Chain Phase
  • Actions on Objectives
  • Installation
  • DE.CM
  • CIS 3
  • CIS 5
  • CIS 16
 `azuread` body.category=AuditLogs body.operationName="Update application*Certificates and secrets management " 
| rename body.* as * 
| rename properties.* as * 
| rename targetResources{}.* as * 
| stats values(displayName) by _time, initiatedBy.user.userPrincipalName, modifiedProperties{}.newValue 
| `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
  • body.category
  • body.operationName

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. Specifically, this analytic leverages the SignInLogs 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
63.0 70 90 New credentials added for Service Principal ${}.displayName$

: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