Netenrich Blog | Expert Cybersecurity Insights on SecOps, threats & more

Third-Party Supply Chain Attacks: Securing Identity & MSPs

Written by Asritha Narina | Tue, Sep 08, 2026 @ 06:17 AM


Executive Summary

Modern enterprises rely heavily on third-party SaaS platforms, MSPs, OAuth integrations, and programmatic API keys. Every integration silently extends the enterprise boundary. When an external vendor is compromised, adversaries inherit pre-approved access into customer environments without needing exploits or triggering MFA.

To counter this, threat hunters cannot rely on isolated signature rules. Effective defense requires continuous behavioral baselining of Non-Human Identities (NHIs) across identity, cloud, and data platforms, coupled with proactive anomaly hunting around high-impact Crown Jewels.


The Non-Human Identity (NHI) Dilemma

In cloud environments, Non-Human Identities outnumber human users by 45 to 1. NHIs present five critical structural vulnerabilities:

  • No Interactive MFA: Service principals and API keys authenticate programmatically without interactive challenges.
  • Excessive & Static Scopes: Integrations frequently retain broad tenant-wide permissions (e.g., Directory.ReadWrite.All) that are rarely pruned.
  • Infinite Token Lifespans: Long-lived client secrets and unrotated OAuth refresh tokens persist indefinitely.
  • Cross-Tenant Blindness: MSP Delegated Admin Privileges (DAP) mask external actions as native tenant operations.
  • Absence of Behavioral Baselines: Static allowlists treat all valid API calls equally, allowing malicious queries using valid tokens to blend into background traffic.

Cross-Platform NHI Baselining Framework



Hunting across identity supply chains requires establishing a 30-to-90 day behavioral profile across four core pillars: (1) Network & Infrastructure Provenance (ASNs, CIDRs, VPCs, TLS fingerprints), (2) API Footprint & Method Diversity (read vs. administrative calls), (3) Velocity & Volumetric Cadence (query rates, burst dumps), and (4) Resource Scope & Blast Radius (databases, secrets vaults, mailboxes accessed).

Platform Tier

NHI Entities

Native Telemetry

Baseline & Deviation Trigger

Identity / IdP (Entra, Okta)

Service Principals, OAuth Apps, API Tokens

ServicePrincipalSignInLogs, AuditLogs, Okta SystemLog

Baseline: Historical ASN/IP & daily API volume.
Trigger: App-only login from unclassified ASN/VPN node.

Cloud IAM (AWS, Azure, GCP)

IAM Roles, Service Accounts, Workload Identity

AWS CloudTrail, GCP Audit Logs, Azure Activity

Baseline: Expected source VPC & regular API set.
Trigger: First-seen AssumeRole or GetSecretValue/kms:Decrypt.

CI/CD (GitHub, GitLab)

Runner Tokens, Deploy Keys, Machine Users

GitHub Audit Log, Pipeline Execution Logs

Baseline: Runner IP CIDR & repo scope.
Trigger: CI/CD token used outside infrastructure.

Data Stores (Snowflake, S3)

ETL Service Users, Integration DB Roles

Snowflake ACCESS_HISTORY, S3 Server Access

Baseline: Queried schemas & average byte volume.
Trigger: Bulk export (COPY INTO, UNLOAD) targeting PII tables.



Five Attack Vectors in Third-Party Supply Chains

Vector

Exploitation Mechanism

Key Telemetry Source

1. MSP / DAP Hijacking

Compromising MSP platforms or technician credentials to push scripts to downstream customer tenants.

Cloud IAM & Tenant Audit Logs (elevated role assignments)

2. Illicit OAuth Apps

Tricking admins/users into granting high-privilege scopes (Mail.ReadWrite, User.ReadWrite.All) to a rogue multi-tenant app.

IdP Audit Logs (ConsentToApplication, Add delegated grant)

3. Service Principal Theft

Stealing hardcoded client secrets or bearer tokens to query customer APIs directly from foreign infrastructure.

API Gateway Logs (caller identity & IP anomaly)

4. Support HAR Scraping

Breaching vendor support portals to harvest unexpired session cookies and tokens from customer-uploaded HAR archives.

IdP Sign-in Logs (session token reuse from new ASN)

5. SAML Token Forgery

Stealing IdP token-signing certificates to mint arbitrary SAML assertions and impersonate any user (Golden SAML).

Security Token Service Logs (signing key ID & issuer check)



Deconstructing Landmark Third-Party Campaigns

  • Okta Support Case Breach (2023): Attackers used stolen service account credentials to access Okta support cases, downloading customer HAR files containing unexpired session tokens to hijack admin sessions without MFA.
  • Midnight Blizzard (2023–2024): Compromised a test tenant via password spraying, registered rogue OAuth apps with Mail.ReadWrite permissions, and silently harvested executive emails via Microsoft Graph API.
  • Kaseya VSA / REvil (2021): Exploited zero-days in MSP management servers, weaponizing trusted console-agent tunnels to distribute ransomware to 1,500+ customer businesses simultaneously.
  • CircleCI Breach (2023): Malware on an engineer's workstation compromised SSO session tokens, giving attackers access to production databases containing customer AWS keys, GitHub tokens, and secrets.


