CVE-2026-56155 — AD FS Distributed Key Manager ACL Weakness → Golden SAML

Over-permissive DKM container ACL lets an authorized attacker recover the AD FS token-signing key and forge SAML tokens accepted by every federated service. Actively exploited in-the-wild.
Threat
CVE-2026-56155 (AD FS DKM / Golden SAML)
Severity
EXPLOITED ITW
Type
Identity federation / privilege escalation
Access
Authorized (read on DKM material)
Version
v0.2 (Draft)
Author
HuntPack
Confidence
High (intel) · Medium (atomic IOCs pending)
01

Executive Summary

CVE-2026-56155 is an actively-exploited elevation-of-privilege flaw in Microsoft Active Directory Federation Services (AD FS), patched in the July 2026 "Patch Tuesday". Microsoft classifies it as "insufficient granularity of access control" around the AD FS Distributed Key Manager (DKM) container. AD FS stores, inside a container object in Active Directory, the symmetric key that protects the private keys of its token-signing and token-decryption certificates. If that container's ACL is overly permissive, an attacker who already holds read access to the DKM key material can decrypt the token-signing private key. Zero Day Initiative analysts flagged it as the only actively-exploited AD FS bug among several Microsoft patched this cycle; CISA added it to the KEV catalog on 2026-07-14.

Recovery of the token-signing key is the doorway to Golden SAML (MITRE T1606.002): with the signing key an attacker forges SAML authentication tokens that downstream relying parties — Microsoft 365, Entra ID, and any SAML-federated SaaS — accept as legitimate, because each token carries a valid federation signature. A Golden SAML token can assert any user, any group, at any MFA level. It is not stopped by password resets or MFA, and it survives long after the initial foothold: the only durable fix is to remediate the DKM ACL and rotate the token-signing / decryption certificates.

The defensive challenge is that the crown-jewel step — decrypting the key and minting tokens — happens offline, so it produces little direct endpoint telemetry. The hunt therefore anchors on the reachable tradecraft around it: execution of known AD FS / Golden-SAML dumping tooling (AADInternals, ADFSDump, Mimikatz), the AD FS service host spawning shells, processes referencing the DKM container or token-signing cert, directory reconnaissance of the AD FS configuration objects, and the native Event ID 1132 the July update now logs when the DKM ACL is insecure.

Defender priority: Treat every AD FS server as a Tier-0 asset and assume the token-signing key is at risk until proven otherwise. Do three things now — (1) apply the July 2026 AD FS update and set the RemediateDkmAcl registry key to enforce (audit mode alone only logs), (2) audit who can read the DKM container and remove all but the AD FS service account, and (3) rotate the token-signing and token-decryption certificates twice and re-establish federation trust. Then hunt with Q1–Q6 and the S7 native audits.

02

Source Review & Web Hunter Notes

TierSourceKey FindingCarry Fwd
1 · GovCISA KEV (2026-07-14)Added CVE-2026-56155 to KEV; active exploitation confirmed; part of a four-CVE batch alongside SonicWall SMA1000 and SharePoint.Yes
1 · VendorMicrosoft MSRC / KB5121391"Insufficient granularity of access control" on the AD FS DKM container; July update adds an audit mode logging Event ID 1132 when the DKM ACL is insecure; RemediateDkmAcl reg key opts into enforcement; auto-remediation on 2026-10-13.Yes
1 · VendorZero Day Initiative — July 2026 reviewFlagged CVE-2026-56155 as the only AD FS bug actively exploited this cycle; read access to DKM material yields the token-signing private key.Yes
2 · ResearchNVD / DailyCVEAD FS EoP; DKM stores symmetric keys protecting token-signing & token-encryption certificate private keys; recovery enables forged federation tokens.Yes
2 · NewsSecurityAffairs / Windows Forum (2026-07-15)Golden SAML pattern (T1606.002); forged tokens bypass MFA and password resets; remediation requires certificate rotation, not just patching.Partial

Intel gap (perishability): As of the pack date no vendor has published campaign-specific atomic IOCs (tool hashes, C2, actor infrastructure) tied to CVE-2026-56155 exploitation. This pack is therefore behavior-anchored; the IOC appendix ships REPLACE_WITH_… placeholders to fill the moment your IR team or a vendor report yields campaign atomics. No atomic indicator here is fabricated.

