Sous Windows 11, les accès SMB vont être protégés contre les attaques NTLM
Microsoft continue de renforcer la sécurité de son système Windows 11 : cette fois-ci, l'entreprise américaine s'attaque à deux protocoles : NTLM et SMB. L'objectif est clair : réduire les risques d'attaques.
Microsoft a dévoilé une nouvelle option de sécurité intégrée à Windows 11 Insider Preview (Build 25951) qui va permettre aux administrateurs d'empêcher le client SMB de Windows de tenter une connexion avec le protocole d'authentification NTLM : "Avec cette nouvelle option, un administrateur peut intentionnellement empêcher Windows de proposer NTLM via SMB.", peut-on lire dans l'article de Microsoft.
Avec cette couche de sécurité supplémentaire qui empêche l'attaquant de récupérer le hash NTLM du compte de l'utilisateur (via une capture réseau, un serveur malveillant, etc.), Microsoft veut bloquer certaines attaques populaires comme pass-the-hash et NTLM relay, ainsi que les attaques brute force sur les hash NTLM.
Pour rappel, lorsque Windows tente de se connecter à un partage SMB distant, l'authentification est susceptible d'être effectuée via le protocole NTLM qui s'appuie un mécanisme de challenge-response, lors duquel le hash du mot de passe l'utilisateur est transmit au serveur distant.
"Un attaquant qui incite un utilisateur ou une application à envoyer des réponses NTLM à un serveur malveillant ne recevra plus de données NTLM et ne pourra pas brute forcer, craquer ou utiliser la technique pass-the-hash.", précise Microsoft.
Plutôt que de totalement désactiver NTLM au profit de Kerberos, Microsoft estime que ce nouveau paramètre offre une étape intermédiaire puisque l'on sécurise les accès SMB (partage de fichiers). Dans une précédente version de Windows 11 Insider Preview, Microsoft avait activé les signatures SMB par défaut, pour toutes les connexions, afin d'élever le niveau de sécurité des connexions SMB.
Comment bloquer NTLM via SMB ?
Ce nouveau paramètre mis en place par Microsoft est configurable par GPO mais aussi avec PowerShell et NET USE. Via une stratégie de groupe, il s'agit du paramètre nommé "Block NTLM (LM, NTLM, NTLMv2)".
Sur l'image ci-dessous, vous pouvez aussi remarquer un paramètre nommé "Mandate the minimum version of SMB" pour définir une version de SMB minimale et ainsi bloquer les versions obsolètes du protocole SMB (comme SMBv1 !).
Ce paramètre de GPO peut être remplacé par une commande PowerShell pour désactiver "NTLM over SMB" sur l'ensemble de la machine :
Set-SMbClientConfiguration -BlockNTLM $true
Même s'il est possible de bloquer NTLM uniquement sur un partage spécifique, avec le nouveau paramètre de la commande New-SmbMapping :
New-SmbMapping -RemotePath \\server\share -BlockNTLM $true
La traditionnelle commande NET USE a aussi le droit à ce nouveau paramètre :
NET USE \\server\share /BLOCKNTLM
Par la suite, Microsoft devrait ajouter d'autres paramètres, notamment pour permettre de définir une liste de serveurs autorisés à faire du NTLM afin de gérer les cas particuliers.
En principe, en environnement Active Directory, lorsqu'une machine se connecte à un serveur, que ce soit en SMB, en RDP, etc... l'authentification doit être effectuée avec le protocole Kerberos. Toutefois, Kerberos ne peut être utilisé que si vous utilisez le nom d'hôte complet (nom DNS) de la machine distante. Si vous utilisez l'adresse IP ou le nom court, NTLM sera utilisé...