作者: w01f
版本: 1.0
用途: 审计、加固并搜寻不安全的 NTLM/SMB 使用,以降低诸如 CVE-2025-50154 等风险。
严重程度: 高
类型: NTLM 凭据泄露 + 补丁绕过(零点击)
影响系统: Windows 10/11,Windows Server
摘要:
CVE-2025-50154 是对微软先前针对 CVE-2025-24054 补丁的绕过。即便已应用之前的缓解措施,精心构造的文件或 UNC 路径仍可触发 Windows 资源管理器 获取远程资源,并在无任何用户交互(零点击)的情况下发起 NTLM 身份验证。
这可能导致:
为何重要: 这一绕过程序表明,攻击者仍可通过资源管理器的资源处理机制利用遗留身份验证路径。因此,加固 NTLM 和 SMB 客户端行为,并监控可疑的由资源管理器发起的连接,至关重要。
.\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
以下是一些可直接使用的检测查询,用于识别可能与 CVE-2025-50154 利用模式相关的可疑 NTLM/SMB 使用。
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 且目标为许可列表之外的 TCP 445/139 端口。.lnk 文件。本工具包仅供教育和防御性安全用途。
未经变更控制和测试,请勿在生产环境中使用。