03

Hunt Brief & Attack Chain

Hunt hypotheses (fidelity-ordered)

#HypothesisMITREConf
H1Known AD FS / Golden-SAML dumping tooling (AADInternals, ADFSDump, Mimikatz adfs) runs on or against an AD FS server — direct key-theft tradecraft.T1606.002, T1552.004HIGH
H2The AD FS service host (Microsoft.IdentityServer.ServiceHost.exe) spawns a command interpreter or script host — post-exploit hands-on-keyboard on the AD FS box.T1059, T1190HIGH
H3A process references the AD FS DKM container, CryptoPolicy/contactPoint config objects, or exports AD FS properties/certificates — key-material access.T1552.004, T1606.002MED
H4Directory-recon LOLBINs (ldifde, dsquery, nltest, Get-ADObject) enumerate the AD FS configuration / DKM group — target discovery before the read.T1087, T1482MED
H5An AD FS server makes anomalous outbound connections from a shell or dumping tool — exfil of the signing key / tool C2.T1071.001, T1041MED
H6A scheduled task or service is registered on an AD FS server post-exploit — persistence beyond the forged-token access.T1053.005, T1543.003MED

Attack chain

StepBehaviorTelemetryHunt angle
1 · FootholdAttacker gains code execution / read rights reaching the AD FS server or DKM material.ProcessRollup2; UserLogonQ2, S7
2 · DiscoveryEnumerate AD FS config objects & the DKM container in AD.ProcessRollup2 (CommandLine); DS access 4662Q4, S7
3 · Key accessRead the over-permissive DKM container; recover the symmetric key.ProcessRollup2; native 4662 / 1132Q3, S7
4 · Key theftDecrypt/export the token-signing private key (AADInternals / ADFSDump / Mimikatz).ProcessRollup2 (CommandLine)Q1
5 · Forge (Golden SAML)Mint SAML tokens for arbitrary users/roles — offline, off the AD FS host.— (offline; IdP-side)S7 correlation; GAP
6 · Use / persistPresent forged tokens to M365/SaaS; register task/service or leave trust backdoor.Cloud sign-in logs; ScheduledTaskRegisteredQ5, Q6, S7
04

Consolidated IOC Table

This is a behavior-first pack. The atomic rows below are placeholders to be populated from your IR findings or a vendor report; the behavioral rows are the operative indicators today.

TypeValueConfActionContext
BehaviorMicrosoft.IdentityServer.ServiceHost.execmd/powershell/cscripthighdetectHands-on-keyboard on AD FS (H2)
BehaviorCommandLine referencing AADInternals / Export-AADIntADFS / ADFSDump / Mimikatz adfshighdetectToken-signing key theft (H1)
BehaviorCommandLine referencing CryptoPolicy / contactPoint / Get-AdfsProperties / DKMmediumhuntDKM / key-material access (H3)
EventAD FS Admin Event ID 1132 (insecure DKM container ACL)highhuntExposure signal (native audit)
CVECVE-2026-56155highdetectPatch / RemediateDkmAcl state = exposure signal
SHA256REPLACE_WITH_SHA256 (dumping tool / payload)detectPopulate from IR
IPv4REPLACE_WITH_C2_IP (tool C2 / exfil)huntPopulate from IR / netflow
05

Affected Surface & Telemetry Matrix

SurfaceRequired telemetryPriorityGap risk
AD FS servers (all farm nodes + WAP proxies)Falcon sensor on every AD FS / WAP host (ProcessRollup2, network)CRITICALLow if sensor deployed
Domain controllers (DKM container reads)Directory Service Access auditing (Event 4662) forwarded to Falcon NGSIEM / LogScaleHIGHHigh — 4662 rarely enabled on the DKM object
AD FS Admin event channelEvent 1132 (DKM ACL) + 1200/1202 token issuance forwardedHIGHMedium — needs WEF / channel forwarding
Federated cloud sign-in (M365 / Entra)Entra sign-in & audit logs (non-Falcon)HIGHHigh — required to catch forged-token use
Token-forgery step— (offline, off-host)N/AFull gap — remediate via key rotation, not detection
06

