根据 2023 IT 运维白皮书统计,76% 的 IT 人员每月至少花费 2 小时在补丁搜索上,而使用正确的命令工具可将缺失补丁识别时间从数小时缩短至 10 分钟内。
原因分析
Windows 系统缺失安全补丁的识别困难主要源于三个方面:首先,微软官方已停止对 Windows Server 2008 R2 和 Windows Server 2012 R2 的补丁更新推送,即使开启自动更新也无法获取最新补丁;其次,补丁存在依赖关系,安装某个补丁可能需要前置补丁,如 KB3149090 就有明确的前置补丁要求;第三,系统自带更新历史记录显示不完全,部分 servicing stack 补丁(如 10.0.19041.2905)无法直接识别补丁编号。
解决方案
方法一:使用 systeminfo 命令提取已安装补丁
1. 按住 Win 键,输入 cmd 打开命令提示符窗口(需以管理员身份运行)
2. 输入命令systeminfo并回车,等待加载完成后查看"修补程序"部分
3. 将输出重定向到文件便于分析:systeminfo > systeminfo.txt
4. 补丁识别规则:通常以字母 K 开头的序列号即为补丁名称(如 KB5026361)
方法二:使用 WES-NG 工具自动分析缺失补丁
1. 下载 WES-NG 的 wes.py 脚本(支持 Python 2/3)
2. 首先使用--update参数下载最新定义文件:python wes.py -u,该参数会将最新的 definition.zip 文件下载到当前目录
3. 使用 systeminfo.txt 文件执行分析:python wes.py systeminfo.txt
4. 可选过滤参数:--impact"远程代码执行"(简写:-i)仅显示远程代码执行漏洞;--exploits-only(简写:-e)仅显示有可用漏洞利用代码的漏洞;--output(简写:-o)将结果以 CSV 格式存储到磁盘
方法三:通过微软官方补丁库验证
1. 访问 Microsoft Update Catalog:https://catalog.update.microsoft.com/Home.aspx
2. 在搜索框输入 KB 编号(注意不要带空格,如 KB5026361 不是 5026361)
3. 筛选关键信息:系统版本(如 Win10 21H2)、架构(x86/x64/ARM64)、语言(中文版补丁通常带-zh-cn 后缀)
4. 查看 Package Details 获取补丁的替换信息和依赖的前置补丁信息
注意事项
1. WES-NG 误报问题:即使在完全打补丁的系统上,WES-NG 可能仍会显示一些 KB 缺失,这是因为 WES-NG 用来编译其定义的 MSRC 提要经常包含有关 KB 替换的不完整信息
2. 功能角色误判:如果检查没有安装任何角色和功能的普通 Windows 服务器,WES-NG 可能会报告操作系统上没有安装 KB 的 IIS 漏洞,因为它假设所有功能都已安装
3. 安装报错处理:安装补丁时可能遇到错误码 0x800b0109,提示"必须更新 windows 模块安装程序才能安装此软件包",此时需先安装前置补丁
4. 手动安装命令:下载的.msu 文件可双击运行,或用命令行:wusa windows10.0-kb5026361-x64.msu /quiet /norestart
5. 查看缺陷:控制面板显示的更新有些有补丁编号(如 kb50*******),但有些显示内部版本号无法直接识别,建议优先使用 systeminfo 命令查询
参考来源
来源:2023 IT 运维白皮书 - 补丁搜索时间与下载行为统计数据
来源:Microsoft Update Catalog - 官方补丁库使用指南(2025 年 7 月 23 日)
来源:GitHub WES-NG 项目 - 自动化分析 Windows 系统缺失补丁工具文档(2022 年 3 月 6 日)
来源:微软官方安全更新指南 - 补丁依赖与替换信息查询(2023 年 11 月 24 日)