WES-NG 是一款基于 Windows systeminfo 命令输出的工具,能够列出操作系统当前存在的漏洞(包括对应的利用程序)。支持 Windows XP 到 Windows 11 的所有 Windows 操作系统及其服务器版本。
BITSADMIN 博客上有一篇关于 WES-NG 的深入文章: Windows Security Updates for Hackers。
pip install wesng 或使用以下命令行下载 WES-NG:git clone https://github.com/bitsadmin/wesng --depth 1wes.py --update 获取最新的漏洞数据库。missingkbs.vbs 或 missingkbs.ps1,让 Windows 自行判断哪些补丁缺失。
b. 使用 Windows 自带的 systeminfo.exe 工具获取本地系统信息,或通过 systeminfo /S MyRemoteHost 获取远程系统信息,并将结果重定向到文件:systeminfo > systeminfo.txtmissing.txt 文件作为输入:wes.py --missing missing.txt(或 wes.py -m missing.txt)
b. 以 systeminfo.txt 文件作为参数:wes.py systeminfo.txt
WES-NG 随后使用数据库判断系统需要哪些补丁、当前暴露在哪些漏洞下(以及是否存在对应的利用程序)。wes.py 会报告误报,因此 @DominicBreuker 贡献了 --muc-lookup 参数,可根据 systeminfo.txt 文件识别的缺失补丁与微软更新目录进行比对验证。此外,请务必查看 Wiki 中的 消除误报 页面,了解如何解读结果。
有关 missingkbs.vbs、missingkbs.ps1 和 wes.py 所有可用参数的概述,请查看 CMDLINE.md。
此 GitHub 仓库会定期更新漏洞数据库,因此运行 wes.py 时加上 --update 参数即可获取最新版本。
如果需要手动生成包含修补程序信息的 .csv 文件,请使用 /collector 文件夹中的脚本来编译数据库。阅读每个脚本顶部的注释,并按下面列出的顺序执行。执行这些脚本将生成 definitions.zip。
WES-NG 收集器从多个来源获取信息:
我开发 WES-NG 是因为 GDSSecurity 的 Windows-Exploit-Suggester 在 Windows XP 和 Windows Vista 时代表现出色,但对于 Windows 11 等操作系统以及近年发布的漏洞已无法支持。这是因为微软用 MSRC API [2] 取代了 GDSSecurity Windows-Exploit-Suggester 完全依赖的 Microsoft 安全公告数据 Excel 文件 [1]。Microsoft 安全公告数据 Excel 文件自 2017 年第一季度以来未再更新,因此无法检测较新的操作系统和漏洞。感谢 @gdssecurity 多年来为我们提供的优秀工具!
参见 CHANGELOG.md
Get-SystemInfo cmdlet 输出的支持systeminfo 其他输出格式(csv、table)的支持[1] https://www.microsoft.com/download/details.aspx?id=36982
[2] https://portal.msrc.microsoft.com/en-us/developer
[3] https://nvd.nist.gov/vuln/data-feeds
[4] https://www.exploit-db.com/
作者:Arris Huijgen (@bitsadmin - https://github.com/bitsadmin/)