ATT&CK Mapping

TacticTechniqueBehaviorQuery / Control
DiscoveryT1087 / T1482 Account & Trust DiscoveryEnumerate AD FS config / DKM groupQ4, S7
Credential AccessT1552.004 Private KeysRecover token-signing private key from DKMQ1, Q3
ExecutionT1059 Command & Scripting InterpreterAD FS service host spawns a shellQ2
Credential AccessT1606.002 Forge Web Credentials: SAML (Golden SAML)Mint forged federation tokensS12 (cert rotation)
Lateral / Priv EscT1550.001 Application Access TokenPresent forged token to relying partiesS7 (cloud sign-in)
Persistence / Initial Access (cloud)T1078.004 Cloud AccountsAuthenticate to M365/SaaS as any userS7, S14
Command & Control / ExfilT1071.001 / T1041Tool C2 / signing-key exfil from AD FS hostQ5
PersistenceT1053.005 / T1543.003 Task / ServiceTask or service on the AD FS serverQ6
07

Native Audit-Log Hunts (non-CQL)

  • AD FS Admin — Event ID 1132: After the July 2026 update, this event is logged when the DKM container ACL is insecure. Every 1132 is a direct exposure signal — triage the host and remediate the ACL. Also review Events 307 / 510 (configuration changes) and 1200 / 1202 (token issuance) for anomalies.
  • Directory Service Access — Event 4662: Enable SACL auditing on the AD FS DKM container object and alert on reads by any principal other than the AD FS service account. This is the closest thing to catching the key-material read directly.
  • Golden-SAML correlation: Forged tokens are minted off AD FS, so there is no corresponding AD FS 1200/1202 issuance event for them. Hunt Entra / M365 sign-ins that assert federation but have no matching on-prem AD FS authentication in the same window — especially with unusual IssuerUri, impossible travel, or authentication-instant skew.
  • Federation trust tampering: Review Entra ID audit logs for new or modified federated domains / issuance signing certificates (a related backdoor: adding an attacker-controlled token-signing cert). Alert on Set-MsolDomainFederationSettings / domain-federation changes.
  • DKM ACL baseline: Snapshot the ACL on the DKM container and the membership of any group granted read; diff periodically.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Q1 · Known AD FS / Golden-SAML dumping tooling
CONF HIGHFP LOWCOST LOW

Looks for: the command-line fingerprints of the tools used to extract an AD FS token-signing key — AADInternals (Export-AADIntADFSSigningCertificate / Export-AADIntADFSCertificates), ADFSDump, and Mimikatz's adfs module. These strings are almost never benign on a production AD FS server.

// HUNT: AD FS token-signing key theft tooling (AADInternals / ADFSDump / Mimikatz adfs)
// MITRE: T1606.002, T1552.004
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/(AADInternals|Export-AADInt|ADFSDump|Get-AADIntADFS|Export-ADFS|mimikatz|sekurlsa|adfs::)/i
| table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, aid], limit=200)
Q2 · AD FS service host spawns a command interpreter
CONF HIGHFP LOWCOST LOW

Looks for: the AD FS service host process spawning a shell or script host — hands-on-keyboard activity on a box that should almost never launch interactive interpreters. High-fidelity on a healthy farm.

// HUNT: AD FS service host spawning a shell / script host (hands-on-keyboard)
// MITRE: T1059, T1190
// CONF: high  FP: low  COST: low | REQUIRES: ProcessRollup2
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| ParentBaseFileName=/^Microsoft\.IdentityServer\.ServiceHost\.exe$/i
| FileName=/^(cmd|powershell|pwsh|cscript|wscript|mshta|net1?|whoami|nltest)\.exe$/i
| table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, aid], limit=200)
Q3 · Process references DKM / token-signing config objects
CONF HIGHFP MEDCOST LOW

Looks for: a process reading or exporting the AD FS DKM container / cryptographic policy or dumping AD FS properties — the material an attacker needs to recover the signing key. FP: AD FS administrators and monitoring tools legitimately run Get-AdfsProperties — pivot on non-admin/service context and correlate with Q2 in the same window.

