漏洞扫描显示 MS17-010 未修复但系统已打补丁,通常因补丁安装后未重启、扫描器检测逻辑差异或系统组件状态不一致导致。建议优先验证补丁安装状态与系统重启情况,并核对扫描器检测规则,避免误报影响安全评估。
先说结论:MS17-010 扫描误报多由补丁生效条件未满足或扫描器检测方式局限引起,需结合系统命令与扫描器日志交叉验证。
- 先判断:确认补丁 KB4012212 等是否安装、系统是否重启,并检查 SMB 服务状态。
- 优先做:使用系统命令验证补丁安装记录,并对比扫描器检测插件或规则版本。
- 再验证:通过重新扫描或手动测试漏洞利用条件,确认修复状态。
命令速用版
以下命令用于快速检查补丁状态与系统配置,在 Windows 系统以管理员权限执行:
wmic qfe list | findstr "KB4012212" Get-HotFix -Id KB4012212 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" /s /f "KB4012212" sc query lanmanserver Get-Service -Name lanmanserver | Select-Object Status
为什么会这样
扫描器报告 MS17-010 未修复但补丁已安装,主要因补丁生效依赖系统重启、扫描器检测逻辑与系统实际状态不匹配。MS17-010 修复涉及内核驱动与 SMB 服务更新,若安装后未重启,部分组件仍运行旧版本;扫描器可能通过版本号、注册表或网络行为检测,若系统组策略或注册表被修改,可能干扰检测结果。
分步处理
- 验证补丁安装记录:使用
wmic qfe list或Get-HotFix命令检查 KB4012212 等补丁是否存在。若命令无返回,表示补丁未正确安装,需重新下载微软官方更新包安装。 - 检查系统重启状态:执行
systeminfo | findstr "Time"查看系统启动时间,若补丁安装时间晚于最近启动时间,需重启系统使补丁生效。 - 核对扫描器检测逻辑:查看扫描器插件说明(如 Nessus 插件 ID 82092),确认其检测方式是基于文件版本、注册表还是网络探测。若扫描器使用版本检测,可能因系统文件版本未更新而误报。
- 检查 SMB 服务与配置:运行
sc query lanmanserver确认 SMB 服务运行状态;若禁用 SMBv1(缓解措施),需确认扫描器是否将禁用 SMBv1 视为修复依据。 - 应用额外缓解措施:若补丁无法立即生效,可临时禁用 SMBv1(
Set-SmbServerConfiguration -EnableSMB1Protocol $false),但需注意可能影响旧版系统兼容性。 - 重新扫描或手动验证:在确认补丁生效且系统重启后,重新运行漏洞扫描;或在授权环境下使用 MS17-010 检测工具(如 Metasploit 模块)手动验证。
怎么验证是否生效
通过系统命令、日志与扫描结果交叉验证:执行wmic qfe list | findstr "KB4012212"返回补丁安装日期;检查事件查看器中 Windows 更新日志(路径:Applications and Services Logs\Microsoft\Windows\WindowsUpdateClient\Operational)确认安装成功;重新扫描后,若扫描器插件状态变为“已修复”或风险等级降低,表示验证通过。
常见坑
- 补丁安装后未重启系统,导致内核驱动未更新,扫描器仍检测到漏洞。
- 扫描器检测规则过时,未适配最新补丁版本,需更新插件或联系供应商确认。
- 组策略或注册表修改(如禁用 SMB 服务)可能干扰扫描器检测,需同步检查配置一致性。
- 第三方安全软件可能拦截补丁安装或扫描探测,导致状态不一致,需临时排除验证。
常见问题
如何确认 MS17-010 补丁已安装?
使用命令wmic qfe list | findstr "KB4012212"检查,若返回安装日期则表示已安装;若无返回,需重新安装微软官方更新。
扫描器误报怎么办?
先验证系统补丁状态与重启情况,再核对扫描器检测规则版本;若确认系统已修复,可联系扫描器供应商更新规则或提交误报反馈。
禁用 SMBv1 能否替代 MS17-010 补丁?
禁用 SMBv1 可缓解部分攻击向量,但不能完全替代补丁修复,因 MS17-010 涉及多个 SMB 版本漏洞,建议优先安装官方补丁。
参考来源
- Microsoft Security Bulletin MS17-010: Critical Security Update for Microsoft SMBv1 Server (4013389)
- Tenable Nessus Plugin ID 82092: Microsoft Windows SMB Registry : EternalBlue (MS17-010)
- Microsoft Docs: WMIC 命令参考