
Auteur : w01f
Version : 1.0
Objectif : Auditer, durcir et rechercher les usages non sécurisés de NTLM/SMB afin d'atténuer les risques tels que CVE-2025-50154.
Sévérité : Élevée
Type : Fuite d'identifiants NTLM + contournement de correctif (Zero-Click)
Systèmes affectés : Windows 10/11, Windows Server
Résumé :
CVE-2025-50154 est un contournement du correctif précédent de Microsoft pour CVE-2025-24054. Même avec l'atténuation précédente, un fichier ou un chemin UNC spécialement conçu peut amener Explorateur Windows à récupérer une ressource distante et à initier une authentification NTLM sans aucune interaction utilisateur (zero-click).
Cela peut entraîner :
Pourquoi c'est important : Ce contournement montre que les attaquants peuvent toujours exploiter les chemins d'authentification hérités via la gestion des ressources d'Explorateur. Durcir le comportement des clients NTLM et SMB, ainsi que surveiller les connexions suspectes initiées par Explorer, est essentiel.
.\NTLM_SMB_HardeningToolkit.ps1 -Mode Audit -AllowlistCIDRs "10.0.0.0/8,192.168.0.0/16" -HoursBack 24 -ExportJson .\ntlm_audit.json
.\NTLM_SMB_HardeningToolkit.ps1 -Mode Harden -AllowlistCIDRs "10.0.0.0/8,192.168.0.0/16" -SampleHosts "filesrv01.corp,10.0.5.20"
.\NTLM_SMB_HardeningToolkit.ps1 -Mode Revert
Vous trouverez ci-dessous des requêtes de détection prêtes à l'emploi pour identifier les usages suspects de NTLM/SMB potentiellement liés aux schémas d'exploitation de CVE-2025-50154.
DeviceNetworkEvents
| where InitiatingProcessFileName =~ "explorer.exe"
| where RemotePort in (445, 139)
| where not(RemoteIP in ("10.0.0.0/8","172.16.0.0/12","192.168.0.0/16"))
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName
let lnk = DeviceFileEvents
| where FileName endswith ".lnk"
| where FolderPath has @"\Users\" and FolderPath has @"\Desktop";
let smb = DeviceNetworkEvents
| where RemotePort in (445,139)
| where InitiatingProcessFileName =~ "explorer.exe";
lnk
| join kind=innerunique (smb) on DeviceId
| where smb.Timestamp between (lnk.Timestamp .. lnk.Timestamp + 5m)
| project DeviceName, lnk.Timestamp, smb.Timestamp, FolderPath, RemoteIP
DeviceLogonEvents
| where LogonType == "Network"
| where AuthenticationPackage =~ "NTLM"
| summarize count() by DeviceName, RemoteIP, AccountUpn, bin(Timestamp, 10m)
| order by count_ desc
explorer.exe vers TCP 445/139 en dehors de la liste d'autorisation..lnk sur les bureaux des utilisateurs.Ce toolkit est fourni uniquement à des fins éducatives et de sécurité défensive.
Ne l'utilisez pas en environnement de production sans contrôle des changements et tests.