// HUNT: DKM container / token-signing config / AD FS properties access
// MITRE: T1552.004, T1606.002
// CONF: high  FP: med  COST: low | REQUIRES: ProcessRollup2
// TUNING: exclude sanctioned AD FS admin hosts & monitoring agents; require non-service context
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| CommandLine=/(CryptoPolicy|contactPoint|Get-AdfsProperties|ADFS.*DKM|DKM.*ADFS|Token-Signing|msDS-KeyPrincipal)/i
| table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, aid], limit=200)
Q4 · Directory reconnaissance of AD FS / federation objects
CONF MEDFP MEDCOST LOW

Looks for: directory-recon LOLBINs querying the AD FS configuration / DKM group before a read. FP: IT admins and inventory tooling use dsquery/Get-ADObject — scope to AD FS-referencing command lines and correlate with the same host/actor as Q2/Q3.

// HUNT: LDAP/AD recon of AD FS configuration or DKM objects
// MITRE: T1087, T1482
// CONF: med  FP: med  COST: low | REQUIRES: ProcessRollup2
// TUNING: exclude sanctioned admin/inventory hosts; keep only ADFS/DKM-referencing command lines
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(ldifde|dsquery|adfind|nltest|repadmin)\.exe$/i
| CommandLine=/(ADFS|CryptoPolicy|DKM|Federation|contactPoint)/i
| table([ComputerName, UserName, ParentBaseFileName, FileName, CommandLine, aid], limit=200)
Q5 · Anomalous outbound from an AD FS host (C2 / key exfil)
CONF MEDFP MEDCOST MED

Looks for: outbound connections initiated by a shell / dumping tool on an AD FS server — these hosts should originate almost no direct internet egress. FP: Windows Update / telemetry and internal farm/SQL traffic — exclude RFC1918 farm ranges and known Microsoft endpoints; keep shell/tool-parented connections.

// HUNT: AD FS host egress from a shell / dumping tool (C2 or signing-key exfil)
// MITRE: T1071.001, T1041
// CONF: med  FP: med  COST: med | REQUIRES: NetworkConnectIP4
// TUNING: exclude internal farm/SQL subnets & Microsoft update endpoints; keep shell-parented
#event_simpleName=/NetworkConnectIP4/
| ContextBaseFileName=/^(cmd|powershell|pwsh|certutil|bitsadmin|curl|rundll32)\.exe$/i
| RemotePort=/^(80|443|8080|8443|4444|53)$/
| table([ComputerName, ContextBaseFileName, RemoteAddressIP4, RemotePort, aid], limit=200)
Q6 · Scheduled task / service created on an AD FS host
CONF MEDFP MEDCOST LOW

Looks for: post-exploit persistence on the AD FS server beyond the forged-token access. Scope the result set to your AD FS / WAP host group. FP: patch, backup, and monitoring agents register tasks/services legitimately — exclude known management software by image path and author.

// HUNT: scheduled task / service registration on an AD FS server (persistence)
// MITRE: T1053.005, T1543.003
// CONF: med  FP: med  COST: low | REQUIRES: ScheduledTaskRegistered / ServiceInstalled
// TUNING: exclude patch/backup/monitoring agents by ServiceImagePath & TaskAuthor
#event_simpleName=/ScheduledTaskRegistered|CreateService|ModifyServiceBinary/
| table([ComputerName, UserName, ScheduledTaskName, ServiceName, ServiceImagePath, aid], limit=200)
09

CrowdStrike Custom IOA Recommendations

IOAPatternActionExclusions
AD FS key-dump toolingCommandLine contains AADInternals / Export-AADIntADFS / ADFSDump / adfs::Detect → Block (high conf)None expected on production AD FS
AD FS service-host shell spawnParent Image ends \Microsoft.IdentityServer.ServiceHost.exe AND Image = cmd/powershell/cscript/wscript/mshtaDetect → BlockSanctioned AD FS maintenance runbook host (validate first)
DKM / token-signing accessCommandLine contains CryptoPolicy / contactPoint / Get-AdfsProperties in non-admin contextDetectSanctioned AD FS admin PAW

