mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
82 lines
3.6 KiB
YAML
82 lines
3.6 KiB
YAML
name: Azure AD Device Code Authentication
|
|
id: d68d8732-6f7e-4ee5-a6eb-737f2b990b91
|
|
version: 8
|
|
date: '2025-05-02'
|
|
author: Mauricio Velazco, Gowthamaraj Rajendran, Splunk
|
|
status: production
|
|
type: TTP
|
|
data_source:
|
|
- Azure Active Directory
|
|
description: The following analytic identifies Azure Device Code Phishing attacks,
|
|
which can lead to Azure Account Take-Over (ATO). It leverages Azure AD SignInLogs
|
|
to detect suspicious authentication requests using the device code authentication
|
|
protocol. This activity is significant as it indicates potential bypassing of Multi-Factor
|
|
Authentication (MFA) and Conditional Access Policies (CAPs) through phishing emails.
|
|
If confirmed malicious, attackers could gain unauthorized access to Azure AD, Exchange
|
|
mailboxes, and Outlook Web Application (OWA), leading to potential data breaches
|
|
and unauthorized data access.
|
|
search: '`azure_monitor_aad` category=SignInLogs "properties.authenticationProtocol"=deviceCode
|
|
| rename properties.* as *
|
|
| rename userAgent as user_agent
|
|
| fillnull
|
|
| stats count min(_time) as firstTime max(_time) as lastTime by dest user src vendor_account vendor_product user_agent category
|
|
| `security_content_ctime(firstTime)`
|
|
| `security_content_ctime(lastTime)`
|
|
| `azure_ad_device_code_authentication_filter`'
|
|
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
|
|
through an EventHub. This analytic was written to be used with the azure:monitor:aad
|
|
sourcetype leveraging the SignInLogs log category.
|
|
known_false_positives: In most organizations, device code authentication will be used
|
|
to access common Microsoft service but it may be legitimate for others. Filter as
|
|
needed.
|
|
references:
|
|
- https://attack.mitre.org/techniques/T1528
|
|
- https://github.com/rvrsh3ll/TokenTactics
|
|
- https://embracethered.com/blog/posts/2022/device-code-phishing/
|
|
- https://0xboku.com/2021/07/12/ArtOfDeviceCodePhish.html
|
|
- https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code
|
|
drilldown_searches:
|
|
- name: View the detection results for - "$user$"
|
|
search: '%original_detection_search% | search user = "$user$"'
|
|
earliest_offset: $info_min_time$
|
|
latest_offset: $info_max_time$
|
|
- name: View risk events for the last 7 days for - "$user$"
|
|
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
|
|
starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
|
|
values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
|
|
as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
|
|
as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
|
|
| `security_content_ctime(lastTime)`'
|
|
earliest_offset: $info_min_time$
|
|
latest_offset: $info_max_time$
|
|
rba:
|
|
message: Device code requested for $user$ from $src$
|
|
risk_objects:
|
|
- field: user
|
|
type: user
|
|
score: 35
|
|
threat_objects:
|
|
- field: src
|
|
type: ip_address
|
|
tags:
|
|
analytic_story:
|
|
- Azure Active Directory Account Takeover
|
|
asset_type: Azure Tenant
|
|
mitre_attack_id:
|
|
- T1528
|
|
- T1566.002
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
security_domain: identity
|
|
tests:
|
|
- name: True Positive Test
|
|
attack_data:
|
|
- data:
|
|
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1528/device_code_authentication/azure-audit.log
|
|
source: Azure AD
|
|
sourcetype: azure:monitor:aad
|