1
1
name : Azure AD Service Principal New Client Credentials
2
2
id : e3adc0d3-9e4b-4b5d-b662-12cec1adff2a
3
- version : 2
4
- date : ' 2022-08-17 '
5
- author : Mauricio Velazco, Gowthamaraj Rajendran, Splunk
3
+ version : 3
4
+ date : ' 2024-06-25 '
5
+ author : Mauricio Velazco, Gowthamaraj Rajendran, Dean Luxton, Splunk
6
6
status : production
7
7
type : TTP
8
8
description : The following analytic identifies the addition of new credentials for Service
@@ -15,15 +15,27 @@ description: The following analytic identifies the addition of new credentials f
15
15
instances within the Azure environment. By compromising an account who is an Owner of an application
16
16
with privileged access, attackers may also escalate their privileges in an Azure AD environment by adding new credentials and
17
17
logging in as the service principal.
18
- data_source : []
19
- search : ' `azuread` category=AuditLogs operationName="Update application*Certificates
20
- and secrets management " | rename * as * | rename properties.* as * | rename
21
- targetResources{}.* as * | stats values(displayName) as displayName by _time, initiatedBy.user.userPrincipalName,
22
- modifiedProperties{}.newValue | `azure_ad_service_principal_new_client_credentials_filter`'
18
+ data_source :
19
+ - Azure Active Directory
20
+ search : ' `azure_monitor_aad` category=AuditLogs operationName="Update application*Certificates and secrets management "
21
+ | rename properties.* as *
22
+ | rename targetResources{}.* as *
23
+ | rename modifiedProperties{}.* as *
24
+ | eval src_user=coalesce(user,identity), newValue=mvfilter(newValue!="\"KeyDescription\"")
25
+ | stats count min(_time) as firstTime max(_time) as lastTime values(displayName) as displayName values(src_ip) as src_ip values(eval(mvfilter(oldValue!="null"))) as oldValue by src_user, object, newValue
26
+ | spath input=oldValue output=oldValues path={}
27
+ | spath input=newValue output=newValues path={}
28
+ | mvexpand newValues
29
+ | where NOT newValues IN (oldValues)
30
+ | fields - newValue, oldValue, oldValues
31
+ | rename newValues as newValue
32
+ | `security_content_ctime(firstTime)`
33
+ | `security_content_ctime(lastTime)`
34
+ | `azure_ad_service_principal_new_client_credentials_filter`'
23
35
how_to_implement : You must install the latest version of Splunk Add-on for Microsoft
24
36
Cloud Services from Splunkbase (https://splunkbase.splunk.com/app/3110/#/details).
25
37
You must be ingesting Azure Active Directory events into your Splunk environment.
26
- Specifically, this analytic leverages the SignInLogs log category.
38
+ This analytic was written to be used with the azure:monitor:aad sourcetype leveraging the Signin log category.
27
39
known_false_positives : Service Principal client credential modifications may be part
28
40
of legitimate administrative operations. Filter as needed.
29
41
references :
@@ -37,22 +49,23 @@ tags:
37
49
analytic_story :
38
50
- Azure Active Directory Persistence
39
51
- Azure Active Directory Privilege Escalation
52
+ - NOBELIUM Group
40
53
asset_type : Azure Active Directory
41
54
confidence : 50
42
55
impact : 70
43
- message : New credentials added for Service Principal $properties.targetResources{}.displayName $
56
+ message : New credentials Service Principal credentials were added to $object$ by $src_user $
44
57
mitre_attack_id :
45
58
- T1098
46
59
- T1098.001
47
60
observable :
48
- - name : displayName
61
+ - name : src_user
49
62
type : User
50
63
role :
51
64
- Victim
52
- - name : initiatedBy.user.userPrincipalName
65
+ - name : object
53
66
type : User
54
67
role :
55
- - Attacker
68
+ - Victim
56
69
product :
57
70
- Splunk Enterprise
58
71
- Splunk Enterprise Security
@@ -61,15 +74,16 @@ tags:
61
74
- _time
62
75
- category
63
76
- operationName
64
- - properties.initiatedBy. user.userPrincipalName
77
+ - user
65
78
- properties.targetResources{}.displayName
66
79
- properties.targetResources{}.modifiedProperties{}.newValue
80
+ - src_ip
67
81
risk_score : 35
68
82
security_domain : threat
69
83
tests :
70
84
- name : True Positive Test
71
85
attack_data :
72
86
- data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098.001/azure_ad_service_principal_credentials/azure-audit.log
73
- source : mscs:azure:eventhub
74
- sourcetype : mscs: azure:eventhub
75
- update_timestamp : true
87
+ source : Azure AD
88
+ sourcetype : azure:monitor:aad
89
+ update_timestamp : true
0 commit comments