Promote Q1 and Q2 to blocking IOAs immediately (near-zero legitimate use); keep Q3–Q6 as investigate-only scheduled searches until tuned to your farm.

10

Machine-Readable IOC Appendix

Falcon IOC Management CSVbulk import
type,value,action,severity,expiration,description,tags
sha256,REPLACE_WITH_SHA256,prevent,critical,2027-01-17,CVE-2026-56155 AD FS key-dump tool,campaign:ADFS-56155
ipv4,REPLACE_WITH_C2_IP,detect,high,2026-10-17,CVE-2026-56155 tool C2 / exfil,campaign:ADFS-56155
domain,REPLACE_WITH_C2_DOMAIN,detect,high,2026-10-17,CVE-2026-56155 C2,campaign:ADFS-56155
Behavioral Signaturesoperative today
CommandLine ~ AADInternals|Export-AADIntADFS|ADFSDump|adfs::   (signing-key theft)
Microsoft.IdentityServer.ServiceHost.exe -> cmd|powershell     (AD FS shell spawn)
CommandLine ~ CryptoPolicy|contactPoint|Get-AdfsProperties      (DKM / key access)
ldifde|dsquery|adfind with ADFS|DKM|Federation                  (config recon)
Native Event IDsaudit-log hunt
AD FS Admin 1132   Insecure DKM container ACL (July 2026 audit mode) — exposure signal
AD FS Admin 1200   Token issued (baseline for Golden-SAML correlation)
AD FS Admin 1202   Token validation
Security 4662      Directory Service Access — read of the DKM container object
Entra audit        New/modified federated domain or issuance signing cert
Exposure / Remediation AuditPowerShell
# On each AD FS server:
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5
# Confirm July 2026 AD FS update present, then confirm enforcement (not just audit):
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\ADFS" -Name RemediateDkmAcl -ErrorAction SilentlyContinue
# List AD FS certificates and their thumbprints (rotate token-signing after remediation):
Add-PSSnapin Microsoft.Adfs.PowerShell -ErrorAction SilentlyContinue
Get-AdfsCertificate | Select-Object CertificateType, Thumbprint, NotAfter, IsPrimary
11

Detection Validation Gates

  • Telemetry ready: Confirm Falcon sensors are installed and reporting on every AD FS farm node and Web Application Proxy, and that DC Event 4662 SACL auditing on the DKM object plus the AD FS Admin channel (1132/1200) are forwarded to LogScale / NGSIEM.
  • Benign baseline: Run Q3 and Q4 across a normal admin/maintenance window first to learn legitimate Get-AdfsProperties and inventory noise, then apply the TUNING exclusions before alerting.
  • Positive test: In a lab, run a benign command line containing the string Export-AADIntADFSSigningCertificate and confirm Q1 fires; launch cmd.exe from the AD FS service-host context and confirm Q2 fires.
  • Promotion: Q1/Q2 can go to blocking IOAs immediately given near-zero legitimate use; baseline Q3–Q6 for a rolling week before promotion.
12

Hardening — Tiered

Immediate (this week — no compatibility risk)
  • Patch & enforce: Apply the July 2026 AD FS update to all farm nodes, then set RemediateDkmAcl to enforce the hardened DKM container ACL (audit mode only logs Event 1132 — it does not fix the ACL). MITRE M1051, M1015.
  • Rotate token-signing & token-decryption certificates twice (with a short overlap) after the ACL is remediated, and re-establish trust with Entra ID / relying parties. This is what invalidates a key that may already be stolen. Per Golden-SAML guidance; MITRE M1015.
  • Lock down DKM read access: Audit the DKM container ACL and remove every principal except the AD FS service account; enable Event 4662 SACL auditing on the object. MITRE M1015, M1018.
Near term (1–4 weeks — pilot first)
  • Treat AD FS as Tier-0: Administer only from Privileged Access Workstations; remove standing local-admin; apply the AD FS / DC security baseline. MITRE M1026, M1047.
  • Restrict AD FS host egress: AD FS servers should not originate arbitrary outbound internet traffic — allow-list required endpoints only. MITRE M1037.
  • Forward AD FS auditing: Enable verbose AD FS security auditing (token issuance 1200/1202, config 307/510) and Entra federation-change alerts to SIEM. MITRE M1047.