Hands-On Lab Simulations & Native Telemetry Evidence

Lab Simulation 01: Illicit Multi-Tenant OAuth App Registration & High-Privilege Consent Grant

Vector 2 | T1098.005 / T1199: Adversary registers a multi-tenant app and tricks an administrator into granting tenant-wide Mail.ReadWrite and Directory.ReadWrite.All permissions.

Listing 1: Rogue OAuth App Registration Manifest

// Malicious Application Manifest Snippet (manifest.json)

{
  "id": "e2f4a1c0-8d5b-4c9e-bf33-999a0e123456",
  "appDisplayName": "Enterprise Cloud Document Sync Pro",
  "signInAudience": "AzureADMultipleOrgs",
  "requiredResourceAccess": [{
    "resourceAppId": "00000003-0000-0000-c000-000000000000",
    "resourceAccess": [
      { "id": "e2a3a72e-5f90-4ffe-a74d-0808064a3814", "type": "Role", "comment": "Mail.ReadWrite (Application)" },
      { "id": "19dbc75e-c2e2-444c-a770-ec69d8559fc7", "type": "Role", "comment": "Directory.ReadWrite.All (Application)" }
    ]
  }]
}


Captured Native Audit Log Schema Evidence (Entra ID AuditLogs):

Native Log Field

Captured Event Value

Security Significance

ActivityDisplayName

Consent to application

HIGH FIDELITY: Administrator consented to an external application registration.

Actor.UserPrincipalName

admin.identity@enterprise-corp.com

Identifies the targeted administrator account authorizing the grant.

TargetResources[0].DisplayName

Enterprise Cloud Document Sync Pro

Rogue application display name.

TargetResources[0].ModifiedProperties

ConsentType: AllPrincipals
Scope: Mail.ReadWrite,
Directory.ReadWrite.All

CRITICAL: High-risk permission scopes granted tenant-wide without user boundary.

InitiatedBy.App.AppId

e2f4a1c0-8d5b-4c9e-bf33-999a0e123456

Unique application ID linked to the attacker's external tenant.

IPAddress

198.51.100.203

Source IP of the administrator when the consent was granted.



Lab Simulation 02: Cross-Tenant API & Service Principal Credential Abuse

Vector 3 | T1078.004 / T1552.004: Adversary uses stolen vendor client credentials to authenticate non-interactively and exfiltrate executive email messages via Microsoft Graph API.

Listing 2: Cross-Tenant Authentication & API Exfiltration

# 1. Authenticate with Stolen Vendor Client ID & Secret
curl -X POST https://login.microsoftonline.com/{target-tenant-id}/oauth2/v2.0/token \
  -d
"client_id=e2f4a1c0-8d5b-4c9e-bf33-999a0e123456&client_secret=xR7~9K_stolen_secret&scope=https://graph.microsoft.com/.default&grant_type=client_credentials"

# 2. Query Executive Mailbox via Graph API from Attacker Server
curl -X GET "https://graph.microsoft.com/v1.0/users/ceo@enterprise-corp.com/messages" \
  -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ..."


Captured Native Cloud Sign-In & Service Principal Telemetry:

Telemetry Source

Native Schema Field

Captured Value

Security Significance

ServicePrincipalSignInLogs

servicePrincipalName

Vendor-SaaS-Connector

Service principal used to authenticate non-interactively.

ServicePrincipalSignInLogs

ipAddress

185.220.101.5

HIGH ANOMALY: Authentication originates from Tor/VPN exit node instead of vendor CIDR.

ServicePrincipalSignInLogs

authenticationProcessingDetails

AppOnly

Confirms non-human identity authentication using client credentials.

Microsoft Graph Activity API

uri

/v1.0/users/ceo@enterprise-corp.com/messages

CRITICAL: Service principal accessing targeted executive inbox contents.

AuditLogs

ActivityDisplayName

Add service principal credentials

Attacker attempting to establish secondary persistence by adding an extra secret key.



Why Traditional Controls Fall Short

  • CASBs: Monitor user web browsing, blind to external direct cloud API calls.
  • EDR: Protects physical endpoints, blind to cloud-to-cloud token exchanges.
  • MFA: Protects interactive logins, bypassed by programmatic service credentials.
  •  Static Allowlisting: Fails because SaaS vendors share multi-tenant, dynamic cloud IP blocks.


Threat Hunter's Spotlight: Advanced 2-Tier Hunting Methodology

Effective threat hunting combines Tier 1 Multi-Platform Behavioral Drift with Tier 2 Crown Jewel Asset Deviations:

[TIER 1: MULTI-PLATFORM BEHAVIORAL BASELINE DEVIATIONS]

