Windows 补丁漏洞审计:贴一段 systeminfo,立刻看出缺了哪些提权补丁
一台 Windows 主机,怎么 30 秒看出它缺了哪些提权补丁?
前阵子帮朋友看一台老服务器,他只知道「好像很久没更新了」,但说不清到底缺哪几个补丁。其实只要一条 systeminfo 的输出,就能反推出这台机器暴露在哪些已知提权漏洞下。这篇就讲怎么把这条命令变成一份「漏洞体检报告」。
站里对应的 Windows 补丁漏洞审计 工具干的正是这件事:把 systeminfo 粘进去,它自动解析已安装的补丁(KB)列表和系统版本,比对内置漏洞库,列出仍缺失的已知提权 / 远程代码执行补丁。这篇负责把背后的逻辑讲清楚。
再次强调:以下一切操作,只可用于你拥有合法授权的资产自查与授权安全评估。把漏洞审计用于未授权目标是违法的,本教程与工具不承担任何滥用后果。
systeminfo 里到底藏着什么
在目标 Windows 上跑一条 systeminfo(或 systeminfo > si.txt 存成文件),输出里最关键的就三样东西:
| 字段 | 中英文表头 | 审计里的用处 |
|---|---|---|
| 操作系统名称 | OS 名称 / OS Name | 判断是 Win10 / Win11 / Server,决定哪些 CVE 适用 |
| 版本与 Build 号 | OS 版本 / OS Version | 如 10.0.18363 … Build 18363,用于更精细的版本过滤 |
| 已装修补程序 | 修补程序 / Hotfix(s) | 列出形如 KB5001234 的补丁,这是比对的核心 |
一段真实的输出长这样(节选):
Host Name: DESKTOP-TEST
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.18363 N/A Build 18363
System Type: x64-based PC
Hotfix(s): 2 Hotfix(s) Installed.
[01]: KB4498523
[02]: KB4507455
注意最后两行:这台机器只装了两个 KB。这意味着大量修复提权漏洞的补丁它都没打——下面我们就是用这个信号来反推风险。
核心思路:没装的补丁 = 没堵上的洞
微软每个安全更新都对应一个或多个 CVE,而更新又用一个 KB 编号来标识。于是存在一条链路:
CVE → 修复它的 KB → 这台机器装没装这个 KB → 没装就还暴露在该漏洞下
只要有一份「CVE ↔ 修复 KB ↔ 适用系统/版本」的映射库,就能从 systeminfo 反推出:哪些已知漏洞的补丁这台机器没装。这正是社区工具 wesng(Windows Exploit Suggester - Next Generation)的思路,本工具把它搬到了浏览器里,数据不出本机。
整个流程见下图——从输入到输出一共五步:
逐步说明:
- 输入:粘贴或上传 systeminfo。中英文输出都认,KB 号按
KB\d+正则提取。 - 解析:拆出操作系统名称、Build 号、已装 KB 集合。Build 号优先取
Build 18363这种写法,其次退而取10.0.18363里的第三段。 - 过滤:用 OS 名称 + Build 把明显不适用本机的 CVE 先剔除。比如 SMBGhost 只影响 Build 18362/18363(Win10 1903/1909),Zerologon 只命中域控(Windows Server)。
- 比对:对剩下的每条 CVE,看它的修复 KB 列表里有没有任意一个已在已装集合里——只要装了一个,就认为该漏洞已修补。
- 输出:没装补丁的漏洞被列出,并标出类型(提权 EoP / 远程代码执行 RCE)、是否有公开利用、以及建议安装的补丁号,按「有公开 EXP」优先排序。
补丁缺失型,不等于全部 —— 它和 PowerUp 是什么关系
很多人会问:那无引号服务路径、可写服务、AlwaysInstallElevated 这些,工具怎么不报?答案是——它们根本不在 systeminfo 里,属于另一条排查路径。两者关系见下图:
简单说:本工具负责「补丁维度」——哪些已知 CVE 因为没打补丁还敞着口;PowerUp(Windows)/ linpeas(Linux)负责「配置维度」——服务路径、计划任务、SUID 这些写错的地方。打点提权时两条路都要走,缺一个都可能漏掉最顺手的那个口子。如果你对 PowerUp 和 linpeas 里那些检查函数到底是干什么的感兴趣,可以看 内网渗透实战手册 里「③ 权限提升」那一节。
亲手跑一遍:示例 systeminfo 会报出什么
回到开头那段 Win10 1909(Build 18363)、只装了 KB4498523 和 KB4507455 的输出。把它贴进工具点「开始分析」,会命中的典型漏洞包括:
- CVE-2020-0796 SMBGhost(RCE):只影响 1903/1909(Build 18362/18363),修复补丁是
KB4551762,这台没装 → 命中。 - CVE-2021-34527 PrintNightmare(RCE):影响全部受支持 Windows,修复补丁如
KB5004945等,这台都没装 → 命中。 - CVE-2021-36934 HiveNightmare(EoP):SAM 配置单元权限过宽,普通用户可读出哈希,修复补丁如
KB5004945/KB5004238,这台没装 → 命中。 - CVE-2017-0143 EternalBlue(RCE):SMBv1 远程代码执行,修复补丁如
KB4012212,这台没装 → 命中。 - 以及 MSHTML(CVE-2021-40444)、CLFS 系列、Win32k 系列 等多个提权 / RCE——它们各自的修复 KB 这台机器全都没装。
工具不会把 13 个一股脑甩给你,而是按「有公开 EXP」优先排序,并把每个漏洞建议安装的补丁号直接列出来,一个按钮就能复制。这样你拿到结果的第一反应不是「这都啥」,而是「先去装 KB4551762、KB5004945……」。
想自己试,把下面这段存成 si.txt 直接上传,或粘进工具点「填入示例」即可(工具自带示例就是它):
Host Name: DESKTOP-TEST
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.18363 N/A Build 18363
System Type: x64-based PC
Hotfix(s): 2 Hotfix(s) Installed.
[01]: KB4498523
[02]: KB4507455
怎么用这个工具(三步)
- 取数据:在目标 Windows 上运行
systeminfo或systeminfo > si.txt,把输出拿回来。 - 粘进去:打开 Windows 补丁漏洞审计,粘贴 / 上传 / 点「填入示例」,点「开始分析」。
- 读结果 + 更新库:看命中的 CVE、点官方公告链接确认细节、按「建议安装」的补丁号去打;库过期时点「更新数据」刷新。
工具的「更新数据」给你三种刷新方式:填一个最新数据库 JSON 地址直接拉取、导入本地 JSON 文件、或一键「恢复内置」。数据库格式和内置结构一致(每条含 CVE 编号、标题、类型、修复 KB 列表、适用系统),你也可以自己维护一份更全的库。
数据从哪来、准不准
内置库是一份精选静态快照,只收录「有公开提权 / 远程代码执行利用」且「能凭 systeminfo 的 KB 列表判断是否缺失」的 Windows 操作系统级漏洞(内核、打印后台处理、SMB、CLFS、Win32k 等)。之所以聚焦这一类,是因为它们对「打点拿权限」最直接,也最容易被 systeminfo 这一个输入就识别出来。
但有两件事它做不到,要心里有数:
- 它查不出配置类弱点(无引号服务路径、可写服务等)——那是 PowerUp 的活,见上文图 2。
- 它不能替代完整漏扫器,只是「补丁维度」的快速体检。
常见问题(FAQ)
Q:工具说「缺 KB」就一定是漏洞吗? 不一定。两种情况下会误报:①某些累积更新 / 服务栈更新把多个修复合在一起,KB 号不同但已包含该修复;②漏洞仅在特定配置下可利用(比如需要某个服务开启)。所以结果要结合官方公告判断,工具给出的是「疑似未修补」清单,不是板上钉钉的利用点。
Q:为什么只报提权(EoP)和 RCE,不报别的? 因为这两类对拿权限最直接、危害最大,也是红队 / 蓝队最关心的。信息泄露、拒绝服务类通常不在「打点提权」的考量里,报了反而淹没重点。
Q:配置类弱点(无引号服务路径、可写服务)为什么查不到? 那是配置维度,不是补丁维度。systeminfo 看不出服务路径有没有空格、注册表里有没有 AlwaysInstallElevated。这类交给 PowerUp / winpeas(内网渗透教程 有详解)。本工具和它们互补,不是取代。
Q:中文版 systeminfo 能识别吗?
能。解析时同时兼容中英文表头(OS 名称 / OS Name、修补程序 / Hotfix),KB 号按 KB\d+ 提取,跟输出语言无关。
Q:数据库多久更新一次?怎么保持新? 内置是精选快照。点「更新数据」可填入最新数据库 JSON 地址拉取,或导入本地 JSON;红队也可以自己维护一份更全的库,格式与内置结构一致。
Q:这跟 wesng、Windows-Exploit-Suggester 什么关系? 思路一样——「吃 systeminfo,吐缺失补丁」。区别是它跑在浏览器里、数据不出本机,且只聚焦有公开 EXP 的提权 / RCE,避免被一堆低相关 CVE 淹没。
相关工具
- Windows 补丁漏洞审计:本篇配套工具,粘 systeminfo 出缺失补丁清单
- 内网渗透命令生成器:提权阶段的 PowerUp / linpeas 用法与命令库(含权限提升章节)
- Windows 常用命令 / Linux 提权枚举:命令语法速查
- 应急响应工具箱:授权测试结束后的复盘与加固参考