Azure AD Service Principal New Client Credentials
Description
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: 2022-08-17
- Author: Mauricio Velazco, Gowthamaraj Rajendran, Splunk
- ID: e3adc0d3-9e4b-4b5d-b662-12cec1adff2a
Annotations
ATT&CK
Kill Chain Phase
- Installation
- Exploitation
NIST
- DE.CM
CIS20
- CIS 10
CVE
Search
1
2
3
4
5
6
`azuread` category=AuditLogs operationName="Update application*Certificates and secrets management "
| rename * as *
| rename properties.* as *
| rename targetResources{}.* as *
| stats values(displayName) as displayName by _time, initiatedBy.user.userPrincipalName, modifiedProperties{}.newValue
| `azure_ad_service_principal_new_client_credentials_filter`
Macros
The SPL above uses the following Macros:
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
- properties.initiatedBy.user.userPrincipalName
- properties.targetResources{}.displayName
- properties.targetResources{}.modifiedProperties{}.newValue
How To Implement
You must install the latest version of Splunk Add-on for Microsoft Cloud Services from Splunkbase (https://splunkbase.splunk.com/app/3110/#/details). 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
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
35.0 | 70 | 50 | New credentials added for Service Principal $properties.targetResources{}.displayName$ |
The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.
Reference
- https://attack.mitre.org/techniques/T1098/001/
- https://microsoft.github.io/Azure-Threat-Research-Matrix/Persistence/AZT501/AZT501-2/
- https://hausec.com/2021/10/26/attacking-azure-azure-ad-part-ii/
- https://www.inversecos.com/2021/10/how-to-backdoor-azure-applications-and.html
- https://www.mandiant.com/resources/blog/apt29-continues-targeting-microsoft
- https://microsoft.github.io/Azure-Threat-Research-Matrix/PrivilegeEscalation/AZT405/AZT405-3/
Test Dataset
Replay any dataset to Splunk Enterprise by using our replay.py
tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
source | version: 2