This episode dissects NTLM as a legacy authentication protocol: the challenge-response mechanism, the difference between NTLMv1 and NTLMv2, the risks of pass-the-hash and relay attacks, how to detect NTLM usage, and strategies for disabling NTLM via Group Policy and its alternatives.

In episode 13 we dissected Kerberos — the modern, ticket-based authentication protocol that is AD's standard. Now it's time to face the other side that can't be ignored: NTLM, the legacy protocol that still lives in almost every Windows environment, even though we'd all like it to retire.
Why is it still relevant to study? Because as long as there are old devices or applications that don't support Kerberos, NTLM will remain an available authentication path — and every available path is an attack surface. You can't turn off something you don't understand, and you can't secure an environment you don't realize still uses NTLM.
Imagine NTLM as an emergency door installed decades ago. It used to be the only door; now it's ancient and easy to bypass, but some building occupants still use it because it's convenient. Your job as an AD admin is to map who still uses that door, push them toward the safe main entrance, then lock that emergency door forever.
Unlike ticket-based Kerberos, NTLM uses a challenge-response mechanism — a kind of riddle that must be answered. The flow is three steps:
The crucial point: what's sent isn't the password, but the password's hash (the NT hash) used as the encryption key. That's where the biggest weakness lies — because it's this hash that can actually be stolen and replayed, as we'll see shortly.
Client --> Server : NEGOTIATE (I want NTLM authentication)
Server --> Client : CHALLENGE (here's a random nonce for you)
Client --> Server : AUTHENTICATE (response = hash(nonce, NT hash of password))
Server : verifies with the hash it holdsNTLM comes in two main versions. Both have problems, but not equally severe:
| Aspect | NTLMv1 | NTLMv2 |
|---|---|---|
| Era | Early Windows NT | Since Windows 2000 |
| Response strength | Vulnerable to brute force and fast cracking | Harder to crack |
| Server timestamp | Weaknesses in the NT hash format | Protects response integrity with session security |
| Status | Must be disabled | Should be minimized |
NTLMv1 is considered severely broken — its key is too short and modern cracking techniques (e.g. with GPUs) can break it in minutes. NTLMv2 is much better, but still inherits the structural weaknesses of the NTLM family: no mutual authentication and credentials that can be abused.
NTLM's problem isn't just cryptography — it opens up several of the most popular attack techniques in the AD attacker world:
1. Pass-the-Hash. An attacker who steals an NT hash (e.g. from a memory dump on one machine) doesn't need to know the real password. They can just use that hash directly to log into other systems that accept NTLM. The hash is a "key copy" that can be used repeatedly — and since NTLM only verifies the hash, the real password is never needed.
2. NTLM Relay Attack. Instead of using the hash, the attacker forwards a legitimate challenge-response. Picture the attacker standing in the middle and connecting two ends of a conversation: they get machine A to authenticate to them, then forward that proof to machine B. Machine B believes the attacker is machine A. Without mutual authentication, no party can detect the deception.
3. No mutual authentication. A fake server can pretend to be a legitimate service to capture credentials — exactly what Kerberos prevents with AP-REP.
4. Weak cryptography. NTLMv1 can be cracked; even NTLMv2 is only as strong as the NT hash that's sent, which lacks the salt protection of modern hashes.
All of these attacks are the reason behind every recommendation we covered in episode 12 — Protected Users disables NTLM, and you should disable NTLM in your environment.
Before disabling NTLM, you need to know who is still using it. The NTLM audit policies in GPO provide three modes that work like a traffic light:
The setting's location in the GPO Editor: Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options, on the settings starting with Network security: Restrict NTLM....
With auditing active, NTLM events are recorded in the event log. A quick way to read those records is Get-WinEvent:
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=8004} -MaxEvents 20 |
Select-Object TimeCreated, MessageEvent 8004 indicates a client successfully authenticated via NTLM (not all such events are dangerous — some modern applications still use it for certain scenarios, e.g. interactive logons to machines without a domain trust). Events 8001, 8002, and 8003 give similar context for different client and server types. Collect data for one to two weeks in a real environment before making decisions.
Disabling NTLM isn't a one-way switch — it's a gradual process with a rollback path. The recommended sequence:
Deny domain accounts, then watch for breakage. If clean, proceed to Deny all.Important
Don't blindly disable NTLM for all accounts. Some legitimate scenarios still depend on it — for example, authentication to servers not joined to the domain, or certain SQL Server/Exchange versions not yet migrated. Use exceptions that are as specific as possible (per user, per host, per service), not domain-wide exceptions.
If a system can't use Kerberos, that doesn't mean you must resign to NTLM forever. Several alternative paths:
In most environments, migrating to Kerberos answers 90 percent of NTLM usage. The rest — irreplaceable legacy devices and applications — are confined to isolated network segments with minimal exceptions and strict monitoring.
Tip
One good habit: document every NTLM decision. When the audit started, which hosts were found, which applications were migrated, and what exceptions were granted along with their reasons and review dates. This documentation saves you when, a year later, someone asks "why can this host still use NTLM?"
In this episode we dissected NTLM thoroughly: the challenge-response mechanism at the protocol's core, the difference between severely broken NTLMv1 and better-but-still-weak NTLMv2, and the real risks of pass-the-hash, NTLM relay, and the absence of mutual authentication. We also learned how to detect NTLM usage via auditing and event 8004, a gradual NTLM disabling strategy via Group Policy, and its alternatives.
The takeaway: NTLM is a protocol whose time to retire has come — and the retirement process starts with awareness (auditing), not sudden prohibition. The less NTLM surface in a domain, the narrower the attacker's room to maneuver.
In the next episode 15, we shift from who gets in to what they can do once in: Access Control & Permissions — NTFS and share permissions, ACLs, inheritance, and delegating permissions within Active Directory itself. Keep the momentum going!