Relay Attack

Information

After successfully forcing a victim to authenticate with LM or NTLM to an attacker's server, the attacker can try to relay that authentication to targets of his choosing.

Coerce

Techniques that enable attackers to redirect traffic or redirect/force targets authentications.

Difenses
Required
Enabled
Disabled

Signing

All sessions must be signed. If the peer doesn’t support signing, the connection is refused, preventing NTLM relay on SMB/LDAP. ​

Negotiates signing if the peer supports it. If not, the session may proceed unsigned.

No signing

EPA

Channel binding that ties auth to the TLS channel (server certificate), preventing NTLM relay on TLS services like HTTPS/LDAPS. ​

Used when both sides support it. If either side lacks support, auth proceeds without EPA. ​

No channel binding

The LM and NTLM authentication protocols are "application protocol-independent". It means one can relay LM or NTLM authentication messages over a certain protocol, say HTTP, over another, say SMB. That is called cross-protocols LM/NTLM relay. It also means the relays and attacks possible depend on the application protocol the authentication messages are embedded in.

For details, see HERE.

Detection

With NetExec and Coercer we can verify coercion vulnerabilities,

We can also verify SMB signing status and channel binding

Relay

If you are unable to crack the NTLM hash, we can try to relay the authentication to another system. In fact, a user on one machine might be local administrator on another. If he is, we can run commands (no UAC confirmation required).

With impacket-ntlmrelayx

Reflection

Allowing attackers to impersonate high-privilege users (especially SYSTEM or administrators).

Description

Windows uses hostname comparison to determine whether NTLM authentication is local. If it concludes that the target is itself, it engages local NTLM mode, which skips challenge-response verification and inserts the token directly into memory.

This logic breaks when using crafted DNS names that include marshalled metadata. Windows parses the DNS string, strips the metadata, and compares only the hostname (e.g., localhost), wrongly concluding the connection is local.

As a result, SYSTEM processes like lsass.exe can be coerced into authenticating to an attacker-controlled listener. The attacker then relays that SYSTEM token back via SMB, gaining SYSTEM-level access.

Verify SMB signing status and coercion vulnerabilities

Prepare ntlmrelayx (impacket) to intercept NTLM authentication and relay it back to the target

Craft a special DNS entry to trick Windows into believing it’s communicating with itself

Now use NetExec or PetitPotam to coerce the victim host into initiating an outbound NTLM authentication using our spoofed DNS name:

Finally, we can connect with netcat (see ntlmrelayx output)

Last updated

Was this helpful?