← All field notes
active directoryntlm relayrbcdfor administrators

NTLM relay explained: coercion, signing, and the fixes that hold

NTLM relay lets an attacker coerce a machine to authenticate, then relay that authentication to a target that lacks signing. Here is the attack and the hardening that closes it.

Attack flow
1Coerce authentication from a host
2Relay the NTLM auth to a target
3No SMB signing to stop it
4Authenticate as the victim
5Escalate (AD CS / DCSync)
Seen in the wildRansomware affiliatesAccess brokers

NTLM relay does not crack a password. It borrows a live authentication and forwards it to somewhere that will accept it. Combined with a coercion trick, it is a reliable path to privilege in many AD environments.

How the attack works

The attacker first coerces a machine, often a domain controller, into authenticating to a machine they control, using a vector like PetitPotam or the printer bug. That inbound NTLM authentication is then relayed to a target that does not enforce signing or channel binding, such as LDAP or the AD CS web enrollment endpoint. The relayed authentication is used to make a change, for example configuring resource-based constrained delegation (RBCD) on a computer object, or obtaining a certificate, which the attacker turns into privileged access. In ATT&CK terms this is T1557, Adversary-in-the-Middle, paired with T1187, Forced Authentication.

Why it works

The target accepts a relayed authentication because it does not require the session to be signed or bound to the channel. Coercion supplies the authentication on demand, so the attacker does not have to wait for one.

How to fix it

Enforce SMB signing, and require LDAP signing plus LDAP channel binding on domain controllers. Turn on Extended Protection for Authentication on AD CS web enrollment and other HTTP endpoints. Disable NTLM where you can, and audit where it is still used before you do. Patch the known coercion vectors. Each control removes a different leg of the attack, so apply them together.

Practice it

We built an NTLM relay scenario in GraphLattice Range so administrators see coercion, relay, and the RBCD takeover, then apply the signing and EPA fixes that stop it.