LDAP Signing and Channel Binding
LDAP signing protects LDAP connections from tampering and relay attacks by requiring clients to sign their requests. When it is not enforced, NTLM authentication can be relayed to the LDAP service to create accounts, modify ACLs, and escalate privileges — without any existing credentials. LDAPS channel binding is a separate control that prevents relaying to the encrypted LDAPS endpoint. Both are disabled by default in many environments. This page confirms the vulnerability — exploitation via relay is covered in LDAP Relay and Signing Abuse.
Check signing and channel binding status
LDAP 10.10.10.10 389 DC01 [*] Additional checks LDAP 10.10.10.10 389 DC01 LDAP signing NOT enforced (vulnerable to relay) LDAP 10.10.10.10 389 DC01 LDAPS channel binding NOT required (vulnerable to relay over LDAPS)
Manual confirmation via registry read
The signing requirement is controlled by a registry value on the domain controller. If you have any read access to the DC — via SMB, WMI, or RPC — you can read it directly.
LDAPServerIntegrity REG_DWORD 0x1 # 0 = None (signing disabled — vulnerable) # 1 = Negotiate signing (signing optional — still vulnerable) # 2 = Require signing (enforced — not vulnerable to unsigned relay)
Value 0x1 (Negotiate signing) means the DC will accept both signed and unsigned connections — relay attacks still work. Only 0x2 (Require signing) blocks relay. The channel binding equivalent is LdapEnforceChannelBinding — value 0 or 1 is vulnerable, value 2 is protected.
Verify relay is possible — attempt unsigned bind
Directly test whether the DC accepts an unsigned LDAP connection. If it does, relay will work.
Check prerequisites for relay exploitation
Before investing time in relay setup, verify all prerequisites are met.
Impact
LDAP signing not enforced + ability to coerce auth → create machine account in domain, set up RBCD, impersonate any user including Domain Admin — see AD Coercion Attacks for coercion methods and NTLM Relay Conditions for prerequisites
LDAP signing not enforced + relay high-privilege account → grant DCSync rights to controlled account, dump all domain hashes
LDAPS channel binding not required → same attacks work against port 636
When all prerequisites are confirmed, proceed to LDAP Relay and Signing Abuse.
References
-
Check LDAP Signing — netexec.wikiwww.netexec.wiki/ldap-protocol/check-ldap-signing (opens in new tab)
ldap-checker module documentation and interpretation
-
LDAP Channel Binding and Signing Requirements — Microsoftsupport.microsoft.com/en-us/topic/2020-ldap-channel-binding-and-ldap-signing-requirements-for-windows-ef185fb8-00f7-167d-744c-f299a66fc00a (opens in new tab)
Registry values, policy settings, and hardening guidance
Was this helpful?
Your feedback helps improve this page.