Skip to main content

Identity Attack Surface

Status: Final

The identity attack surface spans every system that authenticates principals, stores credentials, issues tokens, enforces authorization, or federates trust. Unlike the network perimeter — which has a clear edge — the identity surface is distributed, protocol-specific, and deeply environment-dependent. A misconfigured ADCS template, a forgotten service account, an OAuth app with excessive delegated permissions, and an NTLM relay opportunity are all on the same surface.

This page is a reference taxonomy. Use it to scope what you are protecting, what an attacker is targeting, and where detection coverage needs to exist.


1. Credential Stores

Credentials at rest. These are the primary targets of any credential access campaign.

StoreLocationAttackDetection Signal
NT hashesNTDS.dit (DC), SAM (local)DCSync, volume shadow copy, SAM dumpEvent 4662 (DCSync), VSS creation
NTLM hashes in memoryLSASS processMimikatz sekurlsa::logonpasswords, pypykatzSysmon Event 10 (LSASS access), Event 4611
Kerberos TGT cacheLSASS memoryPass-the-Ticket, Rubeus dumpEvent 4648, abnormal klist usage
Kerberos ccache (Linux)/tmp/krb5cc_*, SSSD KCMccache theft, keytab abuseauditd file access, PAM logs
Keytab files/etc/krb5.keytab, service dirskinit -k with stolen keytabauditd file read on keytab
DPAPI master key / blob%APPDATA%\Microsoft\ProtectDPAPI offline decrypt (Mimikatz dpapi::)Unusual DPAPI API calls (Sysmon)
LSA secretsRegistry (HKLM\SECURITY)Secretsdump LSA, reg saveEvent 4656 on SAM/SECURITY hive
Browser credentialsChrome/Firefox profile dirInfostealers (RedLine, Vidar, Raccoon)Unusual process accessing profile dir
Cloud secrets / API keysAWS Secrets Manager, Azure Key Vault, GCP Secret ManagerSSRF → IMDS token → secrets APICloudTrail GetSecretValue, vault audit log
.env / config filesApplication filesystemCredential harvesting in compromised envFile access anomaly
CI/CD secretsGitHub Actions secrets, GitLab CI variables, Jenkins credentialsRunner compromise, secret exfilSCM audit logs, unusual clone/export

Priority for Defense

The highest-value credential stores in most enterprises, in order of attacker impact:

  1. NTDS.dit — full domain compromise in one extraction
  2. LSASS memory — live credential cache, all logged-in users
  3. ADCS CA private key — forge certificates for any principal
  4. ADFS / Entra ID signing key — forge SAML/OIDC tokens for any user
  5. Cloud IAM long-term keys — persistent, often unmonitored access

2. Authentication Protocol Attack Surface

Weaknesses inherent in or introduced by misconfiguration of the protocols themselves.

Kerberos

WeaknessExploitRequirement
SPN on user accountKerberoasting — request service ticket, crack hash offlineAny domain user
DONT_REQ_PREAUTH flagAS-REP Roasting — get TGT blob without knowing passwordKnow the username
krbtgt hash compromiseGolden Ticket — forge any TGT, arbitrary PACDA or DCSync access
Service account hashSilver Ticket — forge service ticket for specific SPNService account's NTLM hash
Unconstrained delegationTGT theft from incoming authenticationsCompromise server with TrustedForDelegation=True
Constrained delegation (KCD)Impersonate users to target servicesCompromise service with delegation configured
Resource-based constrained delegation (RBCD)Abuse msDS-AllowedToActOnBehalfOfOtherIdentityWrite access to target computer object
PKINIT (certificate auth)ESC1-ESC8 certificate abuse, certificate theftSee PKI section

NTLM

WeaknessExploitRequirement
Challenge-response over networkNTLM relay (ntlmrelayx) → code execution / cert requestNo SMB signing, or SMB signing not enforced
NTLMv1 enabledDowngrade + crack or pass NTLMv1 hashLAN Manager compat level ≤ 2
Hash equivalencePass-the-Hash — use NT hash directly for authNTLM hash of target account
LLMNR/NBT-NS poisoningResponder — capture Net-NTLMv2 challengeSame network segment, poisoning not blocked
NTLM coercionPetitPotam, PrinterBug, DFSCoerce — force machine to authenticate to attackerWrite access or unauthenticated depending on variant

OAuth 2.0

WeaknessExploitFlow
Device Authorization Grant (RFC 8628)Device code phishing — attacker initiates flow, victim authenticatesNo credentials captured; MFA satisfied by victim
Refresh token longevityToken theft → 90-day+ persistence after password resetSteal refresh token from browser, memory, or endpoint
Implicit grant (deprecated)Token in URL fragment — leaked to referrer, logsLegacy apps
Overly broad delegated permissionsIllicit consent grant — malicious app with wide scopesVictim approves OAuth consent
Client secret / certificate leakageApp-level credential theft → client credentials flowAccess to client secret or cert

SAML 2.0

WeaknessExploit
IdP signing key theftGolden SAML — forge assertions for any user in any SP
IdP-initiated flow (no request binding)Inject forged assertion without valid SP-initiated request
SP does not validate Recipient / InResponseToAssertion replay across SPs
XML signature wrappingModify assertion content while keeping valid signature over different element

OIDC / JWT

WeaknessExploit
Weak aud validationToken accepted by wrong service
Weak iss validationToken from untrusted issuer accepted
alg:none acceptedRemove signature entirely
OIDC federation misconfigurationWorkload identity token used to impersonate unexpected subject

3. Identity Provider (IDP) Attack Surface

The IDP is the highest-value target because compromising it compromises everything that trusts it.

Active Directory

Attack PathPrimitiveImpact
DCSyncAbuse DS-Replication-Get-Changes rightsDump all hashes
ACL abuseWriteDACL, GenericWrite, ForceChangePassword on any objectPrivilege escalation, account takeover
AdminSDHolderWritable DACL on AdminSDHolder object → propagates to all protected accountsBackdoor on all DA equivalents
GPO abuseWrite access to GPO or OU → deploy malicious policyCode execution across all linked machines
ADCS template abuseESC1–ESC8See PKI section
Replication coercionPetitPotam / PrinterBug → NTLM relay to ADCS → DC machine account certFull domain compromise from network position
Schema/forest modificationEnterprise Admin accessPersistent backdoors at forest level

Entra ID (Azure AD)

Attack PathPrimitiveImpact
Global Administrator compromiseHighest cloud roleFull tenant control
Privileged Role AdministratorCan assign any role (including Global Admin)Escalate to Global Admin
Application AdministratorRegister apps, add credentials to existing appsAbuse app permissions
PIM activation without approvalEligible GA → active GAIf activation requires no approval + no MFA
Service principal credential additionApplication.ReadWrite.All → add secret to existing high-priv appPersistent high-privilege access
Conditional Access policy modificationCA Administrator roleDisable MFA/device compliance requirements
Entra Connect / Sync accountHas DCSync rights in on-prem AD + can sync passwordsHybrid pivot: cloud → on-prem
Pass-the-PRTSteal Primary Refresh Token from Windows deviceBypass Conditional Access device compliance checks

Okta

Attack PathPrimitive
Org-level Super Admin compromiseFull Okta tenant control
MFA policy gapPolicy requires MFA for app but not for Okta admin console
Push bombingFlood Okta Verify push requests until user accepts
Okta API token theftLong-lived token with admin scope
SCIM provisioning abuseModify user attributes via SCIM → privilege escalation in downstream apps

AWS IAM

Attack PathPrimitive
iam:PassRoleEscalate by passing high-priv role to Lambda, EC2, etc.
iam:AttachUserPolicyAttach AdministratorAccess policy to self
iam:CreateLoginProfileCreate console credentials for user without them
iam:CreateAccessKeyCreate new access key for another user
STS AssumeRole role chainingHop through roles to reach higher privileges
SSRF → IMDSv1 → STS tokenNo IMDSv2 enforcement → SSRF leaks instance role credentials
Cross-account role trust misconfigurationsts:AssumeRole with * principal → anyone can assume role

4. Session & Token Layer

Tokens are the runtime identity. Stealing a valid token is often easier than cracking credentials.

