ProjectDiscovery组织开发的CVEMap 是一个开源命令行界面 (CLI) 工具,可让您探索常见漏洞。它旨在提供一个简化且用户友好的界面来导航漏洞数据库。
cvemap的CVE 数据集每 6 小时更新一次,cvemap 结合了多个公共来源的数据,分别是:
环境:需要go1.21版本安装步骤如下:
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
go version
方式一:下载对应系统架构的发行版本
方式二:使用go安装go install github.com/projectdiscovery/cvemap/cmd/cvemap@latest
CVEMap CLI 建立在 CVEMap API 之上,该 API 需要来自 ProjectDiscovery Cloud Platform 的 API 令牌,可以使用命名的环境变量或使用交互式选项进行配置,如下所示
export PDCP_API_KEY=*************
cvemap -auth
如何获得ProjectDiscovery Cloud Platform的API key呢?
进入projectdiscovery云平台点击右上角头像按钮使用google或github账号或者注册一个邮箱账号进行登录登录后点击头像点击API key复制即可获得
cvemap -h
这将显示工具的帮助,这是cvemap所支持的所有选项,如图示
用法: cvemap [标志]
标志:
配置:
-auth 配置projectdiscovery cloud (pdcp) api 密钥
选项: -id string[] cve 列出给定的 id
-v, -vendor string[] cve 列出给定供应商
-p, -product string[] cve 列出给定产品
-eproduct string[] cves 根据产品排除
-s, -severity string[] cve 列出给定的严重性
-cs, -cvss-score string[] cve 列出给定的 cvss 分数
-c, -cpe 列出给定 cpe 的字符串 cve
-es, -epss-score 列出给定 epss 分数的字符串 cve
-ep, -epss-percentile string[] cve 列出给定的 epss 百分位数
-age string cve 列出按给定年龄(以天为单位)发布的内容
-a, -assignee string[] cve 列出给定发布者
-vs, -vstatus 值 cve,列出 cli 输出中给定漏洞状态。支持:未知、新、已确认、未确认、已修改、已拒绝
更新:
-up, -update 将 cvemap 更新到最新版本
-duc, -disable-update-check 禁用自动 cvemap 更新检查
筛选:
-q, -search 在 cve 数据中搜索字符串
-k、-kev 显示被 cisa 标记为可利用漏洞的 cve(默认 true)
-t、-template 显示具有公共核模板的 cve(默认 true) -poc 显示已公开发布 poc 的 cve(默认 true)
-h1, -hackerone 显示 hackerone 上报告的 cve(默认 true)
输出:
-f, -field 要在 cli 输出中显示的值字段。支持:age、kev、template、poc、cwe、epss、受让人、产品、供应商
调试:
-version 版本
-silent 纯净的启动不显示任何提示信息
-verbose 详细
cvemap
默认情况,列出cisa发布的所有基于 CVE 的已知被利用漏洞。
cvemap -limit 10
列出最常被利用的10条已知漏洞
cvemap -h1
或者cvemap -hackerone
列出 HackerOne 上的热门 CVE
cvemap -product chrome -l 5
列出chrome的5条记录,-product选项指定软件类型
cvemap -severity critical -field assignee,vstatus,poc -l 5
指定严重程度为严重,在默认显示的条目中再加入assignee,vstatus,poc三项条目的5条记录
cvemap -silent -cs '> 7' -es '> 0.00053' -l 5
纯净的(不显示任何提示信息)列出漏洞严重评级大于7且利用程度评级大于0.00053的5个记录
cvemap -silent -template=false -poc=true -kev=true -l 5 -f poc,kev
纯净的列出在默认条目显示的情况下添加poc和kev条目且没有公共模板,有公共poc且在kev列表里的5个记录
cvemap -kev -limit 10 -list-id
仅列出10条CVE ID且在kev列表里
注:kev列表是被cisa标记为可利用漏洞的cve列表
echo CVE-2024-21887 | cvemap -json
以json格式输出有关CVE-2024-21887漏洞的内容
(信息量大仅展示部分内容)
cvemap -q '"remote code execution" 2023 is_remote:true is_poc:true sort_asc:age_in_days'
高级过滤,显示2023年远程代码执行的有poc且以cve年龄升序排序的cve列表
https://docs.projectdiscovery.io/tools/cvemap/running