THE HARDENING BRIEF | Issue #001 Weekly security findings for sysadmins.
The Finding
When DNS fails to resolve a hostname, Windows doesn't stop there. It quietly falls back to LLMNR and NBT-NS, multicast protocols that broadcast the query across the entire local network segment. Any host can answer. An attacker runs Responder, responds to the query, intercepts the authentication attempt, and walks away with an NTLM hash. From there it's either offline cracking or an NTLM relay attack depending on what else is misconfigured on the network. No CVE needed. No elevated privileges. Just presence on the same subnet.
This is the first thing any decent pentester runs on day one of an internal engagement. It works in most environments because these protocols shipped enabled and nobody turned them off.
One thing worth knowing before you roll this out: disabling LLMNR and mDNS at the system level only stops Windows from using them at the OS layer. Applications can still use these protocols independently. Something like a Yealink conference room unit will usually keep working fine, but if anything breaks after rollout, that's your culprit. Test on a pilot group first and use GPO security filtering if you need to exclude specific machines rather than pulling the whole policy back.
The Fix
Disable LLMNR via GPO
Computer Configuration → Administrative Templates
→ Network → DNS Client
→ "Turn off multicast name resolution" → EnabledDisable NBT-NS (no native GPO, push via PowerShell startup script or Intune, or get the ADMX Security Templates)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\
services\NetBT\Parameters\Interfaces\tcpip*" `
-Name NetbiosOptions -Value 2
```
Disable mDNS via GPO Preferences (takes effect after reboot):
```
Computer Configuration → Preferences → Windows Settings
→ Registry
Hive: HKEY_LOCAL_MACHINE
Key: SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
Value: EnableMDNS | DWORD | 0Verify all three are actually off after rollout
netstat -nao | FIND /i ":137 " # NBT-NS
netstat -nao | FIND /i ":5353 " # mDNS
netstat -nao | FIND /i ":5355 " # LLMNRNo output means they're gone.
One Action Today
Check whether "Turn off multicast name resolution" is set to Enabled in your workstation GPO. If it says Not Configured, you're open right now.
