Azure AD New Custom Domain Added
Description
The following analytic identifies the addition of a new custom domain within an Azure Active Directory tenant. Adding a custom domain is a step required to set up the Azure Active Directory identity federation backdoor technique discovered by security researcher Nestori Syynimaa. Similar to Active Directory, Azure AD uses the concept of domains to manage directories of identities. A new Azure AD tenant will initially contain a single domain that is commonly called the cloud-only
onmicrosoft.com domain. Organizations can also add their registered custom domains to Azure AD for email addresses to match the organizations domain name. If the organization intends to use a third-party identity provider such as ADFS for authentication, the added custom domains can be configured as federated. An adversary who has obtained privileged access to an Azure AD tenant may leverage this technique to establish persistence and be able to authenticate to Azure AD impersonating any user and bypassing the requirement to have a valid password and/or perform MFA.
- Type: TTP
-
Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
- Last Updated: 2022-09-02
- Author: Mauricio Velazco, Splunk
- ID: 30c47f45-dd6a-4720-9963-0bca6c8686ef
Annotations
ATT&CK
Kill Chain Phase
- Exploitation
NIST
- DE.CM
CIS20
- CIS 10
CVE
Search
1
2
3
4
5
6
7
`azuread` body.operationName="Add unverified domain" "body.properties.result"=success
| rename body.properties.* as *
| rename body.callerIpAddress as callerIpAddress
| rename initiatedBy.user.userPrincipalName as initiatedBy
| rename targetResources{}.displayName as domain
| stats values(domain) by _time, initiatedBy, result, body.operationName, callerIpAddress
| `azure_ad_new_custom_domain_added_filter`
Macros
The SPL above uses the following Macros:
azure_ad_new_custom_domain_added_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.operationName
- body.properties.result
- body.callerIpAddress
- body.properties.targetResources{}.displayName
- body.properties.initiatedBy.user.userPrincipalName
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 AuditLogs log category.
Known False Positives
In most organizations, new customm domains will be updated infrequently. Filter as needed.
Associated Analytic Story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
54.0 | 60 | 90 | A new custom domain, $domain$ , was added by $initiatedBy$ |
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://docs.microsoft.com/en-us/azure/active-directory/enterprise-users/domains-manage
- https://www.mandiant.com/resources/remediation-and-hardening-strategies-microsoft-365-defend-against-apt29-v13
- https://o365blog.com/post/federation-vulnerability/
- https://www.inversecos.com/2021/11/how-to-detect-azure-active-directory.html
- https://www.mandiant.com/resources/blog/detecting-microsoft-365-azure-active-directory-backdoors
- https://attack.mitre.org/techniques/T1484/002/
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: 1