Token TypeLifetimeTheft MethodAttack
Kerberos TGT10 hoursLSASS dump, Rubeus dumpPass-the-Ticket
Kerberos service ticket10 hoursLSASS dumpPass-the-Ticket to specific service
OAuth access token60–90 minBrowser memory, token log leakageAPI access as victim
OAuth refresh token90 days (default Entra)Malware, phishing, endpoint compromiseLong-term persistence past password reset
SAML assertionShort (minutes)MitM, log interception, response injectionSP authentication as any user
Primary Refresh Token (PRT)14 daysMimikatz lsadump::cloudap, AzureADJoinedMachinePTTBypass Conditional Access device checks
AWS STS session token1–36 hoursIMDS response, credential file, env varsTemporary AWS API access
GCP access token1 hourIMDS response, ADC fileGCP API access
Cookie / session tokenVariesXSS, network interception, endpoint theftWeb application session hijacking

Key insight for detection: token-based attacks authenticate through normal channels — they appear identical to legitimate access. Detection must focus on the context of authentication (device, location, time, behavioral baseline) not just the credential check result.


5. Federation & Trust Attack Surface

Federation extends trust across boundaries. Each trust boundary is a potential pivot.

Trust MechanismAttackCondition
SAML federation (AD → Entra ID via ADFS)Golden SAMLCompromise ADFS server signing cert
Kerberos cross-domain trustSID history injectionDA in child domain + SID filtering disabled
Kerberos cross-forest trustLimited — SID filtering applies by defaultForest trust with EnableSIDHistory
OAuth consent delegationIllicit consent grantUser approves malicious app
OIDC workload identity federationToken subject/audience bypassMisconfigured OIDC trust policy
AD → Entra ID Connect syncSync service account compromiseSync account has DCSync + password write-back
AWS cross-account AssumeRoleLateral movement to other AWS accountsTrust policy allows unexpected principals

Hybrid environments are the highest-risk federation scenario. The Entra ID Connect sync account has Replicate Directory Changes rights in on-prem AD (DCSync-equivalent) AND write-back to Entra ID. Compromising it collapses the on-prem/cloud isolation entirely.


6. Certificate Infrastructure (PKI)

ADCS is a force multiplier for AD attackers. A single misconfigured template can yield Domain Admin in seconds.

ComponentWeaknessAttack
Certificate template with CT_FLAG_ENROLLEE_SUPPLIES_SUBJECTLow-priv user specifies SAN = any UPNESC1 — request cert as Domain Admin
Template ACL (WriteDACL/GenericWrite)Modify template to introduce ESC1ESC4
CA with EDITF_ATTRIBUTESUBJECTALTNAME2 flagAll templates allow SAN overrideESC6
CA with ManageCA / ManageCertificates ACLApprove requests, change CA flagsESC7
ADCS HTTP enrollment endpoint (certsrv)NTLM relay to /certsrv/certfnsh.aspESC8 — relay DC machine auth → get DC cert → DCSync
CA private key compromiseForge certificates for any principalCA key theft
Certificate theftExport cert + private key from Windows storePersistent auth past password reset

The ESC8 + coercion combination deserves special attention: coerce the DC to authenticate (PetitPotam), relay to certsrv, get a certificate for the DC machine account, then use PKINIT to get the DC's TGT + NTLM hash, then DCSync. This chain goes from network position + unauthenticated → full domain compromise.


7. Non-Human Identities (NHI)

Non-human identities are the fastest-growing and least-monitored attack surface. They outnumber human accounts in most enterprises by 10–100:1.

NHI TypeCommon WeaknessAttack
Service accounts (AD)Over-privileged, infrequently rotated, SPN setKerberoasting, PtH after endpoint compromise
Managed service accountsBetter — key managed by ADMachine account compromise
Application service principals (Entra ID)Over-broad permissions, multiple credentials, no MFAClient secret theft → API access as app
API keys (AWS access keys)Committed to repos, in env vars, not rotatedKey exfil → IAM access
GitHub Actions tokens / OIDCRepository compromise, misconfigured OIDCSupply chain access
CI/CD credentialsJenkins, GitLab runner secretsRunner compromise → secret dump
GCP service account keysDownloadable JSON key filesKey exfil → GCP API as SA
Kubernetes service accountsToken auto-mounted into every podContainer breakout → cloud metadata