Strategic (1–3 months)
  • Migrate off AD FS to Entra ID (managed authentication / passthrough), Microsoft's long-term recommendation — this removes the on-prem token-signing key as a theft target entirely. MITRE M1015 (architecture).
  • Application allow-listing (WDAC/AppLocker) on AD FS servers so the service host cannot launch cmd/powershell/dumping tools. MITRE M1038.
  • Conditional Access hardening: Note that CA/MFA do not stop a Golden SAML token; pair token-issuance monitoring with device-bound / phishing-resistant auth on the cloud side as defense-in-depth. MITRE M1032 (partial).
13

Deployable Playbooks

Confirm the DKM ACL remediation is ENFORCED (not just audit)

# Audit mode logs Event 1132; enforcement fixes the ACL. Confirm/opt into enforcement.
# Per Microsoft KB5121391 — set on each AD FS server, then restart the AD FS service.
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ADFS" -Name RemediateDkmAcl `
  -Value 1 -PropertyType DWORD -Force
Restart-Service adfssrv
# Verify no further Event 1132 is logged in the AD FS/Admin channel after restart:
Get-WinEvent -LogName "AD FS/Admin" -MaxEvents 200 |
  Where-Object { $_.Id -eq 1132 } | Select-Object TimeCreated, Id, Message

Rotate AD FS token-signing / decryption certificates (run after ACL remediation)

Add-PSSnapin Microsoft.Adfs.PowerShell -ErrorAction SilentlyContinue
# Temporarily allow AD FS to manage new self-signed certs, then roll twice.
Set-AdfsProperties -AutoCertificateRollover $true
Update-AdfsCertificate -CertificateType Token-Signing -Urgent
Update-AdfsCertificate -CertificateType Token-Decrypting -Urgent
# Repeat the Token-Signing roll a second time so the previously-primary key is retired:
Update-AdfsCertificate -CertificateType Token-Signing -Urgent
# Re-push federation metadata to Entra ID and every relying party:
Update-MSOLFederatedDomain -DomainName "internal-host.example.com" -SupportMultipleDomain

Audit who can read the DKM container

