The Azure Necronomicon: Unraveling Identity's Cosmic Horror

BrandonDeVault 388 views 38 slides Sep 26, 2024
Slide 1
Slide 1 of 38
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38

About This Presentation

Dive into the eldritch depths of Azure’s identity management, where the seemingly mundane task of handling user identities and service principals transforms into a journey through cosmic horror. In this talk, we will embark on an arcane expedition to decipher the mysteries of Azure identities. Wit...


Slide Content

Unraveling Identity's Cosmic Horror Brandon DeVault Sr. Security Researcher, CrowdStrike Cyber Operations, National Guard The Azure Necronomicon:

What this talk is NOT A guide on how authentication works in Azure Why you should buy product X over product Y A solution to all your problems

Management Control Data Cloud Planes Overall resources and lifecycle Configurations and operations User data processing and storage

Management Control Data Cloud Planes Overall resources and lifecycle Configurations and operations User data processing and storage

Why not Microsoft security? Who did what?

Chapter 1 The Summoning of Users and Service Principals

Identities Users Roles Groups Applications Service Principals

Users

Microsoft Entra ID Tenant Microsoft Entra ID Subscription Azure Environment Resource Group Management Group Microsoft Environment M365 Defender Power Platform Microsoft 365

Methods of authenticating Azure Portal Entra ID ADFS Hybrid Authentication (pass-through auth, password hash synchronization, federation with third-party) CLI Interfaces and APIs Managed Identities B2B / B2C SSH Key Authentication Certificate-Based Authentication VPN and Virtual Network Gateways

Service Principals / Applications

Types of Service Principals Application Managed Identity Legacy

Azure Tenant 1 Azure Tenant 2 Entra ID Subscription 1 Application Service Principal Service Resource Resource Resource Subscription 2 Subscription 3 Service Principal Entra ID

Groups

Management Groups Above Subscriptions Policy / Compliance Resource Groups For grouping resources VMs, web apps, databases, etc. Groups can be nested Management Groups Subscriptions Resources Resource Groups

Roles

Microsoft Entra ID Tenant Microsoft Entra ID Subscription Azure Environment Resource Group Management Group Microsoft Environment M365 Defender Power Platform Microsoft 365

Azure built-in roles Entra built-in roles 312 105

High-privileged role

Global Unique Identifier (GUID)

Chapter 2 The Rituals of Non-Standardization

Importance of Field Normalization When searching for a value, all results must be returned Capitalization matters! Improves performance

azure.resultType Expectations: Success / Failure True / False

azure.resultType Reality:

azure.properties.statusCode Expectations: 200 / 400 / 429 “OK” / “ BadRequest ”

azure.properties.statusCode Reality:

Parse: azure.operationName : “ MICROSOFT.AUTHORIZATION / ROLEASSIGNMENTS / WRITE ”

azure.operationName : “ MICROSOFT.AUTHORIZATION / ROLEASSIGNMENTS / WRITE ” Parse:

azure.operationName

azure.operationName

Chapter 3 The Necromancy of Log Analysis

Identities (GUID) azure.identity.claims.appid azure.identity.claims.http ://schemas.microsoft.com/identity/claims/ objectidentifier Activity Logs: azure.properties.initiatedBy.app.servicePrincipalId azure.properties.initiatedBy.user.id Audit Logs: azure.properties.servicePrincipalId azure.properties.userId Sign-In Logs:

Identities (Human Readable) azure.identity.claims.http ://schemas.xmlsoap.org/ ws /2005/05/identity/claims/name azure.identity.claims.appid azure.properties.initiatedBy.app.displayName azure.properties.initiatedBy.user.displayName azure.properties.initiatedBy.user.userPrincipalName azure.properties.identity azure.properties.userPrincipalName azure.properties.servicePrincipalName Fields:

Cross-correlation Activity Log Sign-In Log … azure.identity.claims.appid : <GUID> … … azure.properties.servicePrincipalId : <GUID> …

Cross-correlation Activity Log … azure.properties.servicePrincipalId : <GUID> azure.properties.servicePrincipalName : <Name> … Sign-In Log … azure.identity.claims.appid : <GUID> azure.identity.authorization.evidence.roleDefinitionId azure.identity.authorization.evidence.role …

Normalized Logs Endpoint EDR Email Authentication Database

Key Takeaways – Cthulhu fhtagn ! Identity is hard Normalization is important The power of cross-correlation is critical

QUESTIONS? www.devaultsecurity.com linkedin . twitter. devaultsecurity.com github . [email protected] }