kb123(Windows中如何使用PatchChecker检测漏洞)

发布时间:2025-12-11 00:41:09 浏览次数:1

PatchChecker

PatchChecker是一款基于Web的Windows漏洞检测工具,该项目代码目前以网络服务的形式托管在https://patchchecker.com上。简而言之,PatchChecker是一个基于Flask实现的Web应用程序,它所提供的输出内容类似于Watson。但是,通过使用PatchChecker,我们将不需要在目标计算机上执行二进制文件。除此之外,该项目还提供了一个Web爬虫,它可以使用Microsoft站点上的信息自动更新PatchChecker的数据库,这样不仅可以帮助我们以最快最简单的方式找出目标Windows系统中安装(或未安装)补丁的CVE漏洞问题,而且还提供了一个更具可伸缩性和更易于使用的解决方案。当然了,其他任何的CVE漏洞信息都可以添加到数据采集器输入中,并且只要它们在https://portal.msrc.microsoft.com上存在有一个条目就可以进行CVE检查了。更重要的是,我们也可以使用PatchChecker提供的信息来更新Watson。

如何使用PatchChecker来检测Windows漏洞

在PatchChecker的帮助下,我们可以直接访问公开托管PatchChecker的【站点】,或者使用下列命令将该项目源码克隆至本地,然后安装相应的依赖库:

gitclonehttps://github.com/deadjakk/patch-checker.git

此时,我们还需要确保patches.db跟app.py存储在同一目录下,然后使用下列命令开启应用程序:

python3./app.py

应用程序启动之后,我们可以在浏览器中打开项目文件中的index.html文件,此时浏览器将会激活PatchChecker服务,并获取目标系统中存在安全问题的补丁或者CVE漏洞。

获取KB数据:

期望的输入:

期望的web页面输出:

找到漏洞后,期望的Web页面输出:

或者说,我们也可以使用一个curl命令并发送类似如下请求来实现相同的效果。

请求:

curl'https://patchchecker.com/checkprivs/'--data-raw'wmicinfo=KB1231411KB1231441KB1234141&build_num=17763'

响应:

{"total_vuln":9,"kbs_parsed":["KB1231411","KB1231441","KB1234141"],"total_kbs_parsed":3,"build":"17763","results":[{"refs":["https://exploit-db.com/exploits/46718","https://decoder.cloud/2019/04/29/combinig-luafv-postluafvpostreadwrite-race-condition-pe-with-diaghub-collector-exploit-from-standard-user-to-system/"],"name":"CVE-2019-0836","vulnerable":true}]}

如果你想要在本地运行该工具的话,别忘了在克隆好项目代码之后运行下列命令来配置依赖组件(支持Python 3.7.3):

python3-mpipinstall-rrequirements.txt

数据收集:patchdata_collector.py

patchdata_collector.py脚本是一个pyppeteer爬虫,它可以遍历多个微软站点来获取--cve-list参数文件中指定的CVE漏洞信息。大家可以查看项目samples目录中的cves.txt文件格式来了解如何提供输入数据,其中每一行包含一条数据,数据格式如下:

CVE-XXXX-XXXX|https://website.com/resource-pertaining-to-CVE,http://second_resource.com

在时间上,如果提供数据包含9个CVE漏洞条目,则大约需要11分钟来完成任务。

patchdata_collector.py使用:

usage:patchdata_collector.py[-h]--cve-listCVE_LIST[--dbDB][--new-db][-v][-vv][--no-headless][--jsonJSON]optionalarguments:-h,--helpshowthishelpmessageandexit--cve-listCVE_LISTlineandpipeseparatedlistcontainingCVEsandrelated-URLswithinformationexample:CVE-2020-1048|https://github.com/ionescu007/faxhell,https://github.com/ionescu007/PrintDemon--dbDBsqlitedatabasefilename--new-dberasesolddatabase(ifexists)-vsetoutputtodebug(verbose)-vvsetoutputtoannoying--no-headlessrunbrowserwithheadlessmodedisabled--jsonJSONjsonformatoutput,argumentshouldbejsonfilename

运行样例

首先,我们需要运行下列命令:

time./patchdata_collector.py--cve-listcves.txt--dbantest.db--new-db

命令执行后的输出结果如下:

2020-06-0520:38:49.292|INFO|__main__:main:181-Loaded10CVEs2020-06-0520:38:49.430|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-08362020-06-0520:40:27.183|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-10642020-06-0520:41:07.158|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-08412020-06-0520:41:31.675|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-11302020-06-0520:42:58.527|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-12532020-06-0520:43:25.069|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-13152020-06-0520:44:57.974|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-13852020-06-0520:45:22.026|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-13882020-06-0520:46:48.407|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2019-14052020-06-0520:48:07.026|INFO|__main__:parsekb:33-ParsingKBsfor:CVE-2020-1048finishedreal11m27.793suser1m21.632ssys0m14.559s

看完上述内容,你们对Windows中如何使用PatchChecker检测漏洞有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注本站行业资讯频道,感谢大家的支持。

kb123
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477