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.
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).
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?