# Locate the AD FS DKM group/container and dump its ACL; only the AD FS service
# account should have read on the key material.
Import-Module ActiveDirectory
$adfs = Get-ADObject -LDAPFilter "(name=ADFS)" -SearchBase (Get-ADRootDSE).defaultNamingContext `
  -SearchScope Subtree
$adfs | ForEach-Object {
  Write-Host "== $($_.DistinguishedName) =="
  (Get-Acl "AD:$($_.DistinguishedName)").Access |
    Select-Object IdentityReference, ActiveDirectoryRights, AccessControlType | Format-Table -Auto
}
14

Containment Runbook

PhaseActionsOwnerEvidence
IsolateNetwork-contain suspect AD FS / WAP hosts in Falcon; block their outbound egress. Do NOT power off (preserve memory / tooling artifacts).SOC / IRFalcon host timeline; 4662 / 1132 events
EradicateRemove dumping tools and any task/service persistence; enforce the DKM ACL; rotate token-signing + token-decryption certs twice (mandatory — otherwise forged tokens keep working); patch to July 2026 build.AD FS admin / IRCert thumbprints pre/post; ACL diff
Invalidate tokensRevoke Entra refresh tokens / sessions org-wide (Revoke-AzureADUserAllRefreshToken or Entra "revoke sessions"); re-establish federation trust with the new signing cert; assume all federated SaaS sessions were forgeable.IAMRevocation logs
Credential resetReset the AD FS service account and any privileged accounts a forged token could have impersonated; review recently created / elevated cloud accounts.IAMReset tickets; Entra audit
Recover / reportReturn AD FS to service only after ACL enforce + double cert roll + patched build; monitor Q1–Q6 and Golden-SAML correlation for 30 days. Federal agencies: track against KEV due date.SOC / IR leadClean hunt runs; KEV record
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1087 / T1482 DiscoveryAD FS / DKM config reconQ4Partial
T1059 ExecutionService host spawns shellQ2YesGood
T1552.004 Private KeysKey-dump toolingQ1, Q3YesGood
T1606.002 Golden SAML (mint)Forge tokens offlineGAPGAP
T1550.001 / T1078.004 Token usePresent forged token to M365— (Entra logs, S7)Partial
T1071.001 / T1041 C2 / ExfilAD FS host egressQ5Partial
T1053.005 / T1543.003 PersistenceTask / serviceQ6Partial
DKM container readDirect key-material access— (Event 4662 native)Partial

Gaps: The token-forgery step is performed off the AD FS host and endpoint telemetry cannot see it — the only reliable control is certificate rotation (S12/S14), not detection. Forged-token use is visible only in Entra / M365 sign-in logs (S7 correlation), and the DKM read is best caught with DC Event 4662 SACL auditing. Populate the atomic IOC placeholders (S10) once IR yields tool hashes / C2.

16

Hunt Summary Ticket

TITLE:      CVE-2026-56155 — AD FS DKM ACL -> Golden SAML (exploited ITW)
SEVERITY:   Critical (KEV 2026-07-14)
SCOPE:      All AD FS farm nodes + WAP proxies; federated M365/Entra tenants
HYPOTHESIS: DKM ACL read -> token-signing key theft -> forged SAML tokens for any user
QUERIES:    Q1 dump tooling | Q2 svc-host shell | Q3 DKM/cert access | Q4 AD recon | Q5 host egress | Q6 task/service
DO FIRST:   (1) Patch + set RemediateDkmAcl=enforce  (2) lock DKM ACL to svc acct  (3) rotate token-signing/decrypt certs x2 + re-federate
FINDINGS:   ____ (populate: hosts, tools seen, cert-rotation status, Event 1132 count)
GAPS:       Token forgery is offline (rotate certs); forged-token use = Entra logs only; DKM read = 4662 native
ACTIONS:    Contain -> eradicate + enforce ACL -> rotate certs -> revoke tokens -> 30-day watch
OWNER:      ____   VERSION: v0.2 (2026-07-17)
17

Changelog

v0.22026-07-24CQL correctness pass. All table() calls now carry an explicit row limit: the default is 200 and truncation is silent, so a capped result was indistinguishable from a complete one. Atomic-IOC sweeps (filters over 5+ hashes or C2 IPs) use limit=max so a wide infection is never silently under-scoped; behavioural hunts use limit=200, where exceeding the cap indicates the query needs tuning. Where present, event names that do not exist in the Falcon data model were corrected (e.g. ServiceInstalled is a Sysmon concept, not a Falcon event; ElfFileWritten is ELFFileWritten) — such queries could never return a row. No detection logic, fields, or IOCs changed.
v0.12026-07-17Initial pack. 6 behavior-anchored CQL hunts, 3 Custom IOA recs, native audit hunts (Event 1132 / 4662 / Golden-SAML correlation), tiered hardening (enforce DKM ACL + mandatory double cert rotation), playbooks and containment. Atomic IOCs seeded as placeholders pending a vendor/IR report.
18

References

TierSourceUsed ForAccessed
1 · GovCISA — Adds Four KEV (2026-07-14)KEV listing, active exploitation, four-CVE batch2026-07-17
1 · VendorMicrosoft KB5121391 — AD FS DKM container ACL hardeningVuln class, audit mode / Event 1132, RemediateDkmAcl, auto-remediation date2026-07-17
1 · VendorZero Day Initiative — July 2026 Security Update ReviewOnly actively-exploited AD FS bug this cycle; key-recovery impact2026-07-17
2 · ResearchNVD — CVE-2026-56155DKM stores symmetric keys protecting token-signing/decryption certs2026-07-17
2 · NewsSecurityAffairs — CISA adds SonicWall & Microsoft flawsGolden SAML pattern; forged tokens bypass MFA / password reset2026-07-17
2 · RefMITRE ATT&CK — T1606.002 Forge Web Credentials: SAML TokensGolden SAML technique framing & mitigations2026-07-17