HUNT LEAD 1: NHI Infrastructure & Network Provenance Drift (T1078.004 / T1098)

  • Telemetry : Entra ID ServicePrincipalSignInLogs, Okta SystemLog, AWS CloudTrail
  • Baseline : 30-day historical ASN, source IP CIDR, and User-Agent per machine identity.
  • Logic : Flag non-interactive authentications where the source ASN has never previously associated with the AppId, or maps to VPN/Tor exit nodes and foreign hosting.

HUNT LEAD 2: First-Seen & Rare Administrative API Invocations (T1087 / T1069)

  • Telemetry : Microsoft Graph Activity Logs, AWS CloudTrail, GCP Audit Logs
  • Baseline : 90-day distinct method invocation profile per Service Account / Role.
  • Logic : Identify NHI invoking sensitive administrative API with a prior occurrence: Azure: Directory.ReadWrite.All, RoleManagement.ReadWrite, Mail.ReadWrite. AWS: iam:CreateAccessKey, iam:AttachUserPolicy, sts:AssumeRole, kms:Decrypt.

HUNT LEAD 3: Illicit Multi-Tenant OAuth Consent Grants (T1098.005 / T1550)

  • Telemetry : Identity Provider Audit Logs (Entra ID, Google Workspace, Okta)
  • Baseline : Authorized third-party OAuth app inventory and verified publisher domains.
  • Logic : Isolate grants with high-risk permissions (Mail.ReadWrite, Directory.ReadWrite.All) where the publisher is unverified, newly created (<30 days), or external multi-tenant.

 

[TIER 2: CROWN JEWEL / HIGH-IMPACT ASSET DEVIATIONS]

HUNT LEAD 4: Tier-0 Secrets Store & Key Vault Access Deviations (T1552 / T1555)

  • Telemetry : AWS Secrets Manager, HashiCorp Vault, Azure Key Vault, GCP KMS
  • Target : Master API Keys, Database Connection Strings, Signing Certificates.
  • Logic : Baseline authorized identities permitted to read secrets (GetSecretValue, Decrypt). Flag non-core service principals accessing master vaults or sequential multi-secret paths.

HUNT LEAD 5: Volumetric Data Extraction from Cloud Warehouses (T1530 / T1567)

  • Telemetry : Snowflake ACCESS_HISTORY, BigQuery, AWS S3 Server Access Logs
  • Target : Production Data Lakes, Customer PII, Billing Repositories.
  • Logic : Profile normal daily read volume and query cadence over 30 days. Hunt for statistical anomalies (>3 sigma in bytes scanned) and bulk export commands ('COPY INTO', 'UNLOAD') targeting sensitive schemas from non-corporate IPs.

HUNT LEAD 6: Identity Root & Delegated Admin Out-of-Bounds Tampering (T1078 / T1484)

  • Telemetry : Cloud SIEM, Tenant Admin Audit Logs, Federation STS Logs
  • Target : Conditional Access Policies, Global Admin Role, Service Principal Credentials.
  • Logic : Filter for DelegatedAdmin or App-Only Service Principals modifying Conditional Access, adding secondary credentials to apps, or creating Global Admins outside change windows.


Strategic Mitigations & CISO Recommendations

  • Enforce Admin Consent: Disable user OAuth consent; require security review and verified publisher check.
  • Operationalize NHI Baselines: Deploy continuous behavioral monitoring for anomalous ASNs, rare APIs, and velocity spikes.
  • Bound Crown Jewel Access: Enforce strict resource-scoped, time-bound JIT policies on secrets vaults and data lakes.
  • Transition to GDAP: Replace permanent DAP with Granular Delegated Admin Privileges with least-privilege scoping.
  • Continuous Token Protection: Enable Continuous Access Evaluation (CAE) to instantly revoke tokens upon network shifts.

Stop Third-Party Identity Attacks Before They Reach Your Crown Jewels

Don't let inherited trust become your biggest vulnerability. Eliminate NHI and cross-tenant API blind spots at machine speed with Netenrich.


Conclusion: Securing the Extended Boundary

Identity is the perimeter, and third-party integrations are its most vulnerable gates. Trust cannot be an operational assumption—it must be continuously baselined, tightly bounded around Crown Jewels, and rigorously audited.

NEXT IN THIS SERIES: DISTRIBUTION & UPDATE INFRASTRUCTURE

  • How attackers compromise update servers, poison CDN caches, and hijack automated software update channels (SolarWinds, 3CX, ASUS Shadowhammer).
  • Hunting techniques for unsigned update binaries, anomalous CDN egress, and code-signing certificate abuse.




About the Author 


 

Netenrich Threat Research

Asritha Narina is a Senior Threat Analyst at Netenrich. She specializes in tracking emerging cyber threats, analyzing adversary behaviors, and translating complex technical data into actionable defense intelligence. She is a recognized contributor to the MITRE ATT&CK framework, specifically noted for her threat research on the Iranian threat actor Agrius.

She also explores Intelligent AI agents that can be leveraged to proactively detect, investigate, and mitigate global cyber threats at scale.