Skip to content

feat: add ADCS ESC11 coverage - BED-6182 - #3478

Closed
mykeelium wants to merge 1 commit into
adcs-relay-helpfrom
adcsesc11
Closed

mykeelium wants to merge 1 commit into
adcs-relay-helpfrom
adcsesc11

Conversation

@mykeelium

@mykeelium mykeelium commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Description

Adds coverage for the ADCS ESC11 attack path. ESC11 exploits Enterprise Certificate Authorities whose RPC endpoint does not enforce encryption, allowing attackers to relay coerced NTLM authentication and impersonate domain principals.

This PR implements:

  • New EnterpriseCA properties:
    • RPCEncryptionEnforced
    • RPCEncryptionCollected
  • A new DCA post-processed CoerceAndRelayNTLMToADCSRPC edge.
    • CoerceAndRelayNTLMToADCS requires HasVulnerableEndpoint=true.
    • CoerceAndRelayNTLMToADCSRPC requires RPCEncryptionEnforced=false.
    • CoerceAndRelayNTLMToADCS is updated to use DCA as well.
  • Edge composition and relay-target support for the new relationship.
  • A saved Cypher query for locating Enterprise CAs vulnerable to ESC11.
  • Helptext covering abuse, operational security, references, composition, and relay targets.

NTLM registry ingestion fix

This PR also fixes missing CoerceAndRelayNTLM edges when SharpHound successfully collects NTLM registry data but Windows policies are not explicitly configured.

When NTLMRegistryData.Collected=true, ingestion now applies stable Windows defaults:

  • RestrictOutboundNTLM=false
  • RestrictReceivingNTLMTraffic=false
  • ClientAllowedNTLMServers=[]
  • EnableSecuritySignature is derived from whether the computer is a domain controller

Resolves BED-6182

How Has This Been Tested?

Using this dataset:
20250611101235_BloodHound_esc11.zip

Screenshots (optional):

image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist:

@mykeelium
mykeelium added this pull request to stack #3479 October 14, 2026 20:13
@mykeelium mykeelium added enhancement New feature or request external This pull request is from an external contributor labels Oct 14, 2026
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository YAML (base), Organization UI (inherited)
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 6df14d18-2efe-4263-bdb4-513a6ae1681b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@mykeelium

Copy link
Copy Markdown
Contributor Author

Replaced by the stacked PRs: #3492 (RPC encryption data), #3493 (ESC11 analysis), and #3494 (frontend support). Please review those instead.

@mykeelium mykeelium closed this Oct 16, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 16, 2026
@mykeelium
mykeelium removed this pull request from stack #3479 October 19, 2026 17:32
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request external This pull request is from an external contributor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants