NTLM Hash

Technical details, regex signatures, and cracking commands for the NTLM algorithm.

Regex Identification Signature:
^(\$NT\$)?[a-f0-9]{32}$
Hashcat Command (Mode: 1000):
John the Ripper Command:
← Back to Hash Identifier

What is NTLM?

NTLM (NT LAN Manager) is a proprietary cryptographic hash-based authentication protocol developed by Microsoft in the early 1990s as part of its Windows NT operating system suite, designed to replace earlier LAN Manager (LM) hashing schemes. The protocol primarily operates in two flavors: NTLMv1 and NTLMv2, with NTLMv1 being the most widely criticized due to its vulnerabilities. Structurally, NTLMv1 employs a three-step challenge-response mechanism: the client sends a hash of the user’s plaintext password (using MD4) to the server, which then generates a session key by combining this hash with a server-challenged nonce. The client encrypts this nonce using the session key and returns it for verification, ensuring mutual authentication without transmitting the password itself. While NTLMv2 introduced minor improvements—such as a salted hash and message integrity checks—it retained core design flaws, and both versions rely on a predictable MD4-based hashing process, making them susceptible to offline attacks.

The primary vulnerability of NTLM lies in its reliance on unsalted, reversible hashes (MD4 in NTLMv1) and the absence of modern cryptographic safeguards like key stretching or collision resistance. NTLMv1’s reliance on MD4 allows attackers to precompute rainbow tables or brute-force hashes efficiently, as the algorithm’s 128-bit output can be cracked in minutes using modern GPU clusters (e.g., via tools like Hashcat). Even NTLMv2’s salted hash (a 24-byte salt concatenated with the username) is insufficient due to its deterministic nature and lack of iteration counts, enabling optimized attacks like GPU-accelerated cracking. Additionally, NTLM’s reliance on symmetric encryption (DES in NTLMv1, RC4 in later versions) further weakens security, as these ciphers are susceptible to known-plaintext attacks and lack forward secrecy. The protocol’s design also fails to mitigate against replay attacks or timing-side-channel exploits, compounding its susceptibility to compromise in networked environments.

Identifying NTLM Hashes

Identifying a hash blindly is often difficult because multiple algorithms can output strings of the exact same length. For example, a standard 32-character hexadecimal string could be MD5, NTLM, MD4, or LM. To definitively identify NTLM, security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack NTLM

If you need to recover the plaintext password for a NTLM hash during a penetration test or forensics investigation, you must supply the correct module ID to your cracking software. Use the exact commands provided at the top of this page to target the hash successfully.