Heya folks, Ned here again. Beginning in Windows 11 Insider Preview Build 25951 (Canary), the SMB client now supports blocking NTLM for remote outbound connections. This changes legacy behavior, where Windows SPNEGO would negotiate Kerberos, NTLM, and other mechanisms with the destination server to decide on a supported security package. NTLM in this case refers to all versions of the LAN Manager security package: LM, NTLM, and NTLMv2.
With this new option, an administrator can intentionally block Windows from offering NTLM via SMB. An attacker who tricks a user or application into sending NTLM challenge responses to a malicious server will no longer receive any NTLM data and cannot brute force, crack, or pass hashes. This adds a new level of protection for enterprises without a requirement to entirely disable NTLM usage in the OS.
Note: This setting has no effect on loopback SMB NTLM usage, i.e. mapping a drive locally on a device with a local account.
You can configure this option with Group Policy and PowerShell. You can also block NTLM SMB connections on demand with NET USE and PowerShell.
To configure SMB NTLM blocking for the entire Windows machine, enable the group policy under:
Computer Configuration \ Administrative Templates \ Network \ Lanman Workstation \ Block NTLM (LM, NTLM, NTLMv2)
gpedit showing the group policy setting
To configure SMB NTLM blocking for the entire Windows machine with PowerShell, set with the following syntax:
Set-SMbClientConfiguration -BlockNTLM $true
To specify SMB NTLM blocking when mapping a drive with NET USE, use the following syntax:
NET USE \\server\share /BLOCKNTLM
To specify SMB NTLM blocking when mapping a drive with PowerShell, use the following syntax:
New-SmbMapping -RemotePath \\server\share -BlockNTLM $true
Connecting to Active Directory domain-joined computers with SMB while using a domain user account should always result in Kerberos authentication. Blocking NTLM should have no consequences to connectivity in this case. If you are expecting Kerberos to work when blocking NTLM and you are unable to connect, this section will help troubleshoot.
You should expect NTLM usage under the following circumstances:
The possible errors shown when NTLM blocking is preventing connection are:
67
0x43
ERROR_BAD_NET_NAME
The network name cannot be found
If you expect to connect but NTLM blocking is preventing you, use the following steps:
setspn -L FS2
Registered ServicePrincipalNames for CN=FS2,CN=Computers,DC=corp,DC=contoso,DC=com:
WSMAN/fs2
WSMAN/fs2.corp.contoso.com
TERMSRV/FS2.corp.contoso.com
RestrictedKrbHost/FS2.corp.contoso.com
HOST/FS2.corp.contoso.com
TERMSRV/FS2
RestrictedKrbHost/FS2
HOST/FS2
If still unable to connect, use a network capture tool like Wireshark to examine the client and server messages for DNS, SMB2, and Kerberos.
A later Windows Insider release will allow administrators to control SMB NTLM blocking to specific servers with an allow list. A client will be able to specify SMB servers that only support NTLM - either as non-domain members or third-party products - and allow connection.
This is part of a campaign to improve the security of Windows and Windows Server for the modern landscape. You've read my posts on SMB security changes over the past year:
For more information on securing SMB on Windows in-market, check out:
SMB support for NTLM blocking is just the first phase in a larger strategy to end NTLM usage throughout Windows. Look for more information on this in the coming weeks.
Until next time,
Ned Pyle
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.