NHIs are attractive because:

  • Passwords/secrets rarely rotate
  • No MFA
  • High privilege (applications need broad access)
  • Activity is harder to baseline (automated behavior looks strange to behavioral analytics)

8. Privileged Access Layer

Privilege amplifies every other attack. These are structural weaknesses, not protocol-specific.

WeaknessImpactMitigation Direction
Tier 0 assets not isolatedDC, CA, ADFS compromise from Tier 1/2 pivotTiered administration model
Permanent privileged rolesAlways-on Global Admin, DAPIM / JIT privilege
Admin accounts used for email / web browsingPhishing lands a privileged sessionSeparate admin accounts
Local admin password reuse (no LAPS)Single hash compromise → lateral movement across all machinesLAPS deployment
Shadow admin accountsAccounts with effective DA rights via ACL chains but not in Domain Admins groupBloodHound-class path analysis
adminCount=1 objectsExcluded from inheritance — need explicit ACL reviewRegular ACL audits
Protected Users group not usedDisables NTLM, Kerberos delegation, credential cachingAdd sensitive users to Protected Users

Attack Surface by Environment

EnvironmentHighest-Risk ComponentsPrimary Attack Chains
On-premises ADNTDS.dit, LSASS, ADCS, unconstrained delegationKerberoasting → PtH → DCSync → Golden Ticket
Entra ID (cloud-only)Global Admin, app registrations, PIM, refresh tokensDevice code phishing → token theft → GA escalation
Hybrid (AD + Entra ID)Entra Connect sync account, ADFS signing cert, PRTOn-prem pivot → Entra Connect → cloud escalation; or Golden SAML
AWSIAM roles with PassRole, STS, IMDSSSRF → IMDS → STS → role chain → admin
Multi-cloudOIDC federation, cross-provider trustToken forgery, audience confusion, cross-cloud lateral movement

Attacker Decision Tree

When an attacker lands on a domain-joined Windows host, the typical identity surface evaluation order:

1. What credentials are in LSASS? → dump → PtH or PtT
2. What accounts have SPNs? → Kerberoasting → crack → elevate
3. What ACL paths exist to DA? → BloodHound → ACL abuse chain
4. Is ADCS deployed? → certipy find → ESC1/ESC8 → cert → DA
5. Is there an ADFS server? → compromise → Golden SAML → cloud access
6. What service accounts exist? → enumerate SPN + weak password → crack
7. Are there any cross-trust paths? → SID history, trust transitivity

For cloud-native initial access:

1. Stolen credentials + no MFA → direct IDP auth
2. Stolen credentials + MFA → device code phishing OR MFA fatigue
3. App registration secret in code repo → client credentials flow
4. SSRF in app → IMDS → cloud IAM token → privilege escalation
5. OAuth consent phishing → delegated access to victim's data

Threat Actor Targeting Patterns

Different threat actor categories prioritize different identity surface components:

Actor CategoryPreferred Identity SurfaceEvidence Label
Ransomware operatorsAD credential access (DCSync, PtH) for mass encryption; DA for GPO-based deploymentObserved — multiple IR reports across groups
Nation-state (espionage)SAML/token-based cloud access (low noise, persistent); ADFS Golden SAML for long-term M365 accessReported — SolarWinds/SUNBURST, Midnight Blizzard reporting
BEC / financial fraudOAuth consent abuse, token theft for M365 mailbox accessReported — multiple vendor reports on BEC technique evolution
Cloud-native attackersSSRF → IMDS, role chaining in AWS/GCP, Entra ID app registration abuseObserved — cloud IR reports
Insider threatLegitimate credential use for unauthorized access — hardest to detectAssessed — behavioral analytics is primary detection layer

Evidence label definitions: Observed = confirmed in IR/forensic evidence; Reported = documented by vendors/researchers, not independently confirmed; Assessed = analytic judgment from patterns, not direct evidence


TopicLink
Kerberos ProtocolKerberos
NTLM ProtocolNTLM
ADCSADCS
Entra ID / OAuth2OAuth2
SAMLSAML
AD AttacksAD Attack Index
Cloud AttacksCloud Attack Index
ADCS AttacksESC1
Detection FrameworkDetection Framework